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

Unified Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 907533004: [Extensions] Sync the 'allowed scripting on all urls' preference (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
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));
}
« no previous file with comments | « chrome/browser/extensions/app_sync_data_unittest.cc ('k') | chrome/browser/extensions/extension_sync_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698