diff options
| author | Steve Block <steveblock@google.com> | 2010-12-03 03:38:00 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-12-03 03:38:00 -0800 |
| commit | bcdf40b42fb8a4313461233d2db1eb959e2c6a70 (patch) | |
| tree | 35b3edae851d304f25c7d138d17655b61fede1df /core/java | |
| parent | cbdfd0fc0cfd539d758f0036fb9e80a9e06dcd95 (diff) | |
| parent | 544295eebc1257e8c37b80b1ea7605a7915f0f06 (diff) | |
| download | frameworks_base-bcdf40b42fb8a4313461233d2db1eb959e2c6a70.zip frameworks_base-bcdf40b42fb8a4313461233d2db1eb959e2c6a70.tar.gz frameworks_base-bcdf40b42fb8a4313461233d2db1eb959e2c6a70.tar.bz2 | |
Merge "Update WebView.addJavascriptInterface() to ignore null instances"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 8 | ||||
| -rw-r--r-- | core/java/android/webkit/WebView.java | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 9568e4f..8f92458 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -571,8 +571,11 @@ class BrowserFrame extends Handler { Iterator iter = mJSInterfaceMap.keySet().iterator(); while (iter.hasNext()) { String interfaceName = (String) iter.next(); - nativeAddJavascriptInterface(nativeFramePointer, - mJSInterfaceMap.get(interfaceName), interfaceName); + Object object = mJSInterfaceMap.get(interfaceName); + if (object != null) { + nativeAddJavascriptInterface(nativeFramePointer, + mJSInterfaceMap.get(interfaceName), interfaceName); + } } } } @@ -595,6 +598,7 @@ class BrowserFrame extends Handler { } public void addJavascriptInterface(Object obj, String interfaceName) { + assert obj != null; if (mJSInterfaceMap == null) { mJSInterfaceMap = new HashMap<String, Object>(); } diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index be475ca..be20a1c 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -3492,10 +3492,14 @@ public class WebView extends AbsoluteLayout * <li> The Java object that is bound runs in another thread and not in * the thread that it was constructed in.</li> * </ul></p> - * @param obj The class instance to bind to Javascript - * @param interfaceName The name to used to expose the class in Javascript + * @param obj The class instance to bind to Javascript, null instances are + * ignored. + * @param interfaceName The name to used to expose the class in JavaScript. */ public void addJavascriptInterface(Object obj, String interfaceName) { + if (obj == null) { + return; + } WebViewCore.JSInterfaceData arg = new WebViewCore.JSInterfaceData(); arg.mObject = obj; arg.mInterfaceName = interfaceName; |
