| Index: chrome/browser/plugin_prefs_unittest.cc
|
| diff --git a/chrome/browser/plugin_prefs_unittest.cc b/chrome/browser/plugin_prefs_unittest.cc
|
| deleted file mode 100644
|
| index 5ae3647125fa9eb152d49724a226c8ba0b582710..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/plugin_prefs_unittest.cc
|
| +++ /dev/null
|
| @@ -1,256 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/plugin_prefs.h"
|
| -
|
| -#include "base/at_exit.h"
|
| -#include "base/bind.h"
|
| -#include "base/message_loop.h"
|
| -#include "base/path_service.h"
|
| -#include "base/run_loop.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/common/chrome_constants.h"
|
| -#include "chrome/common/chrome_paths.h"
|
| -#include "content/public/browser/plugin_service.h"
|
| -#include "content/public/test/test_browser_thread.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "webkit/plugins/npapi/mock_plugin_list.cc"
|
| -#include "webkit/plugins/webplugininfo.h"
|
| -
|
| -using content::BrowserThread;
|
| -using content::PluginService;
|
| -
|
| -namespace {
|
| -
|
| -void CanEnablePluginCallback(const base::Closure& quit_closure,
|
| - bool expected_can_change,
|
| - bool did_change) {
|
| - EXPECT_EQ(expected_can_change, did_change);
|
| - quit_closure.Run();
|
| -}
|
| -
|
| -FilePath GetComponentUpdatedPepperFlashPath(
|
| - const FilePath::StringType& version) {
|
| - FilePath path;
|
| - EXPECT_TRUE(PathService::Get(
|
| - chrome::DIR_COMPONENT_UPDATED_PEPPER_FLASH_PLUGIN, &path));
|
| - path = path.Append(version);
|
| - path = path.Append(chrome::kPepperFlashPluginFilename);
|
| - return path;
|
| -}
|
| -
|
| -FilePath GetBundledPepperFlashPath() {
|
| - FilePath path;
|
| - EXPECT_TRUE(PathService::Get(chrome::FILE_PEPPER_FLASH_PLUGIN, &path));
|
| - return path;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class PluginPrefsTest : public ::testing::Test {
|
| - public:
|
| - virtual void SetUp() OVERRIDE {
|
| - plugin_prefs_ = new PluginPrefs();
|
| - }
|
| -
|
| - void SetPolicyEnforcedPluginPatterns(
|
| - const std::set<string16>& disabled,
|
| - const std::set<string16>& disabled_exceptions,
|
| - const std::set<string16>& enabled) {
|
| - plugin_prefs_->SetPolicyEnforcedPluginPatterns(
|
| - disabled, disabled_exceptions, enabled);
|
| - }
|
| -
|
| - protected:
|
| - void EnablePluginSynchronously(bool enabled,
|
| - const FilePath& path,
|
| - bool expected_can_change) {
|
| - base::RunLoop run_loop;
|
| - plugin_prefs_->EnablePlugin(
|
| - enabled, path,
|
| - base::Bind(&CanEnablePluginCallback, run_loop.QuitClosure(),
|
| - expected_can_change));
|
| - run_loop.Run();
|
| - }
|
| -
|
| - scoped_refptr<PluginPrefs> plugin_prefs_;
|
| -};
|
| -
|
| -TEST_F(PluginPrefsTest, DisabledByPolicy) {
|
| - std::set<string16> disabled_plugins;
|
| - disabled_plugins.insert(ASCIIToUTF16("Disable this!"));
|
| - disabled_plugins.insert(ASCIIToUTF16("*Google*"));
|
| - SetPolicyEnforcedPluginPatterns(disabled_plugins,
|
| - std::set<string16>(),
|
| - std::set<string16>());
|
| -
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY,
|
| - plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("42")));
|
| - EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(
|
| - ASCIIToUTF16("Disable this!")));
|
| - EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("Google Earth")));
|
| -}
|
| -
|
| -TEST_F(PluginPrefsTest, EnabledByPolicy) {
|
| - std::set<string16> enabled_plugins;
|
| - enabled_plugins.insert(ASCIIToUTF16("Enable that!"));
|
| - enabled_plugins.insert(ASCIIToUTF16("PDF*"));
|
| - SetPolicyEnforcedPluginPatterns(std::set<string16>(),
|
| - std::set<string16>(),
|
| - enabled_plugins);
|
| -
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY,
|
| - plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("42")));
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("Enable that!")));
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("PDF Reader")));
|
| -}
|
| -
|
| -TEST_F(PluginPrefsTest, EnabledAndDisabledByPolicy) {
|
| - const string16 k42(ASCIIToUTF16("42"));
|
| - const string16 kEnabled(ASCIIToUTF16("Enabled"));
|
| - const string16 kEnabled2(ASCIIToUTF16("Enabled 2"));
|
| - const string16 kEnabled3(ASCIIToUTF16("Enabled 3"));
|
| - const string16 kException(ASCIIToUTF16("Exception"));
|
| - const string16 kException2(ASCIIToUTF16("Exception 2"));
|
| - const string16 kGoogleMars(ASCIIToUTF16("Google Mars"));
|
| - const string16 kGoogleEarth(ASCIIToUTF16("Google Earth"));
|
| -
|
| - std::set<string16> disabled_plugins;
|
| - std::set<string16> disabled_plugins_exceptions;
|
| - std::set<string16> enabled_plugins;
|
| -
|
| - disabled_plugins.insert(kEnabled);
|
| - disabled_plugins_exceptions.insert(kEnabled);
|
| - enabled_plugins.insert(kEnabled);
|
| -
|
| - disabled_plugins_exceptions.insert(kException);
|
| -
|
| - disabled_plugins.insert(kEnabled2);
|
| - enabled_plugins.insert(kEnabled2);
|
| -
|
| - disabled_plugins.insert(kException2);
|
| - disabled_plugins_exceptions.insert(kException2);
|
| -
|
| - disabled_plugins_exceptions.insert(kEnabled3);
|
| - enabled_plugins.insert(kEnabled3);
|
| -
|
| - SetPolicyEnforcedPluginPatterns(disabled_plugins,
|
| - disabled_plugins_exceptions,
|
| - enabled_plugins);
|
| -
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY, plugin_prefs_->PolicyStatusForPlugin(k42));
|
| -
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(kEnabled));
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(kEnabled2));
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(kEnabled3));
|
| -
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY,
|
| - plugin_prefs_->PolicyStatusForPlugin(kException));
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY,
|
| - plugin_prefs_->PolicyStatusForPlugin(kException2));
|
| -
|
| - disabled_plugins.clear();
|
| - disabled_plugins_exceptions.clear();
|
| - enabled_plugins.clear();
|
| -
|
| - disabled_plugins.insert(ASCIIToUTF16("*"));
|
| - disabled_plugins_exceptions.insert(ASCIIToUTF16("*Google*"));
|
| - enabled_plugins.insert(kGoogleEarth);
|
| -
|
| - SetPolicyEnforcedPluginPatterns(disabled_plugins,
|
| - disabled_plugins_exceptions,
|
| - enabled_plugins);
|
| -
|
| - EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(kGoogleEarth));
|
| - EXPECT_EQ(PluginPrefs::NO_POLICY,
|
| - plugin_prefs_->PolicyStatusForPlugin(kGoogleMars));
|
| - EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
|
| - plugin_prefs_->PolicyStatusForPlugin(k42));
|
| -}
|
| -
|
| -TEST_F(PluginPrefsTest, UnifiedPepperFlashState) {
|
| - base::ShadowingAtExitManager at_exit_manager_; // Destroys the PluginService.
|
| -
|
| - MessageLoop message_loop;
|
| - content::TestBrowserThread ui_thread(BrowserThread::UI, &message_loop);
|
| - webkit::npapi::MockPluginList plugin_list(NULL, 0);
|
| - PluginService::GetInstance()->SetPluginListForTesting(&plugin_list);
|
| - PluginService::GetInstance()->Init();
|
| - plugin_prefs_->SetPluginListForTesting(&plugin_list);
|
| -
|
| - string16 component_updated_plugin_name(
|
| - ASCIIToUTF16("Component-updated Pepper Flash"));
|
| - webkit::WebPluginInfo component_updated_plugin_1(
|
| - component_updated_plugin_name,
|
| - GetComponentUpdatedPepperFlashPath(FILE_PATH_LITERAL("11.3.31.227")),
|
| - ASCIIToUTF16("11.3.31.227"),
|
| - ASCIIToUTF16(""));
|
| - webkit::WebPluginInfo component_updated_plugin_2(
|
| - component_updated_plugin_name,
|
| - GetComponentUpdatedPepperFlashPath(FILE_PATH_LITERAL("11.3.31.228")),
|
| - ASCIIToUTF16("11.3.31.228"),
|
| - ASCIIToUTF16(""));
|
| - webkit::WebPluginInfo bundled_plugin(ASCIIToUTF16("Pepper Flash"),
|
| - GetBundledPepperFlashPath(),
|
| - ASCIIToUTF16("11.3.31.229"),
|
| - ASCIIToUTF16(""));
|
| -
|
| - plugin_list.AddPluginToLoad(component_updated_plugin_1);
|
| - plugin_list.AddPluginToLoad(component_updated_plugin_2);
|
| - plugin_list.AddPluginToLoad(bundled_plugin);
|
| -
|
| - // Set the state of any of the three plugins will affect the others.
|
| - EnablePluginSynchronously(true, component_updated_plugin_1.path, true);
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - EnablePluginSynchronously(false, bundled_plugin.path, true);
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - EnablePluginSynchronously(true, component_updated_plugin_2.path, true);
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - std::set<string16> disabled_plugins;
|
| - disabled_plugins.insert(component_updated_plugin_name);
|
| - SetPolicyEnforcedPluginPatterns(disabled_plugins,
|
| - std::set<string16>(),
|
| - std::set<string16>());
|
| -
|
| - // Policy settings should be respected.
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - EnablePluginSynchronously(false, bundled_plugin.path, true);
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - // Trying to change the state of a policy-enforced plugin should not take
|
| - // effect. And it shouldn't change the state of other plugins either, even if
|
| - // they are not restricted by any policy.
|
| - EnablePluginSynchronously(true, component_updated_plugin_1.path, false);
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - EnablePluginSynchronously(true, bundled_plugin.path, true);
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_1));
|
| - EXPECT_FALSE(plugin_prefs_->IsPluginEnabled(component_updated_plugin_2));
|
| - EXPECT_TRUE(plugin_prefs_->IsPluginEnabled(bundled_plugin));
|
| -
|
| - plugin_prefs_->SetPluginListForTesting(NULL);
|
| - PluginService::GetInstance()->SetPluginListForTesting(NULL);
|
| -}
|
|
|