ananta | 9982393 | 2015-01-07 02:50:11 | [diff] [blame] | 1 | // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
ananta | 59b9fe7 | 2015-04-07 01:33:26 | [diff] [blame] | 5 | #include "content/child/webthemeengine_impl_default.h" |
ananta | 9982393 | 2015-01-07 02:50:11 | [diff] [blame] | 6 | #include "content/renderer/render_view_impl.h" |
Leon Han | c819dc6 | 2019-01-28 04:30:19 | [diff] [blame] | 7 | #include "third_party/blink/public/mojom/renderer_preferences.mojom.h" |
Blink Reformat | a30d423 | 2018-04-07 15:31:06 | [diff] [blame] | 8 | #include "third_party/blink/public/web/win/web_font_rendering.h" |
bungeman | 8d44da9 | 2016-05-17 15:38:46 | [diff] [blame] | 9 | #include "third_party/skia/include/core/SkFontLCDConfig.h" |
scottmg | a04a4b3 | 2015-03-26 22:56:49 | [diff] [blame] | 10 | #include "ui/gfx/font_render_params.h" |
ananta | 9982393 | 2015-01-07 02:50:11 | [diff] [blame] | 11 | |
| 12 | using blink::WebFontRendering; |
| 13 | |
| 14 | namespace content { |
| 15 | |
| 16 | void RenderViewImpl::UpdateFontRenderingFromRendererPrefs() { |
Leon Han | c819dc6 | 2019-01-28 04:30:19 | [diff] [blame] | 17 | const blink::mojom::RendererPreferences& prefs = renderer_preferences_; |
ananta | 3ac61e88 | 2015-01-08 14:27:33 | [diff] [blame] | 18 | |
| 19 | // Cache the system font metrics in blink. |
Blink Reformat | 1c4d759e | 2017-04-09 16:34:54 | [diff] [blame] | 20 | blink::WebFontRendering::SetMenuFontMetrics( |
ananta | 3ac61e88 | 2015-01-08 14:27:33 | [diff] [blame] | 21 | prefs.menu_font_family_name.c_str(), prefs.menu_font_height); |
| 22 | |
Blink Reformat | 1c4d759e | 2017-04-09 16:34:54 | [diff] [blame] | 23 | blink::WebFontRendering::SetSmallCaptionFontMetrics( |
ananta | 3ac61e88 | 2015-01-08 14:27:33 | [diff] [blame] | 24 | prefs.small_caption_font_family_name.c_str(), |
| 25 | prefs.small_caption_font_height); |
| 26 | |
Blink Reformat | 1c4d759e | 2017-04-09 16:34:54 | [diff] [blame] | 27 | blink::WebFontRendering::SetStatusFontMetrics( |
ananta | 3ac61e88 | 2015-01-08 14:27:33 | [diff] [blame] | 28 | prefs.status_font_family_name.c_str(), prefs.status_font_height); |
scottmg | a04a4b3 | 2015-03-26 22:56:49 | [diff] [blame] | 29 | |
bungeman | 8d44da9 | 2016-05-17 15:38:46 | [diff] [blame] | 30 | SkFontLCDConfig::SetSubpixelOrder( |
scottmg | a04a4b3 | 2015-03-26 22:56:49 | [diff] [blame] | 31 | gfx::FontRenderParams::SubpixelRenderingToSkiaLCDOrder( |
| 32 | prefs.subpixel_rendering)); |
bungeman | 8d44da9 | 2016-05-17 15:38:46 | [diff] [blame] | 33 | SkFontLCDConfig::SetSubpixelOrientation( |
scottmg | a04a4b3 | 2015-03-26 22:56:49 | [diff] [blame] | 34 | gfx::FontRenderParams::SubpixelRenderingToSkiaLCDOrientation( |
| 35 | prefs.subpixel_rendering)); |
eae | e3fe8533 | 2016-03-07 18:21:17 | [diff] [blame] | 36 | |
Blink Reformat | 1c4d759e | 2017-04-09 16:34:54 | [diff] [blame] | 37 | blink::WebFontRendering::SetAntialiasedTextEnabled( |
eae | e3fe8533 | 2016-03-07 18:21:17 | [diff] [blame] | 38 | prefs.should_antialias_text); |
Blink Reformat | 1c4d759e | 2017-04-09 16:34:54 | [diff] [blame] | 39 | blink::WebFontRendering::SetLCDTextEnabled( |
| 40 | prefs.subpixel_rendering != |
| 41 | gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); |
ananta | 9982393 | 2015-01-07 02:50:11 | [diff] [blame] | 42 | } |
| 43 | |
scottmg | b92365e | 2016-08-30 20:54:40 | [diff] [blame] | 44 | void RenderViewImpl::UpdateThemePrefs() { |
Christopher Cameron | f37f98c | 2019-05-10 18:41:39 | [diff] [blame] | 45 | WebThemeEngineDefault::cacheScrollBarMetrics( |
scottmg | b92365e | 2016-08-30 20:54:40 | [diff] [blame] | 46 | renderer_preferences_.vertical_scroll_bar_width_in_dips, |
| 47 | renderer_preferences_.horizontal_scroll_bar_height_in_dips, |
| 48 | renderer_preferences_.arrow_bitmap_height_vertical_scroll_bar_in_dips, |
| 49 | renderer_preferences_.arrow_bitmap_width_horizontal_scroll_bar_in_dips); |
| 50 | } |
| 51 | |
ananta | 9982393 | 2015-01-07 02:50:11 | [diff] [blame] | 52 | } // namespace content |