Commit 6c217552 authored by wfh's avatar wfh Committed by Commit bot

Only load platform specific architecture plugins from the correct registry hive.

This fixes a regression in r298758 where if a 64-bit plugin was loaded after
a 32-bit plugin, and the versions were the same, then the 32-bit plugin would
be removed from the list, the 64-bit plugin plugin would be removed and
neither plugin would successfully load.

Solution is to only load the correct architecture plugins from the registry.

BUG=428549

Review URL: https://codereview.chromium.org/674073003

Cr-Commit-Position: refs/heads/master@{#302713}
parent 879b23ff
......@@ -362,17 +362,15 @@ void PluginList::GetPluginPathsFromRegistry(
std::set<base::FilePath> plugin_dirs;
// Search for plugins from HKCU and HKLM. THis will only find plugins that
// are correctly registered in the correct WOW64 registry hive.
GetPluginsInRegistryDirectory(HKEY_CURRENT_USER,
kRegistryMozillaPlugins,
0,
&plugin_dirs);
GetPluginsInRegistryDirectory(HKEY_LOCAL_MACHINE,
kRegistryMozillaPlugins,
KEY_WOW64_64KEY,
&plugin_dirs);
GetPluginsInRegistryDirectory(HKEY_LOCAL_MACHINE,
kRegistryMozillaPlugins,
KEY_WOW64_32KEY,
0,
&plugin_dirs);
for (std::set<base::FilePath>::iterator i = plugin_dirs.begin();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment