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 |
29 void UpdateFromSystemSettings( | 73 void UpdateFromSystemSettings( |
30 content::RendererPreferences* prefs, Profile* profile) { | 74 content::RendererPreferences* prefs, Profile* profile) { |
31 const PrefService* pref_service = profile->GetPrefs(); | 75 const PrefService* pref_service = profile->GetPrefs(); |
32 prefs->accept_languages = pref_service->GetString(prefs::kAcceptLanguages); | 76 prefs->accept_languages = pref_service->GetString(prefs::kAcceptLanguages); |
33 prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers); | 77 prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers); |
34 prefs->enable_do_not_track = | 78 prefs->enable_do_not_track = |
35 pref_service->GetBoolean(prefs::kEnableDoNotTrack); | 79 pref_service->GetBoolean(prefs::kEnableDoNotTrack); |
36 prefs->default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); | 80 prefs->default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); |
37 | 81 |
38 #if defined(USE_DEFAULT_RENDER_THEME) | 82 #if defined(USE_DEFAULT_RENDER_THEME) |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // If we have a linux_ui object, set the caret blink interval regardless of | 127 // If we have a linux_ui object, set the caret blink interval regardless of |
84 // whether we're in native theme mode. | 128 // whether we're in native theme mode. |
85 prefs->caret_blink_interval = linux_ui->GetCursorBlinkInterval(); | 129 prefs->caret_blink_interval = linux_ui->GetCursorBlinkInterval(); |
86 } | 130 } |
87 #endif | 131 #endif |
88 | 132 |
89 #if defined(OS_LINUX) || defined(OS_ANDROID) | 133 #if defined(OS_LINUX) || defined(OS_ANDROID) |
90 const gfx::FontRenderParams& params = gfx::GetDefaultWebKitFontRenderParams(); | 134 const gfx::FontRenderParams& params = gfx::GetDefaultWebKitFontRenderParams(); |
91 prefs->should_antialias_text = params.antialiasing; | 135 prefs->should_antialias_text = params.antialiasing; |
92 prefs->use_subpixel_positioning = params.subpixel_positioning; | 136 prefs->use_subpixel_positioning = params.subpixel_positioning; |
93 prefs->hinting = params.hinting; | 137 prefs->hinting = GetRendererPreferencesHintingEnum(params.hinting); |
94 prefs->use_autohinter = params.autohinter; | 138 prefs->use_autohinter = params.autohinter; |
95 prefs->use_bitmaps = params.use_bitmaps; | 139 prefs->use_bitmaps = params.use_bitmaps; |
96 prefs->subpixel_rendering = params.subpixel_rendering; | 140 prefs->subpixel_rendering = |
| 141 GetRendererPreferencesSubpixelRenderingEnum(params.subpixel_rendering); |
97 #endif | 142 #endif |
98 | 143 |
99 #if !defined(OS_MACOSX) | 144 #if !defined(OS_MACOSX) |
100 prefs->plugin_fullscreen_allowed = | 145 prefs->plugin_fullscreen_allowed = |
101 pref_service->GetBoolean(prefs::kFullscreenAllowed); | 146 pref_service->GetBoolean(prefs::kFullscreenAllowed); |
102 #endif | 147 #endif |
103 } | 148 } |
104 | 149 |
105 } // namespace renderer_preferences_util | 150 } // namespace renderer_preferences_util |
OLD | NEW |