summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtrainor@chromium.org <dtrainor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-26 22:22:07 +0000
committerdtrainor@chromium.org <dtrainor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-26 22:22:07 +0000
commite3d16a9c0169dac499df4d078a894f8cf04ea146 (patch)
treee410d7ceb275d7a73dcc69e39f30a64eb687e519
parentc24f3e40e096edf8f001aea2ba910da5aca3f8fe (diff)
downloadchromium_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.java14
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);