diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-24 19:19:16 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-24 19:19:16 +0000 |
commit | 1051ccbdf5ebcaaa967db454393b85ed84fd36fb (patch) | |
tree | c4e67e3470f15be5a2472628537967e10a62d6aa /webkit/glue | |
parent | 7ef2e9d25fa0e7fbdc71def514da476f5756751b (diff) | |
download | chromium_src-1051ccbdf5ebcaaa967db454393b85ed84fd36fb.zip chromium_src-1051ccbdf5ebcaaa967db454393b85ed84fd36fb.tar.gz chromium_src-1051ccbdf5ebcaaa967db454393b85ed84fd36fb.tar.bz2 |
Bridge calls to get the root NPObject from a WebPluginContainer.
I also did a little cleanup in getPlugins. I found that there was a
WebPluginInfo struct declared within the WebCore namespace that was causing us
to need '::' in front of WebPluginInfo. I killed the erroneous declaration so
that the rest could be cleaned up. I also renamed getPlugins to plugins since
I think that is more consistent with how Apple names these kinds of methods.
There was some old, unused USE(JSC) code in ScriptController.cpp that I deleted.
R=erikkay
Review URL: http://codereview.chromium.org/12601
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5928 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/chromium_bridge_impl.cc | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/webkit/glue/chromium_bridge_impl.cc b/webkit/glue/chromium_bridge_impl.cc index 9745a76..1115d3d 100644 --- a/webkit/glue/chromium_bridge_impl.cc +++ b/webkit/glue/chromium_bridge_impl.cc @@ -42,7 +42,7 @@ #include "webkit/glue/scoped_clipboard_writer_glue.h" #include "webkit/glue/webcursor.h" #include "webkit/glue/webkit_glue.h" -#include "webkit/glue/webplugin.h" +#include "webkit/glue/webplugin_impl.h" #include "webkit/glue/webkit_resources.h" #include "webkit/glue/webview_impl.h" #include "webkit/glue/webview_delegate.h" @@ -285,19 +285,19 @@ String ChromiumBridge::preferredExtensionForMIMEType(const String& mime_type) { // Plugin --------------------------------------------------------------------- -bool ChromiumBridge::getPlugins(bool refresh, Vector<PluginInfo*>* plugins) { - std::vector< ::WebPluginInfo> glue_plugins; +bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo*>* results) { + std::vector<WebPluginInfo> glue_plugins; if (!webkit_glue::GetPlugins(refresh, &glue_plugins)) return false; for (size_t i = 0; i < glue_plugins.size(); ++i) { - WebCore::PluginInfo* rv = new WebCore::PluginInfo; - const ::WebPluginInfo& plugin = glue_plugins[i]; + PluginInfo* rv = new PluginInfo; + const WebPluginInfo& plugin = glue_plugins[i]; rv->name = webkit_glue::StdWStringToString(plugin.name); rv->desc = webkit_glue::StdWStringToString(plugin.desc); rv->file = webkit_glue::StdWStringToString( file_util::GetFilenameFromPath(plugin.file)); for (size_t j = 0; j < plugin.mime_types.size(); ++ j) { - WebCore::MimeClassInfo* new_mime = new WebCore::MimeClassInfo(); + MimeClassInfo* new_mime = new MimeClassInfo(); const WebPluginMimeType& mime_type = plugin.mime_types[j]; new_mime->desc = webkit_glue::StdWStringToString(mime_type.description); @@ -313,11 +313,21 @@ bool ChromiumBridge::getPlugins(bool refresh, Vector<PluginInfo*>* plugins) { new_mime->plugin = rv; rv->mimes.append(new_mime); } - plugins->append(rv); + results->append(rv); } return true; } +NPObject* ChromiumBridge::pluginScriptableObject(Widget* widget) { + if (!widget) + return NULL; + + // NOTE: We have to trust that the widget passed to us here is a + // WebPluginImpl. There isn't a way to dynamically verify it, since the + // derived class (Widget) has no identifier. + return static_cast<WebPluginContainer*>(widget)->GetPluginScriptableObject(); +} + // Protocol ------------------------------------------------------------------- String ChromiumBridge::uiResourceProtocol() { |