| Index: chrome/browser/extensions/extension_service_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
|
| index 679c7ebd2cc51e01b317cf144ae73ea0ea2ddd7b..0e9e7576ebcaff1cb329df0f39edaa520e8fa33e 100644
|
| --- a/chrome/browser/extensions/extension_service_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_service_unittest.cc
|
| @@ -167,6 +167,7 @@ using extensions::ExtensionCreator;
|
| using extensions::ExtensionPrefs;
|
| using extensions::ExtensionRegistry;
|
| using extensions::ExtensionResource;
|
| +using extensions::ExtensionSyncData;
|
| using extensions::ExtensionSystem;
|
| using extensions::FakeSafeBrowsingDatabaseManager;
|
| using extensions::FeatureSwitch;
|
| @@ -5861,7 +5862,7 @@ TEST_F(ExtensionServiceTest, DisableExtensionFromSync) {
|
| ASSERT_TRUE(extension);
|
| ASSERT_TRUE(service()->IsExtensionEnabled(good0));
|
| extensions::ExtensionSyncData disable_good_crx(
|
| - *extension, false, false, false);
|
| + *extension, false, false, false, ExtensionSyncData::BOOLEAN_UNSET);
|
|
|
| // Then sync data arrives telling us to disable |good0|.
|
| syncer::SyncDataList sync_data;
|
| @@ -5908,7 +5909,7 @@ TEST_F(ExtensionServiceTest, DontDisableExtensionWithPendingEnableFromSync) {
|
| // Now sync data comes in that says to disable good0. This should be
|
| // ignored.
|
| extensions::ExtensionSyncData disable_good_crx(
|
| - *extension, false, false, false);
|
| + *extension, false, false, false, ExtensionSyncData::BOOLEAN_FALSE);
|
| syncer::SyncDataList sync_data;
|
| sync_data.push_back(disable_good_crx.GetSyncData());
|
| extension_sync_service()->MergeDataAndStartSyncing(
|
| @@ -5946,6 +5947,7 @@ TEST_F(ExtensionServiceTest, GetSyncData) {
|
| EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled());
|
| EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()),
|
| data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data.all_urls_enabled());
|
| EXPECT_TRUE(data.version().Equals(*extension->version()));
|
| EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension),
|
| data.update_url());
|
| @@ -5977,6 +5979,7 @@ TEST_F(ExtensionServiceTest, GetSyncDataTerminated) {
|
| EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled());
|
| EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()),
|
| data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data.all_urls_enabled());
|
| EXPECT_TRUE(data.version().Equals(*extension->version()));
|
| EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension),
|
| data.update_url());
|
| @@ -6025,6 +6028,7 @@ TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
|
| extensions::ExtensionSyncData data(list[0]);
|
| EXPECT_TRUE(data.enabled());
|
| EXPECT_FALSE(data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data.all_urls_enabled());
|
| }
|
|
|
| service()->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
|
| @@ -6035,9 +6039,12 @@ TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
|
| extensions::ExtensionSyncData data(list[0]);
|
| EXPECT_FALSE(data.enabled());
|
| EXPECT_FALSE(data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data.all_urls_enabled());
|
| }
|
|
|
| extensions::util::SetIsIncognitoEnabled(good_crx, profile(), true);
|
| + extensions::util::SetAllowedScriptingOnAllUrls(
|
| + good_crx, profile(), false);
|
| {
|
| syncer::SyncDataList list =
|
| extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS);
|
| @@ -6045,9 +6052,12 @@ TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
|
| extensions::ExtensionSyncData data(list[0]);
|
| EXPECT_FALSE(data.enabled());
|
| EXPECT_TRUE(data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_FALSE, data.all_urls_enabled());
|
| }
|
|
|
| service()->EnableExtension(good_crx);
|
| + extensions::util::SetAllowedScriptingOnAllUrls(
|
| + good_crx, profile(), true);
|
| {
|
| syncer::SyncDataList list =
|
| extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS);
|
| @@ -6055,6 +6065,7 @@ TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
|
| extensions::ExtensionSyncData data(list[0]);
|
| EXPECT_TRUE(data.enabled());
|
| EXPECT_TRUE(data.incognito_enabled());
|
| + EXPECT_EQ(ExtensionSyncData::BOOLEAN_TRUE, data.all_urls_enabled());
|
| }
|
| }
|
|
|
| @@ -6338,6 +6349,12 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
|
| InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
|
| EXPECT_TRUE(service()->IsExtensionEnabled(good_crx));
|
| EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile()));
|
| + EXPECT_FALSE(extensions::util::HasSetAllowedScriptingOnAllUrls(
|
| + good_crx, profile()));
|
| + const bool kDefaultAllowedScripting =
|
| + extensions::util::DefaultAllowedScriptingOnAllUrls();
|
| + EXPECT_EQ(kDefaultAllowedScripting,
|
| + extensions::util::AllowedScriptingOnAllUrls(good_crx, profile()));
|
|
|
| sync_pb::EntitySpecifics specifics;
|
| sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
|
| @@ -6357,6 +6374,10 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
|
| extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
|
| EXPECT_FALSE(service()->IsExtensionEnabled(good_crx));
|
| EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile()));
|
| + EXPECT_FALSE(extensions::util::HasSetAllowedScriptingOnAllUrls(
|
| + good_crx, profile()));
|
| + EXPECT_EQ(kDefaultAllowedScripting,
|
| + extensions::util::AllowedScriptingOnAllUrls(good_crx, profile()));
|
| }
|
|
|
| {
|
| @@ -6389,6 +6410,41 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
|
| EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile()));
|
| }
|
|
|
| + {
|
| + ext_specifics->set_enabled(true);
|
| + ext_specifics->set_all_urls_enabled(!kDefaultAllowedScripting);
|
| + syncer::SyncData sync_data =
|
| + syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
|
| + syncer::SyncChange sync_change(FROM_HERE,
|
| + syncer::SyncChange::ACTION_UPDATE,
|
| + sync_data);
|
| + syncer::SyncChangeList list(1);
|
| + list[0] = sync_change;
|
| + extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
|
| + EXPECT_TRUE(service()->IsExtensionEnabled(good_crx));
|
| + EXPECT_TRUE(extensions::util::HasSetAllowedScriptingOnAllUrls(
|
| + good_crx, profile()));
|
| + EXPECT_EQ(!kDefaultAllowedScripting,
|
| + extensions::util::AllowedScriptingOnAllUrls(good_crx, profile()));
|
| + }
|
| +
|
| + {
|
| + ext_specifics->set_all_urls_enabled(kDefaultAllowedScripting);
|
| + syncer::SyncData sync_data =
|
| + syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
|
| + syncer::SyncChange sync_change(FROM_HERE,
|
| + syncer::SyncChange::ACTION_UPDATE,
|
| + sync_data);
|
| + syncer::SyncChangeList list(1);
|
| + list[0] = sync_change;
|
| + extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
|
| + EXPECT_TRUE(service()->IsExtensionEnabled(good_crx));
|
| + EXPECT_TRUE(extensions::util::HasSetAllowedScriptingOnAllUrls(
|
| + good_crx, profile()));
|
| + EXPECT_EQ(kDefaultAllowedScripting,
|
| + extensions::util::AllowedScriptingOnAllUrls(good_crx, profile()));
|
| + }
|
| +
|
| EXPECT_FALSE(service()->pending_extension_manager()->IsIdPending(good_crx));
|
| }
|
|
|
|
|