| Index: chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| diff --git a/chrome/browser/content_settings/host_content_settings_map_unittest.cc b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| index e8fd7c404340c4691b49ef90e9d2c0c4868c8255..5aa17cd0a20b833ad3c55cfecd9cc02a81ab0790 100644
|
| --- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| +++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| @@ -1250,6 +1250,8 @@ TEST_F(HostContentSettingsMapTest, AddContentSettingsObserver) {
|
| CONTENT_SETTING_DEFAULT);
|
| }
|
|
|
| +// Guest profiles do not exist on Android, so don't run these tests there.
|
| +#if !defined(OS_ANDROID)
|
| TEST_F(HostContentSettingsMapTest, GuestProfile) {
|
| TestingProfile profile;
|
| profile.SetGuestSession(true);
|
| @@ -1321,6 +1323,7 @@ TEST_F(HostContentSettingsMapTest, GuestProfileMigration) {
|
| GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES));
|
| EXPECT_TRUE(all_settings_dictionary->empty());
|
| }
|
| +#endif // !defined(OS_ANDROID)
|
|
|
| TEST_F(HostContentSettingsMapTest, MigrateDomainScopedSettings) {
|
| TestingProfile profile;
|
| @@ -1497,6 +1500,13 @@ TEST_F(HostContentSettingsMapTest, MigrateDomainScopedSettings) {
|
| // once after syncing (even when these events occur multiple times).
|
| TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) {
|
| TestingProfile profile;
|
| +
|
| + // Construct the map now to make the various platforms equivalent. On Android
|
| + // the map is created with the profile (due to dependencies), while on other
|
| + // platforms it is created lazily. Note, migration should be run here.
|
| + HostContentSettingsMap* host_content_settings_map =
|
| + HostContentSettingsMapFactory::GetForProfile(&profile);
|
| +
|
| PrefService* prefs = profile.GetPrefs();
|
|
|
| GURL http_host("http://example.com/");
|
| @@ -1522,13 +1532,38 @@ TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) {
|
| EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion(
|
| "[*.]example.com,*", &result));
|
|
|
| - // Migration is done on construction of HostContentSettingsMap.
|
| - HostContentSettingsMap* host_content_settings_map =
|
| - HostContentSettingsMapFactory::GetForProfile(&profile);
|
| + // Migration is done on construction of HostContentSettingsMap. Try to run it
|
| + // again. This should not do anything as it has already ran.
|
| + host_content_settings_map->MigrateDomainScopedSettings(
|
| + false /* after_sync */);
|
|
|
| // Change default setting to BLOCK.
|
| host_content_settings_map->SetDefaultContentSetting(
|
| CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_BLOCK);
|
| +
|
| + EXPECT_EQ(
|
| + CONTENT_SETTING_ALLOW,
|
| + host_content_settings_map->GetContentSetting(
|
| + http_host, http_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string()));
|
| +
|
| + // The setting should still be allow as it hasn't been migrated.
|
| + EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| + host_content_settings_map->GetContentSetting(
|
| + http_host_narrower, http_host_narrower,
|
| + CONTENT_SETTINGS_TYPE_POPUPS, std::string()));
|
| +
|
| + // Set the pref to its initial state so that migration can be triggered again,
|
| + // just for the sake of testing.
|
| + int default_value;
|
| + prefs->GetDefaultPrefValue(prefs::kDomainToOriginMigrationStatus)
|
| + ->GetAsInteger(&default_value);
|
| + prefs->SetInteger(prefs::kDomainToOriginMigrationStatus, default_value);
|
| +
|
| + // Now, do the migration. This should work as we've cleared the pref back to
|
| + // its default value.
|
| + host_content_settings_map->MigrateDomainScopedSettings(false);
|
| +
|
| + // Now the settings should be migrated.
|
| EXPECT_EQ(
|
| CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| @@ -1546,6 +1581,7 @@ TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) {
|
| ContentSettingsPattern::FromURL(https_host),
|
| ContentSettingsPattern::Wildcard(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| std::string(), CONTENT_SETTING_ALLOW);
|
| +
|
| EXPECT_EQ(
|
| CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
|
|