diff options
author | clchen <clchen@google.com> | 2012-10-11 16:15:46 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-11 16:16:56 -0700 |
commit | 4574df0c1561609785b3ce994c0135276e4d1b4b (patch) | |
tree | a0c8058e1075397c2a5573e2de3a09ffc7a3ea45 /core/java | |
parent | e8f4fa1cb3bfd68de235949080f09f9631976275 (diff) | |
parent | 2203cf3f725220e6dc930ee77dbcde4ff7d885b6 (diff) | |
download | frameworks_base-4574df0c1561609785b3ce994c0135276e4d1b4b.zip frameworks_base-4574df0c1561609785b3ce994c0135276e4d1b4b.tar.gz frameworks_base-4574df0c1561609785b3ce994c0135276e4d1b4b.tar.bz2 |
Merge "Reducing WebView navigation timeout for accessibility." into jb-mr1-dev
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/webkit/AccessibilityInjector.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/core/java/android/webkit/AccessibilityInjector.java b/core/java/android/webkit/AccessibilityInjector.java index d6576e1..37d84b3 100644 --- a/core/java/android/webkit/AccessibilityInjector.java +++ b/core/java/android/webkit/AccessibilityInjector.java @@ -710,7 +710,18 @@ class AccessibilityInjector { "javascript:(function() { %s.onResult(%d, %s); })();"; // Time in milliseconds to wait for a result before failing. - private static final long RESULT_TIMEOUT = 5000; + // Based on recorded times, we have found that in a complex real-world + // web app (such as the desktop version of Gmail), there can be spikes + // of ~2600ms in the worst case. These are temporary spikes and are not + // repeatable; GMail eventually settles down to around ~60ms. The + // longest duration that is consistently repeatable is ~300ms when + // loading extremely large plain text documents in WebView. + // If this timeout hits, the navigation is considered to have "failed", + // meaning there is no content. Since the longer spikes are one-off + // events triggered by the page loading and itself running a large + // amount of JS, subsequent runs would succeed, so the worst impact + // is that the first run will look like it had not loaded yet. + private static final long RESULT_TIMEOUT = 1500; private final AtomicInteger mResultIdCounter = new AtomicInteger(); private final Object mResultLock = new Object(); |