Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(808)

Unified Diff: webkit/glue/plugins/plugin_list_win.cc

Issue 164305: Ensure we don't load plugins on the IO thread (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/glue/plugins/plugin_list_mac.mm ('k') | webkit/glue/webkit_glue.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/plugins/plugin_list_win.cc
===================================================================
--- webkit/glue/plugins/plugin_list_win.cc (revision 23449)
+++ webkit/glue/plugins/plugin_list_win.cc (working copy)
@@ -39,13 +39,6 @@
const TCHAR kRegistryCurrentJavaVersion[] = _T("CurrentVersion");
const TCHAR kRegistryJavaHome[] = _T("JavaHome");
-#ifdef GEARS_STATIC_LIB
-// defined in gears/base/common/module.cc
-NPError API_CALL Gears_NP_GetEntryPoints(NPPluginFuncs* funcs);
-NPError API_CALL Gears_NP_Initialize(NPNetscapeFuncs* funcs);
-NPError API_CALL Gears_NP_Shutdown(void);
-#endif
-
// The application path where we expect to find plugins.
void GetAppDirectory(std::set<FilePath>* plugin_dirs) {
std::wstring app_path;
@@ -226,22 +219,6 @@
activex_shim::ActiveX_Shim_NP_Shutdown
}
},
-#ifdef GEARS_STATIC_LIB
- {
- FilePath(kGearsPluginLibraryName),
- L"Gears",
- L"Statically linked Gears",
- L"1, 0, 0, 1",
- L"application/x-googlegears",
- L"",
- L"",
- {
- Gears_NP_GetEntryPoints,
- Gears_NP_Initialize,
- Gears_NP_Shutdown
- }
- },
-#endif
};
for (int i = 0; i < arraysize(builtin_plugins); ++i)
@@ -275,7 +252,8 @@
plugin_dirs->push_back(*i);
}
-void PluginList::LoadPluginsFromDir(const FilePath &path) {
+void PluginList::LoadPluginsFromDir(const FilePath &path,
+ std::vector<WebPluginInfo>* plugins) {
WIN32_FIND_DATA find_file_data;
HANDLE find_handle;
@@ -290,7 +268,7 @@
do {
if (!(find_file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
FilePath filename = path.Append(find_file_data.cFileName);
- LoadPlugin(filename);
+ LoadPlugin(filename, plugins);
}
} while (FindNextFile(find_handle, &find_file_data) != 0);
@@ -317,13 +295,13 @@
return false;
}
-bool PluginList::ShouldLoadPlugin(const WebPluginInfo& info) {
-
+bool PluginList::ShouldLoadPlugin(const WebPluginInfo& info,
+ std::vector<WebPluginInfo>* plugins) {
// Version check
- for (size_t i = 0; i < plugins_.size(); ++i) {
- if (plugins_[i].path.BaseName() == info.path.BaseName() &&
- !IsNewerVersion(plugins_[i].version, info.version)) {
+ for (size_t i = 0; i < plugins->size(); ++i) {
+ if ((*plugins)[i].path.BaseName() == info.path.BaseName() &&
+ !IsNewerVersion((*plugins)[i].version, info.version)) {
return false; // We already have a loaded plugin whose version is newer.
}
}
@@ -360,15 +338,15 @@
if (dont_load_new_wmp_)
return false;
- for (size_t i = 0; i < plugins_.size(); ++i) {
- if (plugins_[i].path.BaseName().value() == kOldWMPPlugin) {
- plugins_.erase(plugins_.begin() + i);
+ for (size_t i = 0; i < plugins->size(); ++i) {
+ if ((*plugins)[i].path.BaseName().value() == kOldWMPPlugin) {
+ plugins->erase(plugins->begin() + i);
break;
}
}
} else if (filename == kOldWMPPlugin) {
- for (size_t i = 0; i < plugins_.size(); ++i) {
- if (plugins_[i].path.BaseName().value() == kNewWMPPlugin)
+ for (size_t i = 0; i < plugins->size(); ++i) {
+ if ((*plugins)[i].path.BaseName().value() == kNewWMPPlugin)
return false;
}
}
@@ -377,16 +355,11 @@
return true;
}
-void PluginList::LoadInternalPlugins() {
-#ifdef GEARS_STATIC_LIB
- LoadPlugin(FilePath(kGearsPluginLibraryName));
-#endif
-
+void PluginList::LoadInternalPlugins(std::vector<WebPluginInfo>* plugins) {
if (!use_internal_activex_shim_)
- return;
- LoadPlugin(FilePath(kActiveXShimFileName));
- LoadPlugin(FilePath(kActiveXShimFileNameForMediaPlayer));
+ LoadPlugin(FilePath(kActiveXShimFileName), plugins);
+ LoadPlugin(FilePath(kActiveXShimFileNameForMediaPlayer), plugins);
}
} // namespace NPAPI
« no previous file with comments | « webkit/glue/plugins/plugin_list_mac.mm ('k') | webkit/glue/webkit_glue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698