File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -710,7 +710,18 @@ private static class CallbackHandler {
710710 "javascript:(function() { %s.onResult(%d, %s); })();" ;
711711
712712 // Time in milliseconds to wait for a result before failing.
713- private static final long RESULT_TIMEOUT = 5000 ;
713+ // Based on recorded times, we have found that in a complex real-world
714+ // web app (such as the desktop version of Gmail), there can be spikes
715+ // of ~2600ms in the worst case. These are temporary spikes and are not
716+ // repeatable; GMail eventually settles down to around ~60ms. The
717+ // longest duration that is consistently repeatable is ~300ms when
718+ // loading extremely large plain text documents in WebView.
719+ // If this timeout hits, the navigation is considered to have "failed",
720+ // meaning there is no content. Since the longer spikes are one-off
721+ // events triggered by the page loading and itself running a large
722+ // amount of JS, subsequent runs would succeed, so the worst impact
723+ // is that the first run will look like it had not loaded yet.
724+ private static final long RESULT_TIMEOUT = 1500 ;
714725
715726 private final AtomicInteger mResultIdCounter = new AtomicInteger ();
716727 private final Object mResultLock = new Object ();
You can’t perform that action at this time.
0 commit comments