diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-20 06:36:53 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-20 06:36:53 +0000 |
commit | b00deddfdec0f307fd85d8e5c85f9f0ecb595916 (patch) | |
tree | cde9214c764ae6108b0b0c818bc38d4ca48325b1 /content/renderer/renderer_webkitplatformsupport_impl.cc | |
parent | 72f8ea4b1f412c3f5d842bfd39f2912a941c6958 (diff) | |
download | chromium_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.cc | 43 |
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* |