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

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

Issue 1102733002: Remove most occurences of PrefRegistrySyncable::UNSYNCABLE_PREF (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prefs-add-reg-funcs
Patch Set: Created 5 years, 8 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
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 <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 ALL_FONT_SCRIPTS(WEBKIT_WEBPREFS_FONTS_STANDARD) 117 ALL_FONT_SCRIPTS(WEBKIT_WEBPREFS_FONTS_STANDARD)
118 118
119 #undef EXPAND_SCRIPT_FONT 119 #undef EXPAND_SCRIPT_FONT
120 }; 120 };
121 121
122 for (size_t i = 0; i < arraysize(kFontFamilyMap); ++i) { 122 for (size_t i = 0; i < arraysize(kFontFamilyMap); ++i) {
123 const char* pref_name = kFontFamilyMap[i]; 123 const char* pref_name = kFontFamilyMap[i];
124 if (fonts_with_defaults.find(pref_name) == fonts_with_defaults.end()) { 124 if (fonts_with_defaults.find(pref_name) == fonts_with_defaults.end()) {
125 // We haven't already set a default value for this font preference, so set 125 // We haven't already set a default value for this font preference, so set
126 // an empty string as the default. 126 // an empty string as the default.
127 registry->RegisterStringPref( 127 registry->RegisterStringPref(pref_name, std::string());
128 pref_name,
129 std::string(),
130 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
131 } 128 }
132 } 129 }
133 } 130 }
134 #endif // !defined(OS_ANDROID) 131 #endif // !defined(OS_ANDROID)
135 132
136 // Registers |obs| to observe per-script font prefs under the path |map_name|. 133 // Registers |obs| to observe per-script font prefs under the path |map_name|.
137 // On android, there's no exposed way to change these prefs, so we can save 134 // On android, there's no exposed way to change these prefs, so we can save
138 // ~715KB of heap and some startup cycles by avoiding observing these prefs 135 // ~715KB of heap and some startup cycles by avoiding observing these prefs
139 // since they will never change. 136 // since they will never change.
140 void RegisterFontFamilyMapObserver( 137 void RegisterFontFamilyMapObserver(
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 map = &prefs->fantasy_font_family_map; 317 map = &prefs->fantasy_font_family_map;
321 else if (generic_family == "pictograph") 318 else if (generic_family == "pictograph")
322 map = &prefs->pictograph_font_family_map; 319 map = &prefs->pictograph_font_family_map;
323 else 320 else
324 NOTREACHED() << "Unknown generic font family: " << generic_family; 321 NOTREACHED() << "Unknown generic font family: " << generic_family;
325 (*map)[script] = base::UTF8ToUTF16(pref_value); 322 (*map)[script] = base::UTF8ToUTF16(pref_value);
326 } 323 }
327 324
328 void RegisterLocalizedFontPref(user_prefs::PrefRegistrySyncable* registry, 325 void RegisterLocalizedFontPref(user_prefs::PrefRegistrySyncable* registry,
329 const char* path, 326 const char* path,
330 int default_message_id, 327 int default_message_id) {
331 uint32 flags) {
332 int val = 0; 328 int val = 0;
333 bool success = base::StringToInt(l10n_util::GetStringUTF8( 329 bool success = base::StringToInt(l10n_util::GetStringUTF8(
334 default_message_id), &val); 330 default_message_id), &val);
335 DCHECK(success); 331 DCHECK(success);
336 registry->RegisterIntegerPref(path, val, flags); 332 registry->RegisterIntegerPref(path, val);
337 } 333 }
338 334
339 } // namespace 335 } // namespace
340 336
341 // Watching all these settings per tab is slow when a user has a lot of tabs and 337 // Watching all these settings per tab is slow when a user has a lot of tabs and
342 // and they use session restore. So watch them once per profile. 338 // and they use session restore. So watch them once per profile.
343 // http://crbug.com/452693 339 // http://crbug.com/452693
344 class PrefWatcher : public KeyedService { 340 class PrefWatcher : public KeyedService {
345 public: 341 public:
346 explicit PrefWatcher(Profile* profile) : profile_(profile) { 342 explicit PrefWatcher(Profile* profile) : profile_(profile) {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 pref_store->RegisterOverlayPref(prefs::kSaveFileDefaultDirectory); 512 pref_store->RegisterOverlayPref(prefs::kSaveFileDefaultDirectory);
517 #if defined(OS_ANDROID) || defined(OS_IOS) 513 #if defined(OS_ANDROID) || defined(OS_IOS)
518 pref_store->RegisterOverlayPref(prefs::kProxy); 514 pref_store->RegisterOverlayPref(prefs::kProxy);
519 #endif // defined(OS_ANDROID) || defined(OS_IOS) 515 #endif // defined(OS_ANDROID) || defined(OS_IOS)
520 } 516 }
521 517
522 // static 518 // static
523 void PrefsTabHelper::RegisterProfilePrefs( 519 void PrefsTabHelper::RegisterProfilePrefs(
524 user_prefs::PrefRegistrySyncable* registry) { 520 user_prefs::PrefRegistrySyncable* registry) {
525 WebPreferences pref_defaults; 521 WebPreferences pref_defaults;
522 registry->RegisterBooleanPref(prefs::kWebKitJavascriptEnabled,
523 pref_defaults.javascript_enabled);
524 registry->RegisterBooleanPref(prefs::kWebKitWebSecurityEnabled,
525 pref_defaults.web_security_enabled);
526 registry->RegisterBooleanPref( 526 registry->RegisterBooleanPref(
527 prefs::kWebKitJavascriptEnabled, 527 prefs::kWebKitJavascriptCanOpenWindowsAutomatically, true);
528 pref_defaults.javascript_enabled, 528 registry->RegisterBooleanPref(prefs::kWebKitLoadsImagesAutomatically,
529 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 529 pref_defaults.loads_images_automatically);
530 registry->RegisterBooleanPref( 530 registry->RegisterBooleanPref(prefs::kWebKitPluginsEnabled,
531 prefs::kWebKitWebSecurityEnabled, 531 pref_defaults.plugins_enabled);
532 pref_defaults.web_security_enabled, 532 registry->RegisterBooleanPref(prefs::kWebKitDomPasteEnabled,
533 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 533 pref_defaults.dom_paste_enabled);
534 registry->RegisterBooleanPref( 534 registry->RegisterBooleanPref(prefs::kWebKitShrinksStandaloneImagesToFit,
535 prefs::kWebKitJavascriptCanOpenWindowsAutomatically, 535 pref_defaults.shrinks_standalone_images_to_fit);
536 true, 536 registry->RegisterBooleanPref(prefs::kWebKitTextAreasAreResizable,
537 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 537 pref_defaults.text_areas_are_resizable);
538 registry->RegisterBooleanPref( 538 registry->RegisterBooleanPref(prefs::kWebKitJavaEnabled,
539 prefs::kWebKitLoadsImagesAutomatically, 539 pref_defaults.java_enabled);
540 pref_defaults.loads_images_automatically, 540 registry->RegisterBooleanPref(prefs::kWebkitTabsToLinks,
541 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 541 pref_defaults.tabs_to_links);
542 registry->RegisterBooleanPref( 542 registry->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent,
543 prefs::kWebKitPluginsEnabled, 543 false);
544 pref_defaults.plugins_enabled, 544 registry->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent,
545 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 545 true);
546 registry->RegisterBooleanPref( 546 registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
547 prefs::kWebKitDomPasteEnabled,
548 pref_defaults.dom_paste_enabled,
549 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
550 registry->RegisterBooleanPref(
551 prefs::kWebKitShrinksStandaloneImagesToFit,
552 pref_defaults.shrinks_standalone_images_to_fit,
553 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
554 registry->RegisterBooleanPref(
555 prefs::kWebKitTextAreasAreResizable,
556 pref_defaults.text_areas_are_resizable,
557 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
558 registry->RegisterBooleanPref(
559 prefs::kWebKitJavaEnabled,
560 pref_defaults.java_enabled,
561 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
562 registry->RegisterBooleanPref(
563 prefs::kWebkitTabsToLinks,
564 pref_defaults.tabs_to_links,
565 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
566 registry->RegisterBooleanPref(
567 prefs::kWebKitAllowRunningInsecureContent,
568 false,
569 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
570 registry->RegisterBooleanPref(
571 prefs::kWebKitAllowDisplayingInsecureContent,
572 true,
573 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
574 registry->RegisterBooleanPref(
575 prefs::kEnableReferrers,
576 true,
577 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
578 #if defined(OS_ANDROID) 547 #if defined(OS_ANDROID)
579 registry->RegisterDoublePref( 548 registry->RegisterDoublePref(prefs::kWebKitFontScaleFactor, 1.0);
580 prefs::kWebKitFontScaleFactor, 549 registry->RegisterBooleanPref(prefs::kWebKitForceEnableZoom,
581 1.0, 550 pref_defaults.force_enable_zoom);
582 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 551 registry->RegisterBooleanPref(prefs::kWebKitPasswordEchoEnabled,
583 registry->RegisterBooleanPref( 552 pref_defaults.password_echo_enabled);
584 prefs::kWebKitForceEnableZoom,
585 pref_defaults.force_enable_zoom,
586 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
587 registry->RegisterBooleanPref(
588 prefs::kWebKitPasswordEchoEnabled,
589 pref_defaults.password_echo_enabled,
590 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
591 #endif 553 #endif
592 registry->RegisterStringPref( 554 registry->RegisterStringPref(
593 prefs::kAcceptLanguages, 555 prefs::kAcceptLanguages,
594 l10n_util::GetStringUTF8(IDS_ACCEPT_LANGUAGES), 556 l10n_util::GetStringUTF8(IDS_ACCEPT_LANGUAGES),
595 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 557 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
596 registry->RegisterStringPref( 558 registry->RegisterStringPref(
597 prefs::kDefaultCharset, 559 prefs::kDefaultCharset,
598 l10n_util::GetStringUTF8(IDS_DEFAULT_ENCODING), 560 l10n_util::GetStringUTF8(IDS_DEFAULT_ENCODING),
599 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 561 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
600 562
(...skipping 19 matching lines...) Expand all
620 // the default is suppressed. Otherwise, the default would override the 582 // the default is suppressed. Otherwise, the default would override the
621 // user's font preferences when viewing pages in their native language. 583 // user's font preferences when viewing pages in their native language.
622 // This is because users have no way yet of customizing their per-script 584 // This is because users have no way yet of customizing their per-script
623 // font preferences. The font prefs accessible in the options UI are for 585 // font preferences. The font prefs accessible in the options UI are for
624 // the default, unknown script; these prefs have less priority than the 586 // the default, unknown script; these prefs have less priority than the
625 // per-script font prefs when the script of the content is known. This code 587 // per-script font prefs when the script of the content is known. This code
626 // can possibly be removed later if users can easily access per-script font 588 // can possibly be removed later if users can easily access per-script font
627 // prefs (e.g., via the extensions workflow), or the problem turns out to 589 // prefs (e.g., via the extensions workflow), or the problem turns out to
628 // not be really critical after all. 590 // not be really critical after all.
629 if (browser_script != pref_script) { 591 if (browser_script != pref_script) {
630 registry->RegisterStringPref( 592 registry->RegisterStringPref(pref.pref_name,
631 pref.pref_name, 593 l10n_util::GetStringUTF8(pref.resource_id));
632 l10n_util::GetStringUTF8(pref.resource_id),
633 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
634 fonts_with_defaults.insert(pref.pref_name); 594 fonts_with_defaults.insert(pref.pref_name);
635 } 595 }
636 } 596 }
637 597
638 // Register per-script font prefs that don't have defaults. 598 // Register per-script font prefs that don't have defaults.
639 #if !defined(OS_ANDROID) 599 #if !defined(OS_ANDROID)
640 RegisterFontFamilyPrefs(registry, fonts_with_defaults); 600 RegisterFontFamilyPrefs(registry, fonts_with_defaults);
641 #endif 601 #endif
642 602
643 RegisterLocalizedFontPref( 603 RegisterLocalizedFontPref(registry, prefs::kWebKitDefaultFontSize,
644 registry, 604 IDS_DEFAULT_FONT_SIZE);
645 prefs::kWebKitDefaultFontSize, 605 RegisterLocalizedFontPref(registry, prefs::kWebKitDefaultFixedFontSize,
646 IDS_DEFAULT_FONT_SIZE, 606 IDS_DEFAULT_FIXED_FONT_SIZE);
647 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 607 RegisterLocalizedFontPref(registry, prefs::kWebKitMinimumFontSize,
648 RegisterLocalizedFontPref( 608 IDS_MINIMUM_FONT_SIZE);
649 registry, 609 RegisterLocalizedFontPref(registry, prefs::kWebKitMinimumLogicalFontSize,
650 prefs::kWebKitDefaultFixedFontSize, 610 IDS_MINIMUM_LOGICAL_FONT_SIZE);
651 IDS_DEFAULT_FIXED_FONT_SIZE,
652 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
653 RegisterLocalizedFontPref(
654 registry,
655 prefs::kWebKitMinimumFontSize,
656 IDS_MINIMUM_FONT_SIZE,
657 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
658 RegisterLocalizedFontPref(
659 registry,
660 prefs::kWebKitMinimumLogicalFontSize,
661 IDS_MINIMUM_LOGICAL_FONT_SIZE,
662 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
663 registry->RegisterBooleanPref( 611 registry->RegisterBooleanPref(
664 prefs::kWebKitUsesUniversalDetector, 612 prefs::kWebKitUsesUniversalDetector,
665 l10n_util::GetStringUTF8(IDS_USES_UNIVERSAL_DETECTOR) == "true", 613 l10n_util::GetStringUTF8(IDS_USES_UNIVERSAL_DETECTOR) == "true",
666 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 614 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
667 registry->RegisterStringPref( 615 registry->RegisterStringPref(
668 prefs::kStaticEncodings, 616 prefs::kStaticEncodings,
669 l10n_util::GetStringUTF8(IDS_STATIC_ENCODING_LIST), 617 l10n_util::GetStringUTF8(IDS_STATIC_ENCODING_LIST));
670 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 618 registry->RegisterStringPref(prefs::kRecentlySelectedEncoding, std::string());
671 registry->RegisterStringPref(
672 prefs::kRecentlySelectedEncoding,
673 std::string(),
674 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
675 } 619 }
676 620
677 // static 621 // static
678 void PrefsTabHelper::GetServiceInstance() { 622 void PrefsTabHelper::GetServiceInstance() {
679 PrefWatcherFactory::GetInstance(); 623 PrefWatcherFactory::GetInstance();
680 } 624 }
681 625
682 void PrefsTabHelper::Observe(int type, 626 void PrefsTabHelper::Observe(int type,
683 const content::NotificationSource& source, 627 const content::NotificationSource& source,
684 const content::NotificationDetails& details) { 628 const content::NotificationDetails& details) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 } 685 }
742 } 686 }
743 687
744 void PrefsTabHelper::OnWebPrefChanged(const std::string& pref_name) { 688 void PrefsTabHelper::OnWebPrefChanged(const std::string& pref_name) {
745 #if !defined(OS_ANDROID) 689 #if !defined(OS_ANDROID)
746 OnFontFamilyPrefChanged(pref_name); 690 OnFontFamilyPrefChanged(pref_name);
747 #endif 691 #endif
748 692
749 web_contents_->GetRenderViewHost()->OnWebkitPreferencesChanged(); 693 web_contents_->GetRenderViewHost()->OnWebkitPreferencesChanged();
750 } 694 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/passwords/password_bubble_experiment.cc ('k') | chrome/browser/ui/startup/autolaunch_prompt_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698