| 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() {
|
|
|