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

Unified Diff: chrome/browser/ui/prefs/prefs_tab_helper.cc

Issue 9838050: Remove per-tab preference machinery. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add back images_enabled in WebPreferences Created 8 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: chrome/browser/ui/prefs/prefs_tab_helper.cc
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
index 8beb5c8e513707928c33ec6b51110d3180b6b285..0e7f07a11a6894e48a84fdff06d8a6682779b046 100644
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@@ -6,7 +6,6 @@
#include "base/string_util.h"
#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/prefs/overlay_user_pref_store.h"
#include "chrome/browser/prefs/pref_service.h"
@@ -30,28 +29,6 @@ using content::WebContents;
namespace {
-const char* kPerTabPrefsToObserve[] = {
- prefs::kDefaultCharset,
- prefs::kWebKitJavascriptEnabled,
- prefs::kWebKitJavascriptCanOpenWindowsAutomatically,
- prefs::kWebKitLoadsImagesAutomatically,
- prefs::kWebKitImagesEnabled,
- prefs::kWebKitPluginsEnabled,
- prefs::kWebKitCursiveFontFamily,
- prefs::kWebKitFantasyFontFamily,
- prefs::kWebKitFixedFontFamily,
- prefs::kWebKitSansSerifFontFamily,
- prefs::kWebKitSerifFontFamily,
- prefs::kWebKitStandardFontFamily,
- prefs::kWebKitDefaultFontSize,
- prefs::kWebKitDefaultFixedFontSize,
- prefs::kWebKitMinimumFontSize,
- prefs::kWebKitMinimumLogicalFontSize,
- prefs::kWebKitXSSAuditorEnabled
-};
-
-const int kPerTabPrefsToObserveLength = arraysize(kPerTabPrefsToObserve);
-
static void RegisterFontsAndCharsetPrefs(PrefService* prefs) {
WebPreferences pref_defaults;
@@ -90,31 +67,6 @@ static void RegisterFontsAndCharsetPrefs(PrefService* prefs) {
PrefService::UNSYNCABLE_PREF);
}
-static void RegisterPerTabUserPrefs(PrefService* prefs) {
- WebPreferences pref_defaults;
-
- prefs->RegisterBooleanPref(prefs::kWebKitJavascriptEnabled,
- pref_defaults.javascript_enabled,
- PrefService::UNSYNCABLE_PREF);
- prefs->RegisterBooleanPref(
- prefs::kWebKitJavascriptCanOpenWindowsAutomatically,
- true,
- PrefService::UNSYNCABLE_PREF);
- prefs->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically,
- pref_defaults.loads_images_automatically,
- PrefService::UNSYNCABLE_PREF);
- prefs->RegisterBooleanPref(prefs::kWebKitImagesEnabled,
- pref_defaults.images_enabled,
- PrefService::UNSYNCABLE_PREF);
- prefs->RegisterBooleanPref(prefs::kWebKitPluginsEnabled,
- pref_defaults.plugins_enabled,
- PrefService::UNSYNCABLE_PREF);
- prefs->RegisterBooleanPref(prefs::kWebKitXSSAuditorEnabled,
- pref_defaults.xss_auditor_enabled,
- PrefService::UNSYNCABLE_PREF);
- RegisterFontsAndCharsetPrefs(prefs);
-}
-
// The list of prefs we want to observe.
const char* kPrefsToObserve[] = {
prefs::kDefaultZoomLevel,
@@ -352,14 +304,6 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
prefs::kWebKitFantasyFontFamilyMap, this);
}
- per_tab_prefs_.reset(
- GetProfile()->GetPrefs()->CreatePrefServiceWithPerTabPrefStore());
- RegisterPerTabUserPrefs(per_tab_prefs_.get());
- per_tab_pref_change_registrar_.Init(per_tab_prefs_.get());
- for (int i = 0; i < kPerTabPrefsToObserveLength; ++i) {
- per_tab_pref_change_registrar_.Add(kPerTabPrefsToObserve[i], this);
- }
-
renderer_preferences_util::UpdateFromSystemSettings(
web_contents()->GetMutableRendererPrefs(), GetProfile());
@@ -385,65 +329,6 @@ void PrefsTabHelper::InitIncognitoUserPrefStore(
}
// static
-void PrefsTabHelper::InitPerTabUserPrefStore(
- OverlayUserPrefStore* pref_store) {
- // List of keys that have per-tab and per-profile (Global) counterpart.
- // Setting a per-profile preference affects all tabs sharing the profile,
- // unless a tab has specified its own per-tab property value. Changing a
- // per-profile preference on a per-tab pref store delegates to the underlying
- // per-profile pref store.
- pref_store->RegisterOverlayPref(
- prefs::kWebKitJavascriptEnabled,
- prefs::kWebKitGlobalJavascriptEnabled);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitJavascriptCanOpenWindowsAutomatically,
- prefs::kWebKitGlobalJavascriptCanOpenWindowsAutomatically);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitLoadsImagesAutomatically,
- prefs::kWebKitGlobalLoadsImagesAutomatically);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitImagesEnabled);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitPluginsEnabled,
- prefs::kWebKitGlobalPluginsEnabled);
- pref_store->RegisterOverlayPref(
- prefs::kDefaultCharset,
- prefs::kGlobalDefaultCharset);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitStandardFontFamily,
- prefs::kWebKitGlobalStandardFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitFixedFontFamily,
- prefs::kWebKitGlobalFixedFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitSerifFontFamily,
- prefs::kWebKitGlobalSerifFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitSansSerifFontFamily,
- prefs::kWebKitGlobalSansSerifFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitCursiveFontFamily,
- prefs::kWebKitGlobalCursiveFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitFantasyFontFamily,
- prefs::kWebKitGlobalFantasyFontFamily);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitDefaultFontSize,
- prefs::kWebKitGlobalDefaultFontSize);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitDefaultFixedFontSize,
- prefs::kWebKitGlobalDefaultFixedFontSize);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitMinimumFontSize,
- prefs::kWebKitGlobalMinimumFontSize);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitMinimumLogicalFontSize,
- prefs::kWebKitGlobalMinimumLogicalFontSize);
- pref_store->RegisterOverlayPref(
- prefs::kWebKitXSSAuditorEnabled);
-}
-
-// static
void PrefsTabHelper::RegisterUserPrefs(PrefService* prefs) {
WebPreferences pref_defaults;
prefs->RegisterBooleanPref(prefs::kWebKitGlobalJavascriptEnabled,
@@ -570,15 +455,6 @@ void PrefsTabHelper::RegisterUserPrefs(PrefService* prefs) {
MigratePreferences(prefs);
}
-void PrefsTabHelper::RenderViewCreated(
- content::RenderViewHost* render_view_host) {
- UpdateWebPreferences();
-}
-
-void PrefsTabHelper::WebContentsDestroyed(WebContents* tab) {
- per_tab_pref_change_registrar_.RemoveAll();
-}
-
void PrefsTabHelper::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
@@ -595,8 +471,7 @@ void PrefsTabHelper::Observe(int type,
case chrome::NOTIFICATION_PREF_CHANGED: {
std::string* pref_name_in = content::Details<std::string>(details).ptr();
DCHECK(content::Source<PrefService>(source).ptr() ==
- GetProfile()->GetPrefs() ||
- content::Source<PrefService>(source).ptr() == per_tab_prefs_);
+ GetProfile()->GetPrefs());
if ((*pref_name_in == prefs::kDefaultCharset ||
*pref_name_in == prefs::kGlobalDefaultCharset) ||
StartsWithASCII(*pref_name_in, "webkit.webprefs.", true)) {
@@ -617,44 +492,8 @@ void PrefsTabHelper::Observe(int type,
void PrefsTabHelper::UpdateWebPreferences() {
content::RenderViewHostDelegate* rvhd =
web_contents()->GetRenderViewHost()->GetDelegate();
- WebPreferences prefs = rvhd->GetWebkitPrefs();
- prefs.javascript_enabled =
- per_tab_prefs_->GetBoolean(prefs::kWebKitJavascriptEnabled);
- prefs.javascript_can_open_windows_automatically =
- per_tab_prefs_->GetBoolean(
- prefs::kWebKitJavascriptCanOpenWindowsAutomatically);
- prefs.loads_images_automatically =
- per_tab_prefs_->GetBoolean(prefs::kWebKitLoadsImagesAutomatically);
- prefs.images_enabled =
- per_tab_prefs_->GetBoolean(prefs::kWebKitImagesEnabled);
- prefs.plugins_enabled =
- per_tab_prefs_->GetBoolean(prefs::kWebKitPluginsEnabled);
- prefs.standard_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitStandardFontFamily));
- prefs.fixed_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitFixedFontFamily));
- prefs.serif_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitSerifFontFamily));
- prefs.sans_serif_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitSansSerifFontFamily));
- prefs.cursive_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitCursiveFontFamily));
- prefs.fantasy_font_family =
- UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitFantasyFontFamily));
- prefs.default_font_size =
- per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFontSize);
- prefs.default_fixed_font_size =
- per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFixedFontSize);
- prefs.minimum_font_size =
- per_tab_prefs_->GetInteger(prefs::kWebKitMinimumFontSize);
- prefs.minimum_logical_font_size =
- per_tab_prefs_->GetInteger(prefs::kWebKitMinimumLogicalFontSize);
- prefs.xss_auditor_enabled =
- per_tab_prefs_->GetBoolean(prefs::kWebKitXSSAuditorEnabled);
- prefs.default_encoding =
- per_tab_prefs_->GetString(prefs::kDefaultCharset);
-
- web_contents()->GetRenderViewHost()->UpdateWebkitPreferences(prefs);
+ web_contents()->GetRenderViewHost()->UpdateWebkitPreferences(
+ rvhd->GetWebkitPrefs());
}
void PrefsTabHelper::UpdateRendererPreferences() {

Powered by Google App Engine
This is Rietveld 408576698