| 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 bd0f474d9dc42205340c8cd696214e68598e4cf4..8bba4f57c36ba1ac91e5308dd74caf071044e45d 100644
|
| --- a/components/content_settings/core/browser/content_settings_default_provider.cc
|
| +++ b/components/content_settings/core/browser/content_settings_default_provider.cc
|
| @@ -99,6 +99,10 @@ void DefaultProvider::RegisterProfilePrefs(
|
| prefs::kDefaultContentSettings,
|
| default_content_settings,
|
| user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
| + registry->RegisterBooleanPref(
|
| + prefs::kMigratedDefaultMediaStreamSetting,
|
| + false,
|
| + user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
|
| }
|
|
|
| DefaultProvider::DefaultProvider(PrefService* prefs, bool incognito)
|
| @@ -110,6 +114,11 @@ DefaultProvider::DefaultProvider(PrefService* prefs, bool incognito)
|
| // Read global defaults.
|
| ReadDefaultSettings(true);
|
|
|
| + // Migrate the obsolete media stream default setting into the new microphone
|
| + // and camera settings.
|
| + if (!is_incognito_)
|
| + MigrateObsoleteMediaContentSetting();
|
| +
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "ContentSettings.DefaultCookiesSetting",
|
| ValueToContentSetting(
|
| @@ -336,4 +345,29 @@ void DefaultProvider::GetSettingsFromDictionary(
|
| }
|
| }
|
|
|
| +void DefaultProvider::MigrateObsoleteMediaContentSetting() {
|
| + // We only do the migration once.
|
| + if (prefs_->GetBoolean(prefs::kMigratedDefaultMediaStreamSetting))
|
| + return;
|
| +
|
| + ContentSetting old_value = ValueToContentSetting(
|
| + default_settings_[CONTENT_SETTINGS_TYPE_PLUGINS].get());
|
| +
|
| + SetWebsiteSetting(
|
| + ContentSettingsPattern::Wildcard(),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC,
|
| + std::string(),
|
| + new base::FundamentalValue(old_value));
|
| +
|
| + SetWebsiteSetting(
|
| + ContentSettingsPattern::Wildcard(),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
|
| + std::string(),
|
| + new base::FundamentalValue(old_value));
|
| +
|
| + prefs_->SetBoolean(prefs::kMigratedDefaultMediaStreamSetting, true);
|
| +}
|
| +
|
| } // namespace content_settings
|
|
|