OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/prefs/prefs_tab_helper.h" | 5 #include "chrome/browser/ui/prefs/prefs_tab_helper.h" |
6 | 6 |
7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 prefs::kWebKitPluginsEnabled, | 39 prefs::kWebKitPluginsEnabled, |
40 prefs::kWebKitCursiveFontFamily, | 40 prefs::kWebKitCursiveFontFamily, |
41 prefs::kWebKitFantasyFontFamily, | 41 prefs::kWebKitFantasyFontFamily, |
42 prefs::kWebKitFixedFontFamily, | 42 prefs::kWebKitFixedFontFamily, |
43 prefs::kWebKitSansSerifFontFamily, | 43 prefs::kWebKitSansSerifFontFamily, |
44 prefs::kWebKitSerifFontFamily, | 44 prefs::kWebKitSerifFontFamily, |
45 prefs::kWebKitStandardFontFamily, | 45 prefs::kWebKitStandardFontFamily, |
46 prefs::kWebKitDefaultFontSize, | 46 prefs::kWebKitDefaultFontSize, |
47 prefs::kWebKitDefaultFixedFontSize, | 47 prefs::kWebKitDefaultFixedFontSize, |
48 prefs::kWebKitMinimumFontSize, | 48 prefs::kWebKitMinimumFontSize, |
49 prefs::kWebKitMinimumLogicalFontSize | 49 prefs::kWebKitMinimumLogicalFontSize, |
| 50 prefs::kWebKitXSSAuditorEnabled |
50 }; | 51 }; |
51 | 52 |
52 const int kPerTabPrefsToObserveLength = arraysize(kPerTabPrefsToObserve); | 53 const int kPerTabPrefsToObserveLength = arraysize(kPerTabPrefsToObserve); |
53 | 54 |
54 static void RegisterFontsAndCharsetPrefs(PrefService* prefs) { | 55 static void RegisterFontsAndCharsetPrefs(PrefService* prefs) { |
55 WebPreferences pref_defaults; | 56 WebPreferences pref_defaults; |
56 | 57 |
57 prefs->RegisterLocalizedStringPref(prefs::kDefaultCharset, | 58 prefs->RegisterLocalizedStringPref(prefs::kDefaultCharset, |
58 IDS_DEFAULT_ENCODING, | 59 IDS_DEFAULT_ENCODING, |
59 PrefService::SYNCABLE_PREF); | 60 PrefService::SYNCABLE_PREF); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 PrefService::UNSYNCABLE_PREF); | 102 PrefService::UNSYNCABLE_PREF); |
102 prefs->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically, | 103 prefs->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically, |
103 pref_defaults.loads_images_automatically, | 104 pref_defaults.loads_images_automatically, |
104 PrefService::UNSYNCABLE_PREF); | 105 PrefService::UNSYNCABLE_PREF); |
105 prefs->RegisterBooleanPref(prefs::kWebKitImagesEnabled, | 106 prefs->RegisterBooleanPref(prefs::kWebKitImagesEnabled, |
106 pref_defaults.images_enabled, | 107 pref_defaults.images_enabled, |
107 PrefService::UNSYNCABLE_PREF); | 108 PrefService::UNSYNCABLE_PREF); |
108 prefs->RegisterBooleanPref(prefs::kWebKitPluginsEnabled, | 109 prefs->RegisterBooleanPref(prefs::kWebKitPluginsEnabled, |
109 pref_defaults.plugins_enabled, | 110 pref_defaults.plugins_enabled, |
110 PrefService::UNSYNCABLE_PREF); | 111 PrefService::UNSYNCABLE_PREF); |
| 112 prefs->RegisterBooleanPref(prefs::kWebKitXSSAuditorEnabled, |
| 113 pref_defaults.xss_auditor_enabled, |
| 114 PrefService::UNSYNCABLE_PREF); |
111 RegisterFontsAndCharsetPrefs(prefs); | 115 RegisterFontsAndCharsetPrefs(prefs); |
112 } | 116 } |
113 | 117 |
114 // The list of prefs we want to observe. | 118 // The list of prefs we want to observe. |
115 const char* kPrefsToObserve[] = { | 119 const char* kPrefsToObserve[] = { |
116 prefs::kDefaultZoomLevel, | 120 prefs::kDefaultZoomLevel, |
117 prefs::kGlobalDefaultCharset, | 121 prefs::kGlobalDefaultCharset, |
118 prefs::kEnableReferrers, | 122 prefs::kEnableReferrers, |
119 prefs::kWebKitAllowDisplayingInsecureContent, | 123 prefs::kWebKitAllowDisplayingInsecureContent, |
120 prefs::kWebKitAllowRunningInsecureContent, | 124 prefs::kWebKitAllowRunningInsecureContent, |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 prefs::kWebKitGlobalDefaultFontSize); | 431 prefs::kWebKitGlobalDefaultFontSize); |
428 pref_store->RegisterOverlayPref( | 432 pref_store->RegisterOverlayPref( |
429 prefs::kWebKitDefaultFixedFontSize, | 433 prefs::kWebKitDefaultFixedFontSize, |
430 prefs::kWebKitGlobalDefaultFixedFontSize); | 434 prefs::kWebKitGlobalDefaultFixedFontSize); |
431 pref_store->RegisterOverlayPref( | 435 pref_store->RegisterOverlayPref( |
432 prefs::kWebKitMinimumFontSize, | 436 prefs::kWebKitMinimumFontSize, |
433 prefs::kWebKitGlobalMinimumFontSize); | 437 prefs::kWebKitGlobalMinimumFontSize); |
434 pref_store->RegisterOverlayPref( | 438 pref_store->RegisterOverlayPref( |
435 prefs::kWebKitMinimumLogicalFontSize, | 439 prefs::kWebKitMinimumLogicalFontSize, |
436 prefs::kWebKitGlobalMinimumLogicalFontSize); | 440 prefs::kWebKitGlobalMinimumLogicalFontSize); |
| 441 pref_store->RegisterOverlayPref( |
| 442 prefs::kWebKitXSSAuditorEnabled); |
437 } | 443 } |
438 | 444 |
439 // static | 445 // static |
440 void PrefsTabHelper::RegisterUserPrefs(PrefService* prefs) { | 446 void PrefsTabHelper::RegisterUserPrefs(PrefService* prefs) { |
441 WebPreferences pref_defaults; | 447 WebPreferences pref_defaults; |
442 prefs->RegisterBooleanPref(prefs::kWebKitGlobalJavascriptEnabled, | 448 prefs->RegisterBooleanPref(prefs::kWebKitGlobalJavascriptEnabled, |
443 pref_defaults.javascript_enabled, | 449 pref_defaults.javascript_enabled, |
444 PrefService::UNSYNCABLE_PREF); | 450 PrefService::UNSYNCABLE_PREF); |
445 prefs->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled, | 451 prefs->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled, |
446 pref_defaults.web_security_enabled, | 452 pref_defaults.web_security_enabled, |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
634 prefs.fantasy_font_family = | 640 prefs.fantasy_font_family = |
635 UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitFantasyFontFamily)); | 641 UTF8ToUTF16(per_tab_prefs_->GetString(prefs::kWebKitFantasyFontFamily)); |
636 prefs.default_font_size = | 642 prefs.default_font_size = |
637 per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFontSize); | 643 per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFontSize); |
638 prefs.default_fixed_font_size = | 644 prefs.default_fixed_font_size = |
639 per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFixedFontSize); | 645 per_tab_prefs_->GetInteger(prefs::kWebKitDefaultFixedFontSize); |
640 prefs.minimum_font_size = | 646 prefs.minimum_font_size = |
641 per_tab_prefs_->GetInteger(prefs::kWebKitMinimumFontSize); | 647 per_tab_prefs_->GetInteger(prefs::kWebKitMinimumFontSize); |
642 prefs.minimum_logical_font_size = | 648 prefs.minimum_logical_font_size = |
643 per_tab_prefs_->GetInteger(prefs::kWebKitMinimumLogicalFontSize); | 649 per_tab_prefs_->GetInteger(prefs::kWebKitMinimumLogicalFontSize); |
| 650 prefs.xss_auditor_enabled = |
| 651 per_tab_prefs_->GetBoolean(prefs::kWebKitXSSAuditorEnabled); |
644 prefs.default_encoding = | 652 prefs.default_encoding = |
645 per_tab_prefs_->GetString(prefs::kDefaultCharset); | 653 per_tab_prefs_->GetString(prefs::kDefaultCharset); |
646 | 654 |
647 web_contents()->GetRenderViewHost()->UpdateWebkitPreferences(prefs); | 655 web_contents()->GetRenderViewHost()->UpdateWebkitPreferences(prefs); |
648 } | 656 } |
649 | 657 |
650 void PrefsTabHelper::UpdateRendererPreferences() { | 658 void PrefsTabHelper::UpdateRendererPreferences() { |
651 renderer_preferences_util::UpdateFromSystemSettings( | 659 renderer_preferences_util::UpdateFromSystemSettings( |
652 web_contents()->GetMutableRendererPrefs(), GetProfile()); | 660 web_contents()->GetMutableRendererPrefs(), GetProfile()); |
653 web_contents()->GetRenderViewHost()->SyncRendererPrefs(); | 661 web_contents()->GetRenderViewHost()->SyncRendererPrefs(); |
654 } | 662 } |
655 | 663 |
656 Profile* PrefsTabHelper::GetProfile() { | 664 Profile* PrefsTabHelper::GetProfile() { |
657 return Profile::FromBrowserContext(web_contents()->GetBrowserContext()); | 665 return Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |
658 } | 666 } |
OLD | NEW |