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/renderer_preferences_util.h" | 5 #include "chrome/browser/renderer_preferences_util.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/common/pref_names.h" | 9 #include "chrome/common/pref_names.h" |
10 #include "content/public/common/renderer_preferences.h" | 10 #include "content/public/common/renderer_preferences.h" |
11 #include "third_party/skia/include/core/SkColor.h" | 11 #include "third_party/skia/include/core/SkColor.h" |
12 | 12 |
13 #if defined(OS_LINUX) || defined(OS_ANDROID) | 13 #if defined(OS_LINUX) || defined(OS_ANDROID) |
14 #include "ui/gfx/font_render_params.h" | 14 #include "ui/gfx/font_render_params.h" |
15 #endif | 15 #endif |
16 | 16 |
17 #if defined(TOOLKIT_VIEWS) | 17 #if defined(TOOLKIT_VIEWS) |
18 #include "ui/views/controls/textfield/textfield.h" | 18 #include "ui/views/controls/textfield/textfield.h" |
19 #endif | 19 #endif |
20 | 20 |
21 #if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) | 21 #if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) |
22 #include "chrome/browser/themes/theme_service.h" | 22 #include "chrome/browser/themes/theme_service.h" |
23 #include "chrome/browser/themes/theme_service_factory.h" | 23 #include "chrome/browser/themes/theme_service_factory.h" |
24 #include "ui/views/linux_ui/linux_ui.h" | 24 #include "ui/views/linux_ui/linux_ui.h" |
25 #endif | 25 #endif |
26 | 26 |
27 namespace renderer_preferences_util { | 27 namespace renderer_preferences_util { |
28 | 28 |
29 namespace { | |
30 | |
31 #if defined(OS_LINUX) || defined(OS_ANDROID) | |
32 content::RendererPreferencesHintingEnum GetRendererPreferencesHintingEnum( | |
33 gfx::FontRenderParams::Hinting hinting) { | |
34 switch (hinting) { | |
35 case gfx::FontRenderParams::HINTING_NONE: | |
36 return content::RENDERER_PREFERENCES_HINTING_NONE; | |
37 case gfx::FontRenderParams::HINTING_SLIGHT: | |
38 return content::RENDERER_PREFERENCES_HINTING_SLIGHT; | |
39 case gfx::FontRenderParams::HINTING_MEDIUM: | |
40 return content::RENDERER_PREFERENCES_HINTING_MEDIUM; | |
41 case gfx::FontRenderParams::HINTING_FULL: | |
42 return content::RENDERER_PREFERENCES_HINTING_FULL; | |
43 default: | |
44 NOTREACHED() << "Unhandled hinting style " << hinting; | |
45 return content::RENDERER_PREFERENCES_HINTING_SYSTEM_DEFAULT; | |
46 } | |
47 } | |
48 | |
49 content::RendererPreferencesSubpixelRenderingEnum | |
50 GetRendererPreferencesSubpixelRenderingEnum( | |
51 gfx::FontRenderParams::SubpixelRendering subpixel_rendering) { | |
52 switch (subpixel_rendering) { | |
53 case gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE: | |
54 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_NONE; | |
55 case gfx::FontRenderParams::SUBPIXEL_RENDERING_RGB: | |
56 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_RGB; | |
57 case gfx::FontRenderParams::SUBPIXEL_RENDERING_BGR: | |
58 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_BGR; | |
59 case gfx::FontRenderParams::SUBPIXEL_RENDERING_VRGB: | |
60 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VRGB; | |
61 case gfx::FontRenderParams::SUBPIXEL_RENDERING_VBGR: | |
62 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VBGR; | |
63 default: | |
64 NOTREACHED() << "Unhandled subpixel rendering style " | |
65 << subpixel_rendering; | |
66 return content::RENDERER_PREFERENCES_SUBPIXEL_RENDERING_SYSTEM_DEFAULT; | |
67 } | |
68 } | |
69 #endif // defined(OS_LINUX) || defined(OS_ANDROID) | |
70 | |
71 } // namespace | |
72 | |
73 void UpdateFromSystemSettings( | 29 void UpdateFromSystemSettings( |
74 content::RendererPreferences* prefs, Profile* profile) { | 30 content::RendererPreferences* prefs, Profile* profile) { |
75 const PrefService* pref_service = profile->GetPrefs(); | 31 const PrefService* pref_service = profile->GetPrefs(); |
76 prefs->accept_languages = pref_service->GetString(prefs::kAcceptLanguages); | 32 prefs->accept_languages = pref_service->GetString(prefs::kAcceptLanguages); |
77 prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers); | 33 prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers); |
78 prefs->enable_do_not_track = | 34 prefs->enable_do_not_track = |
79 pref_service->GetBoolean(prefs::kEnableDoNotTrack); | 35 pref_service->GetBoolean(prefs::kEnableDoNotTrack); |
80 prefs->default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); | 36 prefs->default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); |
81 | 37 |
82 #if defined(USE_DEFAULT_RENDER_THEME) | 38 #if defined(USE_DEFAULT_RENDER_THEME) |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 // If we have a linux_ui object, set the caret blink interval regardless of | 83 // If we have a linux_ui object, set the caret blink interval regardless of |
128 // whether we're in native theme mode. | 84 // whether we're in native theme mode. |
129 prefs->caret_blink_interval = linux_ui->GetCursorBlinkInterval(); | 85 prefs->caret_blink_interval = linux_ui->GetCursorBlinkInterval(); |
130 } | 86 } |
131 #endif | 87 #endif |
132 | 88 |
133 #if defined(OS_LINUX) || defined(OS_ANDROID) | 89 #if defined(OS_LINUX) || defined(OS_ANDROID) |
134 const gfx::FontRenderParams& params = gfx::GetDefaultWebKitFontRenderParams(); | 90 const gfx::FontRenderParams& params = gfx::GetDefaultWebKitFontRenderParams(); |
135 prefs->should_antialias_text = params.antialiasing; | 91 prefs->should_antialias_text = params.antialiasing; |
136 prefs->use_subpixel_positioning = params.subpixel_positioning; | 92 prefs->use_subpixel_positioning = params.subpixel_positioning; |
137 prefs->hinting = GetRendererPreferencesHintingEnum(params.hinting); | 93 prefs->hinting = params.hinting; |
138 prefs->use_autohinter = params.autohinter; | 94 prefs->use_autohinter = params.autohinter; |
139 prefs->use_bitmaps = params.use_bitmaps; | 95 prefs->use_bitmaps = params.use_bitmaps; |
140 prefs->subpixel_rendering = | 96 prefs->subpixel_rendering = params.subpixel_rendering; |
141 GetRendererPreferencesSubpixelRenderingEnum(params.subpixel_rendering); | |
142 #endif | 97 #endif |
143 | 98 |
144 #if !defined(OS_MACOSX) | 99 #if !defined(OS_MACOSX) |
145 prefs->plugin_fullscreen_allowed = | 100 prefs->plugin_fullscreen_allowed = |
146 pref_service->GetBoolean(prefs::kFullscreenAllowed); | 101 pref_service->GetBoolean(prefs::kFullscreenAllowed); |
147 #endif | 102 #endif |
148 } | 103 } |
149 | 104 |
150 } // namespace renderer_preferences_util | 105 } // namespace renderer_preferences_util |
OLD | NEW |