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

Side by Side Diff: chrome/browser/ui/prefs/prefs_tab_helper.cc

Issue 9264071: Add per-tab XSSAuditorEnabled setting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/common/pref_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698