diff options
| author | Steve Block <steveblock@google.com> | 2010-12-07 18:18:26 +0000 |
|---|---|---|
| committer | Steve Block <steveblock@google.com> | 2010-12-07 20:16:13 +0000 |
| commit | 689a342b0f8badbc87e67938f7a2fd3798e6f8eb (patch) | |
| tree | 1a9d214d9b4fc420c4b01470e5ba2b61124bd598 /core/java/android/webkit/BrowserFrame.java | |
| parent | 9aa6ea83869ee3e8c6f694ca77346168c0160149 (diff) | |
Add WebView.removeJavascriptInterface()
Bug: 3234178
Change-Id: I7136f8d76b20f90a7e9e1c55b6755ffe6c35b77b
Diffstat (limited to 'core/java/android/webkit/BrowserFrame.java')
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 8f9245822202..2c38c93ede6f 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -599,13 +599,20 @@ class BrowserFrame extends Handler { public void addJavascriptInterface(Object obj, String interfaceName) { assert obj != null; + removeJavascriptInterface(interfaceName); if (mJSInterfaceMap == null) { mJSInterfaceMap = new HashMap<String, Object>(); } + mJSInterfaceMap.put(interfaceName, obj); + } + + public void removeJavascriptInterface(String interfaceName) { + if (mJSInterfaceMap == null) { + return; + } if (mJSInterfaceMap.containsKey(interfaceName)) { mJSInterfaceMap.remove(interfaceName); } - mJSInterfaceMap.put(interfaceName, obj); } /** |
