| Index: chrome/browser/extensions/extension_management_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_management_unittest.cc b/chrome/browser/extensions/extension_management_unittest.cc
|
| index 56618b81634faa2b743d09441e495be322230daf..ac107396482036b904061bb321c78a2168cbdc56 100644
|
| --- a/chrome/browser/extensions/extension_management_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_management_unittest.cc
|
| @@ -15,8 +15,9 @@
|
| #include "chrome/browser/extensions/extension_management_test_util.h"
|
| #include "chrome/browser/extensions/external_policy_loader.h"
|
| #include "chrome/browser/extensions/standard_management_policy_provider.h"
|
| -#include "components/prefs/pref_registry_simple.h"
|
| -#include "components/prefs/testing_pref_service.h"
|
| +#include "chrome/test/base/testing_profile.h"
|
| +#include "components/sync_preferences/testing_pref_service_syncable.h"
|
| +#include "content/public/test/test_browser_thread_bundle.h"
|
| #include "extensions/browser/pref_names.h"
|
| #include "extensions/common/manifest.h"
|
| #include "extensions/common/manifest_constants.h"
|
| @@ -76,28 +77,19 @@ const char kExampleDictPreference[] =
|
| } // namespace
|
|
|
| class ExtensionManagementServiceTest : public testing::Test {
|
| - public:
|
| - typedef ExtensionManagementPrefUpdater<TestingPrefServiceSimple> PrefUpdater;
|
| + protected:
|
| + using PrefUpdater = ExtensionManagementPrefUpdater<
|
| + sync_preferences::TestingPrefServiceSyncable>;
|
|
|
| - ExtensionManagementServiceTest() {}
|
| - ~ExtensionManagementServiceTest() override {}
|
| + ExtensionManagementServiceTest() = default;
|
| + ~ExtensionManagementServiceTest() override = default;
|
|
|
| // testing::Test:
|
| - void SetUp() override { InitPrefService(); }
|
| -
|
| - void InitPrefService() {
|
| - extension_management_.reset();
|
| - pref_service_.reset(new TestingPrefServiceSimple());
|
| - pref_service_->registry()->RegisterListPref(
|
| - pref_names::kAllowedInstallSites);
|
| - pref_service_->registry()->RegisterListPref(pref_names::kAllowedTypes);
|
| - pref_service_->registry()->RegisterListPref(pref_names::kInstallDenyList);
|
| - pref_service_->registry()->RegisterListPref(pref_names::kInstallAllowList);
|
| - pref_service_->registry()->RegisterDictionaryPref(
|
| - pref_names::kInstallForceList);
|
| - pref_service_->registry()->RegisterDictionaryPref(
|
| - pref_names::kExtensionManagement);
|
| - extension_management_.reset(new ExtensionManagement(pref_service_.get()));
|
| + void SetUp() override {
|
| + profile_ = base::MakeUnique<TestingProfile>();
|
| + pref_service_ = profile_->GetTestingPrefService();
|
| + extension_management_ =
|
| + base::MakeUnique<ExtensionManagement>(profile_.get());
|
| }
|
|
|
| void SetPref(bool managed, const char* path, base::Value* value) {
|
| @@ -152,7 +144,8 @@ class ExtensionManagementServiceTest : public testing::Test {
|
| std::string error_msg;
|
| std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError(
|
| kExampleDictPreference,
|
| - base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg);
|
| + base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, nullptr,
|
| + &error_msg);
|
| ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY))
|
| << error_msg;
|
| SetPref(true, pref_names::kExtensionManagement, parsed.release());
|
| @@ -191,8 +184,9 @@ class ExtensionManagementServiceTest : public testing::Test {
|
| return ret;
|
| }
|
|
|
| - protected:
|
| - std::unique_ptr<TestingPrefServiceSimple> pref_service_;
|
| + content::TestBrowserThreadBundle thread_bundle_;
|
| + std::unique_ptr<TestingProfile> profile_;
|
| + sync_preferences::TestingPrefServiceSyncable* pref_service_ = nullptr;
|
| std::unique_ptr<ExtensionManagement> extension_management_;
|
|
|
| private:
|
| @@ -529,7 +523,7 @@ TEST_F(ExtensionManagementServiceTest, kMinimumVersionRequired) {
|
| EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "9999.0"));
|
|
|
| {
|
| - PrefUpdater pref(pref_service_.get());
|
| + PrefUpdater pref(pref_service_);
|
| pref.SetMinimumVersionRequired(kTargetExtension, "3.0");
|
| }
|
|
|
| @@ -554,7 +548,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallSources) {
|
|
|
| // Set the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.ClearInstallSources();
|
| }
|
| // Verifies that the new one overrides the legacy ones.
|
| @@ -564,7 +558,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallSources) {
|
|
|
| // Updates the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.AddInstallSource("https://corp.mycompany.com/*");
|
| }
|
| EXPECT_TRUE(ReadGlobalSettings()->has_restricted_install_sources);
|
| @@ -585,7 +579,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) {
|
|
|
| // Set the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.ClearAllowedTypes();
|
| }
|
| // Verifies that the new one overrides the legacy ones.
|
| @@ -594,7 +588,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) {
|
|
|
| // Updates the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.AddAllowedType("theme");
|
| }
|
| EXPECT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types);
|
| @@ -607,7 +601,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) {
|
| TEST_F(ExtensionManagementServiceTest, NewInstallBlacklist) {
|
| // Set the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.SetBlacklistedByDefault(false); // Allowed by default.
|
| updater.SetIndividualExtensionInstallationAllowed(kTargetExtension, false);
|
| updater.ClearPerExtensionSettings(kTargetExtension2);
|
| @@ -643,7 +637,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallBlacklist) {
|
| TEST_F(ExtensionManagementServiceTest, NewInstallWhitelist) {
|
| // Set the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.SetBlacklistedByDefault(true); // Disallowed by default.
|
| updater.SetIndividualExtensionInstallationAllowed(kTargetExtension, true);
|
| updater.ClearPerExtensionSettings(kTargetExtension2);
|
| @@ -684,7 +678,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallForcelist) {
|
|
|
| // Set the new dictionary preference.
|
| {
|
| - PrefUpdater updater(pref_service_.get());
|
| + PrefUpdater updater(pref_service_);
|
| updater.SetIndividualExtensionAutoInstalled(
|
| kTargetExtension, kExampleUpdateUrl, true);
|
| }
|
| @@ -718,7 +712,7 @@ TEST_F(ExtensionManagementServiceTest, IsInstallationExplicitlyAllowed) {
|
|
|
| {
|
| // Set BlacklistedByDefault() to false.
|
| - PrefUpdater pref(pref_service_.get());
|
| + PrefUpdater pref(pref_service_);
|
| pref.SetBlacklistedByDefault(false);
|
| }
|
|
|
| @@ -734,7 +728,7 @@ TEST_F(ExtensionManagementServiceTest, IsInstallationExplicitlyAllowed) {
|
|
|
| // Tests the flag value indicating that extensions are blacklisted by default.
|
| TEST_F(ExtensionAdminPolicyTest, BlacklistedByDefault) {
|
| - EXPECT_FALSE(BlacklistedByDefault(NULL));
|
| + EXPECT_FALSE(BlacklistedByDefault(nullptr));
|
|
|
| base::ListValue blacklist;
|
| blacklist.AppendString(kNonExistingExtension);
|
| @@ -750,32 +744,35 @@ TEST_F(ExtensionAdminPolicyTest, BlacklistedByDefault) {
|
| // Tests UserMayLoad for required extensions.
|
| TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) {
|
| CreateExtension(Manifest::COMPONENT);
|
| - EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(),
|
| + nullptr));
|
| base::string16 error;
|
| - EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), &error));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(),
|
| + &error));
|
| EXPECT_TRUE(error.empty());
|
|
|
| // Required extensions may load even if they're on the blacklist.
|
| base::ListValue blacklist;
|
| blacklist.AppendString(extension_->id());
|
| - EXPECT_TRUE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
|
|
| blacklist.AppendString("*");
|
| - EXPECT_TRUE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| }
|
|
|
| // Tests UserMayLoad when no blacklist exists, or it's empty.
|
| TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) {
|
| CreateExtension(Manifest::INTERNAL);
|
| - EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(),
|
| + nullptr));
|
| base::ListValue blacklist;
|
| - EXPECT_TRUE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| base::string16 error;
|
| - EXPECT_TRUE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), &error));
|
| + EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), &error));
|
| EXPECT_TRUE(error.empty());
|
| }
|
|
|
| @@ -785,16 +782,16 @@ TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) {
|
|
|
| base::ListValue whitelist;
|
| whitelist.AppendString(extension_->id());
|
| - EXPECT_TRUE(
|
| - UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
|
|
| base::ListValue blacklist;
|
| blacklist.AppendString(extension_->id());
|
| - EXPECT_TRUE(
|
| - UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| base::string16 error;
|
| - EXPECT_TRUE(
|
| - UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), &error));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr,
|
| + extension_.get(), &error));
|
| EXPECT_TRUE(error.empty());
|
| }
|
|
|
| @@ -805,77 +802,78 @@ TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) {
|
| // Blacklisted by default.
|
| base::ListValue blacklist;
|
| blacklist.AppendString("*");
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| base::string16 error;
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), &error));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), &error));
|
| EXPECT_FALSE(error.empty());
|
|
|
| // Extension on the blacklist, with and without wildcard.
|
| blacklist.AppendString(extension_->id());
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| blacklist.Clear();
|
| blacklist.AppendString(extension_->id());
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
|
|
| // With a whitelist. There's no such thing as a whitelist wildcard.
|
| base::ListValue whitelist;
|
| whitelist.AppendString("behllobkkfkfnphdnhnkndlbkcpglgmj");
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, &whitelist, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, &whitelist, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| whitelist.AppendString("*");
|
| - EXPECT_FALSE(
|
| - UserMayLoad(&blacklist, &whitelist, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(&blacklist, &whitelist, nullptr, nullptr,
|
| + extension_.get(), nullptr));
|
| }
|
|
|
| TEST_F(ExtensionAdminPolicyTest, UserMayLoadAllowedTypes) {
|
| CreateExtension(Manifest::INTERNAL);
|
| - EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(),
|
| + nullptr));
|
|
|
| base::ListValue allowed_types;
|
| - EXPECT_FALSE(
|
| - UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types,
|
| + extension_.get(), nullptr));
|
|
|
| allowed_types.AppendInteger(Manifest::TYPE_EXTENSION);
|
| - EXPECT_TRUE(
|
| - UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types,
|
| + extension_.get(), nullptr));
|
|
|
| CreateHostedApp(Manifest::INTERNAL);
|
| - EXPECT_FALSE(
|
| - UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types,
|
| + extension_.get(), nullptr));
|
|
|
| CreateHostedApp(Manifest::EXTERNAL_POLICY_DOWNLOAD);
|
| - EXPECT_FALSE(
|
| - UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types,
|
| + extension_.get(), nullptr));
|
| }
|
|
|
| TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) {
|
| CreateExtension(Manifest::INTERNAL);
|
| - EXPECT_TRUE(UserMayModifySettings(extension_.get(), NULL));
|
| + EXPECT_TRUE(UserMayModifySettings(extension_.get(), nullptr));
|
| base::string16 error;
|
| EXPECT_TRUE(UserMayModifySettings(extension_.get(), &error));
|
| EXPECT_TRUE(error.empty());
|
|
|
| CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD);
|
| error.clear();
|
| - EXPECT_FALSE(UserMayModifySettings(extension_.get(), NULL));
|
| + EXPECT_FALSE(UserMayModifySettings(extension_.get(), nullptr));
|
| EXPECT_FALSE(UserMayModifySettings(extension_.get(), &error));
|
| EXPECT_FALSE(error.empty());
|
| }
|
|
|
| TEST_F(ExtensionAdminPolicyTest, MustRemainEnabled) {
|
| CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD);
|
| - EXPECT_TRUE(MustRemainEnabled(extension_.get(), NULL));
|
| + EXPECT_TRUE(MustRemainEnabled(extension_.get(), nullptr));
|
| base::string16 error;
|
| EXPECT_TRUE(MustRemainEnabled(extension_.get(), &error));
|
| EXPECT_FALSE(error.empty());
|
|
|
| CreateExtension(Manifest::INTERNAL);
|
| error.clear();
|
| - EXPECT_FALSE(MustRemainEnabled(extension_.get(), NULL));
|
| + EXPECT_FALSE(MustRemainEnabled(extension_.get(), nullptr));
|
| EXPECT_FALSE(MustRemainEnabled(extension_.get(), &error));
|
| EXPECT_TRUE(error.empty());
|
| }
|
|
|