diff options
author | dtrainor@chromium.org <dtrainor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-26 22:22:07 +0000 |
---|---|---|
committer | dtrainor@chromium.org <dtrainor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-26 22:22:07 +0000 |
commit | e3d16a9c0169dac499df4d078a894f8cf04ea146 (patch) | |
tree | e410d7ceb275d7a73dcc69e39f30a64eb687e519 | |
parent | c24f3e40e096edf8f001aea2ba910da5aca3f8fe (diff) | |
download | chromium_src-e3d16a9c0169dac499df4d078a894f8cf04ea146.zip chromium_src-e3d16a9c0169dac499df4d078a894f8cf04ea146.tar.gz chromium_src-e3d16a9c0169dac499df4d078a894f8cf04ea146.tar.bz2 |
Merge 190768 - Don't timeout if accessibility fails
Return early if accessibility fails.
BUG=223761
NOTRY=True
Review URL: https://chromiumcodereview.appspot.com/12540011
TBR=dtrainor@chromium.org
Review URL: https://codereview.chromium.org/12984021
git-svn-id: svn://svn.chromium.org/chrome/branches/1410/src@190778 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java index cd04588..68fa548 100644 --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/JellyBeanAccessibilityInjector.java @@ -145,7 +145,15 @@ class JellyBeanAccessibilityInjector extends AccessibilityInjector { private static class CallbackHandler { private static final String JAVASCRIPT_ACTION_TEMPLATE = - "(function() { %s.onResult(%d, %s); })()"; + "(function() {" + + " retVal = false;" + + " try {" + + " retVal = %s;" + + " } catch (e) {" + + " retVal = false;" + + " }" + + " %s.onResult(%d, retVal);" + + "})()"; // Time in milliseconds to wait for a result before failing. private static final long RESULT_TIMEOUT = 5000; @@ -170,8 +178,8 @@ class JellyBeanAccessibilityInjector extends AccessibilityInjector { */ private boolean performAction(ContentViewCore contentView, String code) { final int resultId = mResultIdCounter.getAndIncrement(); - final String js = String.format(JAVASCRIPT_ACTION_TEMPLATE, mInterfaceName, resultId, - code); + final String js = String.format(JAVASCRIPT_ACTION_TEMPLATE, code, mInterfaceName, + resultId); contentView.evaluateJavaScript(js, null); return getResultAndClear(resultId); |