diff options
author | Grace Kloba <klobag@google.com> | 2009-08-17 18:12:10 -0700 |
---|---|---|
committer | Grace Kloba <klobag@google.com> | 2009-08-17 18:12:10 -0700 |
commit | 9f2051acd1dd94e6621616a99c50c409c941ad56 (patch) | |
tree | 9c9bea86b55fa19ba32d5cf018fbd312f349bf4f /WebCore | |
parent | 4e3a924fd8b5f88ef5e656393e8a0de568c2baa5 (diff) | |
download | external_webkit-9f2051acd1dd94e6621616a99c50c409c941ad56.zip external_webkit-9f2051acd1dd94e6621616a99c50c409c941ad56.tar.gz external_webkit-9f2051acd1dd94e6621616a99c50c409c941ad56.tar.bz2 |
As PluginList is removed when we remove Gears, remove code in the native side.
Diffstat (limited to 'WebCore')
-rw-r--r-- | WebCore/plugins/PluginPackage.cpp | 5 | ||||
-rw-r--r-- | WebCore/plugins/PluginPackage.h | 3 | ||||
-rw-r--r-- | WebCore/plugins/android/PluginPackageAndroid.cpp | 106 |
3 files changed, 0 insertions, 114 deletions
diff --git a/WebCore/plugins/PluginPackage.cpp b/WebCore/plugins/PluginPackage.cpp index 8cdda24..2a65fb6 100644 --- a/WebCore/plugins/PluginPackage.cpp +++ b/WebCore/plugins/PluginPackage.cpp @@ -139,11 +139,6 @@ void PluginPackage::unloadWithoutShutdown() ASSERT(m_loadCount == 0); ASSERT(m_module); -#if defined(ANDROID_PLUGINS) - // Remove the Java object from PluginList. - unregisterPluginObject(); -#endif - // <rdar://5530519>: Crash when closing tab with pdf file (Reader 7 only) // If the plugin has subclassed its parent window, as with Reader 7, we may have // gotten here by way of the plugin's internal window proc forwarding a message to our diff --git a/WebCore/plugins/PluginPackage.h b/WebCore/plugins/PluginPackage.h index 905e85b..43d93ed 100644 --- a/WebCore/plugins/PluginPackage.h +++ b/WebCore/plugins/PluginPackage.h @@ -110,9 +110,6 @@ namespace WebCore { #if defined(ANDROID_PLUGINS) // Java Plugin object. jobject m_pluginObject; - // Called from unloadWithoutShutdown() to remove the object - // from the PluginList. - void unregisterPluginObject(); #endif }; diff --git a/WebCore/plugins/android/PluginPackageAndroid.cpp b/WebCore/plugins/android/PluginPackageAndroid.cpp index 0dd8342..e3c0e56 100644 --- a/WebCore/plugins/android/PluginPackageAndroid.cpp +++ b/WebCore/plugins/android/PluginPackageAndroid.cpp @@ -238,74 +238,6 @@ static jobject createPluginObject(const char *name, return pluginObject; } -static jobject getPluginListObject() -{ - JNIEnv *env = JSC::Bindings::getJNIEnv(); - // Get WebView.getPluginList() - jclass webViewClass = env->FindClass("android/webkit/WebView"); - if(!webViewClass) { - PLUGIN_LOG("Couldn't find class android.webkit.WebView\n"); - return 0; - } - jmethodID getPluginList = env->GetStaticMethodID( - webViewClass, - "getPluginList", - "()Landroid/webkit/PluginList;"); - if(!getPluginList) { - PLUGIN_LOG("Couldn't find android.webkit.WebView.getPluginList()\n"); - return 0; - } - // Get the PluginList instance - jobject pluginListObject = env->CallStaticObjectMethod(webViewClass, - getPluginList); - if(!pluginListObject) { - PLUGIN_LOG("Couldn't get PluginList object\n"); - return 0; - } - return pluginListObject; -} - -static bool addPluginObjectToList(jobject pluginList, jobject plugin) -{ - // Add the Plugin object - JNIEnv *env = JSC::Bindings::getJNIEnv(); - jclass pluginListClass = env->FindClass("android/webkit/PluginList"); - if(!pluginListClass) { - PLUGIN_LOG("Couldn't find class android.webkit.PluginList\n"); - return false; - } - jmethodID addPlugin = env->GetMethodID( - pluginListClass, - "addPlugin", - "(Landroid/webkit/Plugin;)V"); - if(!addPlugin) { - PLUGIN_LOG("Couldn't find android.webkit.PluginList.addPlugin()\n"); - return false; - } - env->CallVoidMethod(pluginList, addPlugin, plugin); - return true; -} - -static void removePluginObjectFromList(jobject pluginList, jobject plugin) -{ - // Remove the Plugin object - JNIEnv *env = JSC::Bindings::getJNIEnv(); - jclass pluginListClass = env->FindClass("android/webkit/PluginList"); - if(!pluginListClass) { - PLUGIN_LOG("Couldn't find class android.webkit.PluginList\n"); - return; - } - jmethodID removePlugin = env->GetMethodID( - pluginListClass, - "removePlugin", - "(Landroid/webkit/Plugin;)V"); - if(!removePlugin) { - PLUGIN_LOG("Couldn't find android.webkit.PluginList.removePlugin()\n"); - return; - } - env->CallVoidMethod(pluginList, removePlugin, plugin); -} - bool PluginPackage::load() { PLUGIN_LOG("tid:%d isActive:%d isLoaded:%d loadCount:%d\n", @@ -379,23 +311,6 @@ bool PluginPackage::load() return true; } -void PluginPackage::unregisterPluginObject() -{ - PLUGIN_LOG("unregisterPluginObject\n"); - // Called by unloadWithoutShutdown(). Remove the plugin from the - // PluginList - if(m_pluginObject) { - jobject pluginListObject = getPluginListObject(); - if(pluginListObject) { - removePluginObjectFromList(pluginListObject, m_pluginObject); - } - // Remove a reference to the Plugin object so it can - // garbage collect. - JSC::Bindings::getJNIEnv()->DeleteGlobalRef(m_pluginObject); - m_pluginObject = 0; - } -} - bool PluginPackage::fetchInfo() { PLUGIN_LOG("Fetch Info Loading \"%s\"\n", m_path.utf8().data()); @@ -501,27 +416,6 @@ bool PluginPackage::fetchInfo() PLUGIN_LOG("Couldn't create Java Plugin\n"); return false; } - - // Add the Plugin to the PluginList. This list is used to show the - // user the list of plugins installed in the webkit. - - // The list of plugins are also available from the global static - // function PluginDatabase::installedPlugins(). However, the method - // on WebView to get the plugin list is a static method, and runs in the - // UI thread. We can not easily drop all the GlobalRefs this implementation - // has and switch to just calling through JNI to aforementioned API as - // WebKit runs in another thread and the WebView call would need to change - // to being async. - jobject pluginListObject = getPluginListObject(); - if(!pluginListObject) { - PLUGIN_LOG("Couldn't get PluginList object\n"); - return false; - } - if(!addPluginObjectToList(pluginListObject, pluginObject)) { - PLUGIN_LOG("Couldn't add Plugin to PluginList\n"); - m_NPP_Shutdown(); - return false; - } // Retain the Java Plugin object m_pluginObject = JSC::Bindings::getJNIEnv()->NewGlobalRef(pluginObject); |