OSDN Git Service

Add WebView.removeJavascriptInterface()
[android-x86/frameworks-base.git] / core / java / android / webkit / BrowserFrame.java
index 8f92458..2c38c93 100644 (file)
@@ -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);
     }
 
     /**