Add a global on/off switch for content settings and expose a toggle on the Website Settings options page.

[email protected]
BUG=372607

Review URL: https://codereview.chromium.org/542253003

Cr-Commit-Position: refs/heads/master@{#295572}
diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
index a4a54b4..df26aea 100644
--- a/chrome/browser/ui/website_settings/website_settings.cc
+++ b/chrome/browser/ui/website_settings/website_settings.cc
@@ -274,8 +274,9 @@
     // This is not a concern for CONTENT_SETTINGS_TYPE_MEDIASTREAM since users
     // can not create media settings exceptions by hand.
     content_settings::SettingInfo info;
-    scoped_ptr<base::Value> v(content_settings_->GetWebsiteSetting(
-        site_url_, site_url_, type, std::string(), &info));
+    scoped_ptr<base::Value> v =
+        content_settings_->GetWebsiteSettingWithoutOverride(
+            site_url_, site_url_, type, std::string(), &info);
     content_settings_->SetNarrowestWebsiteSetting(
         primary_pattern, secondary_pattern, type, std::string(), setting, info);
   } else {
@@ -616,21 +617,23 @@
 
     content_settings::SettingInfo info;
     if (permission_info.type == CONTENT_SETTINGS_TYPE_MEDIASTREAM) {
-      scoped_ptr<base::Value> mic_value(content_settings_->GetWebsiteSetting(
-          site_url_,
-          site_url_,
-          CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC,
-          std::string(),
-          &info));
+      scoped_ptr<base::Value> mic_value =
+          content_settings_->GetWebsiteSettingWithoutOverride(
+              site_url_,
+              site_url_,
+              CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC,
+              std::string(),
+              &info);
       ContentSetting mic_setting =
           content_settings::ValueToContentSetting(mic_value.get());
 
-      scoped_ptr<base::Value> camera_value(content_settings_->GetWebsiteSetting(
-          site_url_,
-          site_url_,
-          CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
-          std::string(),
-          &info));
+      scoped_ptr<base::Value> camera_value =
+          content_settings_->GetWebsiteSettingWithoutOverride(
+              site_url_,
+              site_url_,
+              CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
+              std::string(),
+              &info);
       ContentSetting camera_setting =
           content_settings::ValueToContentSetting(camera_value.get());
 
@@ -639,8 +642,9 @@
       else
         permission_info.setting = mic_setting;
     } else {
-      scoped_ptr<base::Value> value(content_settings_->GetWebsiteSetting(
-          site_url_, site_url_, permission_info.type, std::string(), &info));
+      scoped_ptr<base::Value> value =
+          content_settings_->GetWebsiteSettingWithoutOverride(
+              site_url_, site_url_, permission_info.type, std::string(), &info);
       DCHECK(value.get());
       if (value->GetType() == base::Value::TYPE_INTEGER) {
         permission_info.setting =