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

Unified Diff: webkit/plugins/npapi/plugin_list_unittest.cc

Issue 7901015: Revert 101269 - Store plug-in enabled/disabled state in PluginPrefs instead of WebPluginInfo, to ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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/plugins/npapi/plugin_list_posix.cc ('k') | webkit/plugins/npapi/plugin_list_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/npapi/plugin_list_unittest.cc
===================================================================
--- webkit/plugins/npapi/plugin_list_unittest.cc (revision 101271)
+++ webkit/plugins/npapi/plugin_list_unittest.cc (working copy)
@@ -13,18 +13,21 @@
namespace {
-bool Equals(const WebPluginInfo& a, const WebPluginInfo& b) {
+bool Equals(const WebPluginInfo& a, const WebPluginInfo& b,
+ bool care_about_enabled_status) {
return (a.name == b.name &&
a.path == b.path &&
a.version == b.version &&
- a.desc == b.desc);
+ a.desc == b.desc &&
+ (!care_about_enabled_status || a.enabled == b.enabled));
}
bool Contains(const std::vector<WebPluginInfo>& list,
- const WebPluginInfo& plugin) {
+ const WebPluginInfo& plugin,
+ bool care_about_enabled_status) {
for (std::vector<WebPluginInfo>::const_iterator it = list.begin();
it != list.end(); ++it) {
- if (Equals(*it, plugin))
+ if (Equals(*it, plugin, care_about_enabled_status))
return true;
}
return false;
@@ -57,6 +60,8 @@
}
virtual void SetUp() {
+ bar_plugin_.enabled = WebPluginInfo::USER_DISABLED_POLICY_UNMANAGED;
+ plugin_list_.DisablePlugin(bar_plugin_.path);
plugin_list_.AddPluginToLoad(foo_plugin_);
plugin_list_.AddPluginToLoad(bar_plugin_);
}
@@ -71,20 +76,26 @@
std::vector<WebPluginInfo> plugins;
plugin_list_.GetPlugins(&plugins);
EXPECT_EQ(2u, plugins.size());
- EXPECT_TRUE(Contains(plugins, foo_plugin_));
- EXPECT_TRUE(Contains(plugins, bar_plugin_));
+ EXPECT_TRUE(Contains(plugins, foo_plugin_, true));
+ EXPECT_TRUE(Contains(plugins, bar_plugin_, true));
}
TEST_F(PluginListTest, GetPluginGroup) {
const PluginGroup* foo_group = plugin_list_.GetPluginGroup(foo_plugin_);
EXPECT_EQ(ASCIIToUTF16(kFooGroupName), foo_group->GetGroupName());
+ EXPECT_TRUE(foo_group->Enabled());
+ // The second request should return a pointer to the same instance.
+ const PluginGroup* foo_group2 = plugin_list_.GetPluginGroup(foo_plugin_);
+ EXPECT_EQ(foo_group, foo_group2);
+ const PluginGroup* bar_group = plugin_list_.GetPluginGroup(bar_plugin_);
+ EXPECT_FALSE(bar_group->Enabled());
}
TEST_F(PluginListTest, EmptyGroup) {
std::vector<PluginGroup> groups;
plugin_list_.GetPluginGroups(false, &groups);
for (size_t i = 0; i < groups.size(); ++i)
- EXPECT_GE(1U, groups[i].web_plugin_infos().size());
+ EXPECT_GE(1U, groups[i].web_plugins_info().size());
}
TEST_F(PluginListTest, BadPluginDescription) {
@@ -99,20 +110,61 @@
plugin_list_.RefreshPlugins();
std::vector<WebPluginInfo> plugins;
plugin_list_.GetPlugins(&plugins);
- ASSERT_TRUE(Contains(plugins, plugin_3043));
+ ASSERT_TRUE(Contains(plugins, plugin_3043, true));
}
+TEST_F(PluginListTest, DisableAndEnableBeforeLoad) {
+ WebPluginInfo plugin_3043(ASCIIToUTF16("MyPlugin"),
+ FilePath(FILE_PATH_LITERAL("/myplugin.3.0.43")),
+ ASCIIToUTF16("3.0.43"),
+ ASCIIToUTF16("MyPlugin version 3.0.43"));
+ WebPluginInfo plugin_3045(ASCIIToUTF16("MyPlugin"),
+ FilePath(FILE_PATH_LITERAL("/myplugin.3.0.45")),
+ ASCIIToUTF16("3.0.45"),
+ ASCIIToUTF16("MyPlugin version 3.0.45"));
+ // Disable the first one and disable and then enable the second one.
+ EXPECT_TRUE(plugin_list_.DisablePlugin(plugin_3043.path));
+ EXPECT_TRUE(plugin_list_.DisablePlugin(plugin_3045.path));
+ EXPECT_TRUE(plugin_list_.EnablePlugin(plugin_3045.path));
+ // Simulate loading of the plugins.
+ plugin_list_.ClearPluginsToLoad();
+ plugin_list_.AddPluginToLoad(plugin_3043);
+ plugin_list_.AddPluginToLoad(plugin_3045);
+ // Now we should have them in the state we specified above.
+ plugin_list_.RefreshPlugins();
+ std::vector<WebPluginInfo> plugins;
+ plugin_list_.GetPlugins(&plugins);
+ plugin_3043.enabled = WebPluginInfo::USER_DISABLED_POLICY_UNMANAGED;
+ ASSERT_TRUE(Contains(plugins, plugin_3043, true));
+ ASSERT_TRUE(Contains(plugins, plugin_3045, true));
+}
+
TEST_F(PluginListTest, HardcodedGroups) {
std::vector<PluginGroup> groups;
plugin_list_.GetPluginGroups(true, &groups);
ASSERT_EQ(2u, groups.size());
- EXPECT_EQ(1u, groups[0].web_plugin_infos().size());
+ EXPECT_TRUE(groups[0].Enabled());
+ EXPECT_EQ(1u, groups[0].web_plugins_info().size());
EXPECT_TRUE(groups[0].ContainsPlugin(FilePath(kFooPath)));
EXPECT_EQ(kFooIdentifier, groups[0].identifier());
- EXPECT_EQ(1u, groups[1].web_plugin_infos().size());
+ EXPECT_FALSE(groups[1].Enabled());
+ EXPECT_EQ(1u, groups[1].web_plugins_info().size());
EXPECT_TRUE(groups[1].ContainsPlugin(FilePath(kBarPath)));
EXPECT_EQ("bar.plugin", groups[1].identifier());
}
+TEST_F(PluginListTest, DisableBeforeLoad) {
+ // Test that a plugin group that was disabled before plugins are loaded stays
+ // disabled afterwards.
+
+ EXPECT_TRUE(plugin_list_.EnableGroup(false, ASCIIToUTF16(kFooGroupName)));
+
+ plugin_list_.RefreshPlugins();
+ std::vector<WebPluginInfo> plugins;
+ plugin_list_.GetPlugins(&plugins);
+ ASSERT_EQ(2u, plugins.size());
+ ASSERT_EQ(WebPluginInfo::USER_DISABLED_POLICY_UNMANAGED, plugins[0].enabled);
+}
+
} // namespace npapi
} // namespace webkit
Property changes on: webkit/plugins/npapi/plugin_list_unittest.cc
___________________________________________________________________
Added: svn:mergeinfo
Merged /branches/chrome_webkit_merge_branch/src/webkit/plugins/npapi/plugin_list_unittest.cc:r3734-4217,4606-5108,5177-5263
« no previous file with comments | « webkit/plugins/npapi/plugin_list_posix.cc ('k') | webkit/plugins/npapi/plugin_list_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698