summaryrefslogtreecommitdiffstats
path: root/content/renderer/renderer_webkitplatformsupport_impl.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-20 06:36:53 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-20 06:36:53 +0000
commitb00deddfdec0f307fd85d8e5c85f9f0ecb595916 (patch)
treecde9214c764ae6108b0b0c818bc38d4ca48325b1 /content/renderer/renderer_webkitplatformsupport_impl.cc
parent72f8ea4b1f412c3f5d842bfd39f2912a941c6958 (diff)
downloadchromium_src-b00deddfdec0f307fd85d8e5c85f9f0ecb595916.zip
chromium_src-b00deddfdec0f307fd85d8e5c85f9f0ecb595916.tar.gz
chromium_src-b00deddfdec0f307fd85d8e5c85f9f0ecb595916.tar.bz2
Simplify how we get the plugin list in the webkit platform support by removing the intermediate method. This removes knowledge of WebPluginInfo from webkit/glue, in prepration of moving that struct to content/public/common.
BUG=237249 R=jamesr@chromium.org Review URL: https://codereview.chromium.org/19871003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212769 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/renderer_webkitplatformsupport_impl.cc')
-rw-r--r--content/renderer/renderer_webkitplatformsupport_impl.cc43
1 files changed, 33 insertions, 10 deletions
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc
index 319c343..320d7fe 100644
--- a/content/renderer/renderer_webkitplatformsupport_impl.cc
+++ b/content/renderer/renderer_webkitplatformsupport_impl.cc
@@ -57,6 +57,7 @@
#include "third_party/WebKit/public/platform/WebHyphenator.h"
#include "third_party/WebKit/public/platform/WebMediaStreamCenter.h"
#include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h"
+#include "third_party/WebKit/public/platform/WebPluginListBuilder.h"
#include "third_party/WebKit/public/platform/WebURL.h"
#include "third_party/WebKit/public/platform/WebVector.h"
#include "third_party/WebKit/public/web/WebFrame.h"
@@ -66,6 +67,7 @@
#include "webkit/glue/simple_webmimeregistry_impl.h"
#include "webkit/glue/webfileutilities_impl.h"
#include "webkit/glue/webkit_glue.h"
+#include "webkit/plugins/webplugininfo.h"
#if defined(OS_WIN)
#include "content/common/child_process_messages.h"
@@ -902,6 +904,37 @@ RendererWebKitPlatformSupportImpl::createMIDIAccessor(
return new RendererWebMIDIAccessorImpl(client);
}
+void RendererWebKitPlatformSupportImpl::getPluginList(
+ bool refresh,
+ WebKit::WebPluginListBuilder* builder) {
+#if defined(ENABLE_PLUGINS)
+ std::vector<webkit::WebPluginInfo> plugins;
+ if (!plugin_refresh_allowed_)
+ refresh = false;
+ RenderThread::Get()->Send(
+ new ViewHostMsg_GetPlugins(refresh, &plugins));
+ for (size_t i = 0; i < plugins.size(); ++i) {
+ const webkit::WebPluginInfo& plugin = plugins[i];
+
+ builder->addPlugin(
+ plugin.name, plugin.desc,
+ plugin.path.BaseName().AsUTF16Unsafe());
+
+ for (size_t j = 0; j < plugin.mime_types.size(); ++j) {
+ const webkit::WebPluginMimeType& mime_type = plugin.mime_types[j];
+
+ builder->addMediaTypeToLastPlugin(
+ WebString::fromUTF8(mime_type.mime_type), mime_type.description);
+
+ for (size_t k = 0; k < mime_type.file_extensions.size(); ++k) {
+ builder->addFileExtensionToLastMediaType(
+ WebString::fromUTF8(mime_type.file_extensions[k]));
+ }
+ }
+ }
+#endif
+}
+
//------------------------------------------------------------------------------
WebKit::WebString
@@ -955,16 +988,6 @@ WebKit::WebString RendererWebKitPlatformSupportImpl::userAgent(
return WebKitPlatformSupportImpl::userAgent(url);
}
-void RendererWebKitPlatformSupportImpl::GetPlugins(
- bool refresh, std::vector<webkit::WebPluginInfo>* plugins) {
-#if defined(ENABLE_PLUGINS)
- if (!plugin_refresh_allowed_)
- refresh = false;
- RenderThread::Get()->Send(
- new ViewHostMsg_GetPlugins(refresh, plugins));
-#endif
-}
-
//------------------------------------------------------------------------------
WebRTCPeerConnectionHandler*