Index: components/content_settings/core/browser/content_settings_default_provider.cc |
diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc |
index a0a3e33ca8f1632e13c604bb27466de0cd87fcd8..57c573f1f69c6850ecff4496f51c9b20aedca14d 100644 |
--- a/components/content_settings/core/browser/content_settings_default_provider.cc |
+++ b/components/content_settings/core/browser/content_settings_default_provider.cc |
@@ -133,6 +133,13 @@ void DefaultProvider::RegisterProfilePrefs( |
prefs::kMigratedDefaultContentSettings, |
false, |
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
+ |
+ // Whether the deprecated mediastream default setting has already been |
+ // migrated into microphone and camera default settings. |
+ registry->RegisterBooleanPref( |
+ prefs::kMigratedDefaultMediaStreamSetting, |
+ false, |
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
DefaultProvider::DefaultProvider(PrefService* prefs, bool incognito) |
@@ -145,6 +152,10 @@ DefaultProvider::DefaultProvider(PrefService* prefs, bool incognito) |
// preferences. |
MigrateDefaultSettings(); |
+ // Migrate the obsolete media stream default setting into the new microphone |
+ // and camera settings. |
+ MigrateObsoleteMediaContentSetting(); |
+ |
// Read global defaults. |
ReadDefaultSettings(); |
@@ -505,4 +516,18 @@ void DefaultProvider::MigrateDefaultSettings() { |
prefs_->SetBoolean(prefs::kMigratedDefaultContentSettings, true); |
} |
+void DefaultProvider::MigrateObsoleteMediaContentSetting() { |
+ // We only do the migration once. |
+ if (prefs_->GetBoolean(prefs::kMigratedDefaultMediaStreamSetting)) |
+ return; |
msramek
2015/03/25 10:45:08
I rebased over 1004733003 and forgot to split the
|
+ |
+ scoped_ptr<base::Value> value = ReadIndividualPref( |
+ CONTENT_SETTINGS_TYPE_MEDIASTREAM); |
+ WriteIndividualPref(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, value.get()); |
+ WriteIndividualPref(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, value.get()); |
+ WriteIndividualPref(CONTENT_SETTINGS_TYPE_MEDIASTREAM, NULL); |
+ |
+ prefs_->SetBoolean(prefs::kMigratedDefaultMediaStreamSetting, true); |
+} |
+ |
} // namespace content_settings |