summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-24 19:19:16 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-24 19:19:16 +0000
commit1051ccbdf5ebcaaa967db454393b85ed84fd36fb (patch)
treec4e67e3470f15be5a2472628537967e10a62d6aa /webkit/glue
parent7ef2e9d25fa0e7fbdc71def514da476f5756751b (diff)
downloadchromium_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.cc24
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() {