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

Unified Diff: components/content_settings/core/browser/content_settings_default_provider.cc

Issue 965103004: Stop using the MEDIASTREAM content setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Migration code added. Created 5 years, 9 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: 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..0f7d98f1694eceed0b4c13aedc89ce390a1634da 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,30 @@ void DefaultProvider::GetSettingsFromDictionary(
}
}
+void DefaultProvider::MigrateObsoleteMediaContentSetting() {
+ // We only do the migration once.
+ if (prefs_->GetBoolean(prefs::kMigratedDefaultMediaStreamSetting))
+ return;
+
+ int old_value;
+ default_settings_[CONTENT_SETTINGS_TYPE_MEDIASTREAM]->GetAsInteger(
markusheintz_ 2015/03/06 16:05:33 Do the default_settings_ contain values for settin
msramek 2015/03/06 17:47:33 Hm, you're right. I was under incorrect impression
+ &old_value);
+
+ 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

Powered by Google App Engine
This is Rietveld 408576698