From 5212cd4dcdc195e96e3b376bd44e162e2b0b1b57 Mon Sep 17 00:00:00 2001 From: Andrew Grieve Date: Tue, 13 Nov 2012 12:50:15 -0500 Subject: [PATCH] Disable JS Interface on Honeycomb Fixes https://issues.apache.org/jira/browse/CB-1818 --- framework/src/org/apache/cordova/CordovaWebView.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java index 47406101..95890b18 100755 --- a/framework/src/org/apache/cordova/CordovaWebView.java +++ b/framework/src/org/apache/cordova/CordovaWebView.java @@ -274,13 +274,15 @@ public class CordovaWebView extends WebView { } private void exposeJsInterface() { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) { + int SDK_INT = Build.VERSION.SDK_INT; + boolean isHoneycomb = (SDK_INT >= Build.VERSION_CODES.HONEYCOMB && SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR2); + if (isHoneycomb || (SDK_INT < Build.VERSION_CODES.GINGERBREAD)) { Log.i(TAG, "Disabled addJavascriptInterface() bridge since Android version is old."); // Bug being that Java Strings do not get converted to JS strings automatically. // This isn't hard to work-around on the JS side, but it's easier to just // use the prompt bridge instead. return; - } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB && Build.MANUFACTURER.equals("unknown")) { + } else if (SDK_INT < Build.VERSION_CODES.HONEYCOMB && Build.MANUFACTURER.equals("unknown")) { // addJavascriptInterface crashes on the 2.3 emulator. Log.i(TAG, "Disabled addJavascriptInterface() bridge callback due to a bug on the 2.3 emulator"); return;