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

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

Issue 2850503006: Android: disables observing changes for font prefs. (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « no previous file | no next file » | 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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <set> 10 #include <set>
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 for (size_t i = 0; i < arraysize(kFontFamilyMap); ++i) { 131 for (size_t i = 0; i < arraysize(kFontFamilyMap); ++i) {
132 const char* pref_name = kFontFamilyMap[i]; 132 const char* pref_name = kFontFamilyMap[i];
133 if (fonts_with_defaults.find(pref_name) == fonts_with_defaults.end()) { 133 if (fonts_with_defaults.find(pref_name) == fonts_with_defaults.end()) {
134 // We haven't already set a default value for this font preference, so set 134 // We haven't already set a default value for this font preference, so set
135 // an empty string as the default. 135 // an empty string as the default.
136 registry->RegisterStringPref(pref_name, std::string()); 136 registry->RegisterStringPref(pref_name, std::string());
137 } 137 }
138 } 138 }
139 } 139 }
140 #endif // !defined(OS_ANDROID)
141 140
142 // Registers |obs| to observe per-script font prefs under the path |map_name|. 141 // Registers |obs| to observe per-script font prefs under the path |map_name|.
143 // On android, there's no exposed way to change these prefs, so we can save 142 // On android, there's no exposed way to change these prefs, so we can save
144 // ~715KB of heap and some startup cycles by avoiding observing these prefs 143 // ~715KB of heap and some startup cycles by avoiding observing these prefs
145 // since they will never change. 144 // since they will never change.
146 void RegisterFontFamilyMapObserver( 145 void RegisterFontFamilyMapObserver(
147 PrefChangeRegistrar* registrar, 146 PrefChangeRegistrar* registrar,
148 const char* map_name, 147 const char* map_name,
149 const PrefChangeRegistrar::NamedChangeCallback& obs) { 148 const PrefChangeRegistrar::NamedChangeCallback& obs) {
150 DCHECK(base::StartsWith(map_name, "webkit.webprefs.", 149 DCHECK(base::StartsWith(map_name, "webkit.webprefs.",
151 base::CompareCase::SENSITIVE)); 150 base::CompareCase::SENSITIVE));
152 151
153 for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) { 152 for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) {
154 const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i]; 153 const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i];
155 registrar->Add(base::StringPrintf("%s.%s", map_name, script), obs); 154 registrar->Add(base::StringPrintf("%s.%s", map_name, script), obs);
156 } 155 }
157 } 156 }
157 #endif // !defined(OS_ANDROID)
158 158
159 #if defined(OS_WIN) 159 #if defined(OS_WIN)
160 // On Windows with antialising we want to use an alternate fixed font like 160 // On Windows with antialising we want to use an alternate fixed font like
161 // Consolas, which looks much better than Courier New. 161 // Consolas, which looks much better than Courier New.
162 bool ShouldUseAlternateDefaultFixedFont(const std::string& script) { 162 bool ShouldUseAlternateDefaultFixedFont(const std::string& script) {
163 if (!base::StartsWith(script, "courier", 163 if (!base::StartsWith(script, "courier",
164 base::CompareCase::INSENSITIVE_ASCII)) 164 base::CompareCase::INSENSITIVE_ASCII))
165 return false; 165 return false;
166 UINT smooth_type = 0; 166 UINT smooth_type = 0;
167 SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &smooth_type, 0); 167 SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &smooth_type, 0);
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 pref_change_registrar_.Add(prefs::kFullscreenAllowed, renderer_callback); 366 pref_change_registrar_.Add(prefs::kFullscreenAllowed, renderer_callback);
367 #endif 367 #endif
368 368
369 PrefChangeRegistrar::NamedChangeCallback webkit_callback = base::Bind( 369 PrefChangeRegistrar::NamedChangeCallback webkit_callback = base::Bind(
370 &PrefWatcher::OnWebPrefChanged, base::Unretained(this)); 370 &PrefWatcher::OnWebPrefChanged, base::Unretained(this));
371 for (int i = 0; i < kPrefsToObserveLength; ++i) { 371 for (int i = 0; i < kPrefsToObserveLength; ++i) {
372 const char* pref_name = kPrefsToObserve[i]; 372 const char* pref_name = kPrefsToObserve[i];
373 pref_change_registrar_.Add(pref_name, webkit_callback); 373 pref_change_registrar_.Add(pref_name, webkit_callback);
374 } 374 }
375 375
376 #if !defined(OS_ANDROID)
376 RegisterFontFamilyMapObserver(&pref_change_registrar_, 377 RegisterFontFamilyMapObserver(&pref_change_registrar_,
377 prefs::kWebKitStandardFontFamilyMap, 378 prefs::kWebKitStandardFontFamilyMap,
378 webkit_callback); 379 webkit_callback);
379 RegisterFontFamilyMapObserver(&pref_change_registrar_, 380 RegisterFontFamilyMapObserver(&pref_change_registrar_,
380 prefs::kWebKitFixedFontFamilyMap, 381 prefs::kWebKitFixedFontFamilyMap,
381 webkit_callback); 382 webkit_callback);
382 RegisterFontFamilyMapObserver(&pref_change_registrar_, 383 RegisterFontFamilyMapObserver(&pref_change_registrar_,
383 prefs::kWebKitSerifFontFamilyMap, 384 prefs::kWebKitSerifFontFamilyMap,
384 webkit_callback); 385 webkit_callback);
385 RegisterFontFamilyMapObserver(&pref_change_registrar_, 386 RegisterFontFamilyMapObserver(&pref_change_registrar_,
386 prefs::kWebKitSansSerifFontFamilyMap, 387 prefs::kWebKitSansSerifFontFamilyMap,
387 webkit_callback); 388 webkit_callback);
388 RegisterFontFamilyMapObserver(&pref_change_registrar_, 389 RegisterFontFamilyMapObserver(&pref_change_registrar_,
389 prefs::kWebKitCursiveFontFamilyMap, 390 prefs::kWebKitCursiveFontFamilyMap,
390 webkit_callback); 391 webkit_callback);
391 RegisterFontFamilyMapObserver(&pref_change_registrar_, 392 RegisterFontFamilyMapObserver(&pref_change_registrar_,
392 prefs::kWebKitFantasyFontFamilyMap, 393 prefs::kWebKitFantasyFontFamilyMap,
393 webkit_callback); 394 webkit_callback);
394 RegisterFontFamilyMapObserver(&pref_change_registrar_, 395 RegisterFontFamilyMapObserver(&pref_change_registrar_,
395 prefs::kWebKitPictographFontFamilyMap, 396 prefs::kWebKitPictographFontFamilyMap,
396 webkit_callback); 397 webkit_callback);
398 #endif // !defined(OS_ANDROID)
397 } 399 }
398 400
399 static PrefWatcher* Get(Profile* profile); 401 static PrefWatcher* Get(Profile* profile);
400 402
401 void RegisterHelper(PrefsTabHelper* helper) { 403 void RegisterHelper(PrefsTabHelper* helper) {
402 helpers_.insert(helper); 404 helpers_.insert(helper);
403 } 405 }
404 406
405 void UnregisterHelper(PrefsTabHelper* helper) { 407 void UnregisterHelper(PrefsTabHelper* helper) {
406 helpers_.erase(helper); 408 helpers_.erase(helper);
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 681 }
680 682
681 void PrefsTabHelper::NotifyWebkitPreferencesChanged( 683 void PrefsTabHelper::NotifyWebkitPreferencesChanged(
682 const std::string& pref_name) { 684 const std::string& pref_name) {
683 #if !defined(OS_ANDROID) 685 #if !defined(OS_ANDROID)
684 OnFontFamilyPrefChanged(pref_name); 686 OnFontFamilyPrefChanged(pref_name);
685 #endif 687 #endif
686 688
687 web_contents_->GetRenderViewHost()->OnWebkitPreferencesChanged(); 689 web_contents_->GetRenderViewHost()->OnWebkitPreferencesChanged();
688 } 690 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698