diff options
Diffstat (limited to 'webkit/plugins')
-rw-r--r-- | webkit/plugins/npapi/plugin_list.cc | 14 | ||||
-rw-r--r-- | webkit/plugins/npapi/plugin_list_unittest.cc | 14 |
2 files changed, 21 insertions, 7 deletions
diff --git a/webkit/plugins/npapi/plugin_list.cc b/webkit/plugins/npapi/plugin_list.cc index ab1b9dc..a4da48d 100644 --- a/webkit/plugins/npapi/plugin_list.cc +++ b/webkit/plugins/npapi/plugin_list.cc @@ -711,13 +711,6 @@ PluginGroup* PluginList::AddToPluginGroups( } if (!group) { group = PluginGroup::FromWebPluginInfo(web_plugin_info); - // If group is scheduled for disabling do that now and remove it from the - // list. - if (groups_to_disable_.find(group->GetGroupName()) != - groups_to_disable_.end()) { - group->EnableGroup(false); - groups_to_disable_.erase(group->GetGroupName()); - } std::string identifier = group->identifier(); // If the identifier is not unique, use the full path. This means that we // probably won't be able to search for this group by identifier, but at @@ -734,6 +727,13 @@ PluginGroup* PluginList::AddToPluginGroups( plugin_groups->push_back(group); } group->AddPlugin(web_plugin_info); + // If group is scheduled for disabling do that now and remove it from the + // list. + if (groups_to_disable_.find(group->GetGroupName()) != + groups_to_disable_.end()) { + group->EnableGroup(false); + groups_to_disable_.erase(group->GetGroupName()); + } return group; } diff --git a/webkit/plugins/npapi/plugin_list_unittest.cc b/webkit/plugins/npapi/plugin_list_unittest.cc index 3e0fb47..1c5e99a 100644 --- a/webkit/plugins/npapi/plugin_list_unittest.cc +++ b/webkit/plugins/npapi/plugin_list_unittest.cc @@ -182,6 +182,20 @@ TEST_F(PluginListTest, DisableOutdated) { EXPECT_FALSE(group_3043->IsVulnerable()); } +TEST_F(PluginListTest, BadPluginDescription) { + WebPluginInfo plugin_3043(ASCIIToUTF16(""), + FilePath(FILE_PATH_LITERAL("/myplugin.3.0.43")), + ASCIIToUTF16(""), + ASCIIToUTF16("")); + // Simulate loading of the plugins. + plugin_list_.plugins_to_load_.clear(); + plugin_list_.plugins_to_load_.push_back(plugin_3043); + // Now we should have them in the state we specified above. + std::vector<WebPluginInfo> plugins; + plugin_list_.GetPlugins(true, &plugins); + ASSERT_TRUE(Contains(plugins, plugin_3043, true)); +} + TEST_F(PluginListTest, DisableAndEnableBeforeLoad) { WebPluginInfo plugin_3043(ASCIIToUTF16("MyPlugin"), FilePath(FILE_PATH_LITERAL("/myplugin.3.0.43")), |