summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/plugin_list.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-20 21:30:29 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-20 21:30:29 +0000
commitb3c595afbf8e188d9496606a4c42bfecffad3b07 (patch)
treedf698a83397f2bdd6785b93ee343465f2feedc84 /webkit/glue/plugins/plugin_list.cc
parent559fd2cc6db35d5dd473849836e5b31396936a73 (diff)
downloadchromium_src-b3c595afbf8e188d9496606a4c42bfecffad3b07.zip
chromium_src-b3c595afbf8e188d9496606a4c42bfecffad3b07.tar.gz
chromium_src-b3c595afbf8e188d9496606a4c42bfecffad3b07.tar.bz2
Clean up how the default plugin is loaded so that InternalPluginInfo & PluginVersionInfo remain in the windows file, and other platforms can store this data in the most convenient form to them.
Review URL: http://codereview.chromium.org/18419 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8322 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/plugins/plugin_list.cc')
-rw-r--r--webkit/glue/plugins/plugin_list.cc36
1 files changed, 18 insertions, 18 deletions
diff --git a/webkit/glue/plugins/plugin_list.cc b/webkit/glue/plugins/plugin_list.cc
index 129dd3d..a32fe62 100644
--- a/webkit/glue/plugins/plugin_list.cc
+++ b/webkit/glue/plugins/plugin_list.cc
@@ -72,13 +72,8 @@ void PluginList::LoadPlugins(bool refresh) {
LoadPlugin((*extra_plugin_paths_)[i]);
}
- if (webkit_glue::IsDefaultPluginEnabled()) {
- WebPluginInfo info;
- if (PluginLib::ReadWebPluginInfo(FilePath(kDefaultPluginLibraryName),
- &info)) {
- plugins_.push_back(info);
- }
- }
+ if (webkit_glue::IsDefaultPluginEnabled())
+ LoadPlugin(FilePath(kDefaultPluginLibraryName));
base::TimeTicks end_time = base::TimeTicks::Now();
base::TimeDelta elapsed = end_time - start_time;
@@ -87,24 +82,29 @@ void PluginList::LoadPlugins(bool refresh) {
void PluginList::LoadPlugin(const FilePath &path) {
WebPluginInfo plugin_info;
- if (!PluginLib::ReadWebPluginInfo(path, &plugin_info))
+ NP_GetEntryPointsFunc np_getentrypoints;
+ NP_InitializeFunc np_initialize;
+ NP_ShutdownFunc np_shutdown;
+ if (!PluginLib::ReadWebPluginInfo(path, &plugin_info, &np_getentrypoints,
+ &np_initialize, &np_shutdown)) {
return;
+ }
if (!ShouldLoadPlugin(plugin_info))
return;
- for (size_t i = 0; i < plugin_info.mime_types.size(); ++i) {
- // TODO: don't load global handlers for now.
- // WebKit hands to the Plugin before it tries
- // to handle mimeTypes on its own.
- const std::string &mime_type = plugin_info.mime_types[i].mime_type;
- if (mime_type == "*" ) {
+ if (path.value() != kDefaultPluginLibraryName
#if defined(OS_WIN) && !defined(NDEBUG)
- // Make an exception for NPSPY.
- if (path.BaseName().value() == L"npspy.dll")
- break;
+ && path.BaseName().value() != L"npspy.dll" // Make an exception for NPSPY
#endif
- return;
+ ) {
+ for (size_t i = 0; i < plugin_info.mime_types.size(); ++i) {
+ // TODO: don't load global handlers for now.
+ // WebKit hands to the Plugin before it tries
+ // to handle mimeTypes on its own.
+ const std::string &mime_type = plugin_info.mime_types[i].mime_type;
+ if (mime_type == "*" )
+ return;
}
}