diff options
Diffstat (limited to 'webkit/glue/webkitclient_impl.cc')
-rw-r--r-- | webkit/glue/webkitclient_impl.cc | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/webkit/glue/webkitclient_impl.cc b/webkit/glue/webkitclient_impl.cc index 9c916b6..cdf4191 100644 --- a/webkit/glue/webkitclient_impl.cc +++ b/webkit/glue/webkitclient_impl.cc @@ -6,12 +6,17 @@ #include "base/message_loop.h" #include "base/stats_counters.h" +#include "base/string_util.h" #include "base/trace_event.h" #include "grit/webkit_resources.h" #include "third_party/WebKit/WebKit/chromium/public/WebData.h" +#include "third_party/WebKit/WebKit/chromium/public/WebPluginListBuilder.h" +#include "third_party/WebKit/WebKit/chromium/public/WebString.h" #include "webkit/glue/webkit_glue.h" +#include "webkit/glue/webplugininfo.h" using WebKit::WebData; +using WebKit::WebPluginListBuilder; using WebKit::WebThemeEngine; namespace webkit_glue { @@ -29,6 +34,35 @@ WebThemeEngine* WebKitClientImpl::themeEngine() { #endif } +void WebKitClientImpl::getPluginList(bool refresh, + WebPluginListBuilder* builder) { + std::vector<WebPluginInfo> plugins; + if (!GetPlugins(refresh, &plugins)) + return; + + for (size_t i = 0; i < plugins.size(); ++i) { + const WebPluginInfo& plugin = plugins[i]; + + builder->addPlugin( + WideToUTF16Hack(plugin.name), + WideToUTF16Hack(plugin.desc), + FilePathStringToWebString(plugin.path.BaseName().value())); + + for (size_t j = 0; j < plugin.mime_types.size(); ++ j) { + const WebPluginMimeType& mime_type = plugin.mime_types[j]; + + builder->addMediaTypeToLastPlugin( + UTF8ToUTF16(mime_type.mime_type), + WideToUTF16Hack(mime_type.description)); + + for (size_t k = 0; k < mime_type.file_extensions.size(); ++k) { + builder->addFileExtensionToLastMediaType( + UTF8ToUTF16(mime_type.file_extensions[k])); + } + } + } +} + void WebKitClientImpl::decrementStatsCounter(const char* name) { StatsCounter(name).Decrement(); } @@ -69,7 +103,7 @@ WebData WebKitClientImpl::loadResource(const char* name) { }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(resources); ++i) { if (!strcmp(name, resources[i].name)) { - StringPiece resource = webkit_glue::GetDataResource(resources[i].id); + StringPiece resource = GetDataResource(resources[i].id); return WebData(resource.data(), resource.size()); } } |