Chromium Code Reviews| Index: content/renderer/render_view_linux.cc |
| diff --git a/content/renderer/render_view_linux.cc b/content/renderer/render_view_linux.cc |
| index 41f558c208525fb23749c413eba15eccfa8e6d74..f4ef02e743577ae6aea983313dc4e876b9f77b26 100644 |
| --- a/content/renderer/render_view_linux.cc |
| +++ b/content/renderer/render_view_linux.cc |
| @@ -11,19 +11,20 @@ using blink::WebFontRendering; |
| namespace content { |
| -static SkPaint::Hinting RendererPreferencesToSkiaHinting( |
| +namespace { |
| + |
| +SkPaint::Hinting RendererPreferencesToSkiaHinting( |
| const RendererPreferences& prefs) { |
| if (!prefs.should_antialias_text) { |
| // When anti-aliasing is off, GTK maps all non-zero hinting settings to |
|
Daniel Erat
2014/07/22 19:58:56
perhaps FontRenderParams should also be doing this
msw
2014/07/22 20:58:35
It'd be good to file a bug if we can repro such a
Daniel Erat
2014/07/22 21:15:50
sure, http://crbug.com/396239
|
| // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight' |
| // hinting selected will see readable text in everything expect Chromium. |
| switch (prefs.hinting) { |
| - case RENDERER_PREFERENCES_HINTING_NONE: |
| + case gfx::FontRenderParams::HINTING_NONE: |
| return SkPaint::kNo_Hinting; |
| - case RENDERER_PREFERENCES_HINTING_SYSTEM_DEFAULT: |
| - case RENDERER_PREFERENCES_HINTING_SLIGHT: |
| - case RENDERER_PREFERENCES_HINTING_MEDIUM: |
| - case RENDERER_PREFERENCES_HINTING_FULL: |
| + case gfx::FontRenderParams::HINTING_SLIGHT: |
| + case gfx::FontRenderParams::HINTING_MEDIUM: |
| + case gfx::FontRenderParams::HINTING_FULL: |
| return SkPaint::kNormal_Hinting; |
| default: |
| NOTREACHED(); |
| @@ -32,85 +33,62 @@ static SkPaint::Hinting RendererPreferencesToSkiaHinting( |
| } |
| switch (prefs.hinting) { |
| - case RENDERER_PREFERENCES_HINTING_SYSTEM_DEFAULT: |
| - return SkPaint::kNormal_Hinting; |
| - case RENDERER_PREFERENCES_HINTING_NONE: |
| - return SkPaint::kNo_Hinting; |
| - case RENDERER_PREFERENCES_HINTING_SLIGHT: |
| - return SkPaint::kSlight_Hinting; |
| - case RENDERER_PREFERENCES_HINTING_MEDIUM: |
| - return SkPaint::kNormal_Hinting; |
| - case RENDERER_PREFERENCES_HINTING_FULL: |
| - return SkPaint::kFull_Hinting; |
| - default: |
| - NOTREACHED(); |
| - return SkPaint::kNormal_Hinting; |
| - } |
| -} |
| - |
| -static SkFontHost::LCDOrder RendererPreferencesToSkiaLCDOrder( |
| - RendererPreferencesSubpixelRenderingEnum subpixel) { |
| - switch (subpixel) { |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_SYSTEM_DEFAULT: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_NONE: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_RGB: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VRGB: |
| - return SkFontHost::kRGB_LCDOrder; |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_BGR: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VBGR: |
| - return SkFontHost::kBGR_LCDOrder; |
| - default: |
| - NOTREACHED(); |
| - return SkFontHost::kRGB_LCDOrder; |
| - } |
| -} |
| - |
| -static SkFontHost::LCDOrientation |
| - RendererPreferencesToSkiaLCDOrientation( |
| - RendererPreferencesSubpixelRenderingEnum subpixel) { |
| - switch (subpixel) { |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_SYSTEM_DEFAULT: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_NONE: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_RGB: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_BGR: |
| - return SkFontHost::kHorizontal_LCDOrientation; |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VRGB: |
| - case RENDERER_PREFERENCES_SUBPIXEL_RENDERING_VBGR: |
| - return SkFontHost::kVertical_LCDOrientation; |
| - default: |
| - NOTREACHED(); |
| - return SkFontHost::kHorizontal_LCDOrientation; |
| - } |
| + case gfx::FontRenderParams::HINTING_NONE: return SkPaint::kNo_Hinting; |
| + case gfx::FontRenderParams::HINTING_SLIGHT: return SkPaint::kSlight_Hinting; |
| + case gfx::FontRenderParams::HINTING_MEDIUM: return SkPaint::kNormal_Hinting; |
| + case gfx::FontRenderParams::HINTING_FULL: return SkPaint::kFull_Hinting; |
| + default: |
| + NOTREACHED(); |
| + return SkPaint::kNormal_Hinting; |
| + } |
| } |
| -static bool RendererPreferencesToAntiAliasFlag( |
| +SkFontHost::LCDOrder RendererPreferencesToSkiaLCDOrder( |
| const RendererPreferences& prefs) { |
| - return prefs.should_antialias_text; |
| + switch (prefs.subpixel_rendering) { |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_RGB: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_VRGB: |
| + return SkFontHost::kRGB_LCDOrder; |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_BGR: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_VBGR: |
| + return SkFontHost::kBGR_LCDOrder; |
| + default: |
| + NOTREACHED(); |
| + return SkFontHost::kRGB_LCDOrder; |
| + } |
| } |
| -static bool RendererPreferencesToSubpixelRenderingFlag( |
| +SkFontHost::LCDOrientation RendererPreferencesToSkiaLCDOrientation( |
| const RendererPreferences& prefs) { |
| - if (prefs.subpixel_rendering != |
| - RENDERER_PREFERENCES_SUBPIXEL_RENDERING_SYSTEM_DEFAULT && |
| - prefs.subpixel_rendering != |
| - RENDERER_PREFERENCES_SUBPIXEL_RENDERING_NONE) { |
| - return true; |
| + switch (prefs.subpixel_rendering) { |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_RGB: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_BGR: |
| + return SkFontHost::kHorizontal_LCDOrientation; |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_VRGB: |
| + case gfx::FontRenderParams::SUBPIXEL_RENDERING_VBGR: |
| + return SkFontHost::kVertical_LCDOrientation; |
| + default: |
| + NOTREACHED(); |
| + return SkFontHost::kHorizontal_LCDOrientation; |
| } |
| - return false; |
| } |
| +} // namespace |
| + |
| void RenderViewImpl::UpdateFontRenderingFromRendererPrefs() { |
| const RendererPreferences& prefs = renderer_preferences_; |
| WebFontRendering::setHinting(RendererPreferencesToSkiaHinting(prefs)); |
| WebFontRendering::setAutoHint(prefs.use_autohinter); |
| WebFontRendering::setUseBitmaps(prefs.use_bitmaps); |
| - WebFontRendering::setLCDOrder( |
| - RendererPreferencesToSkiaLCDOrder(prefs.subpixel_rendering)); |
| + WebFontRendering::setLCDOrder(RendererPreferencesToSkiaLCDOrder(prefs)); |
| WebFontRendering::setLCDOrientation( |
| - RendererPreferencesToSkiaLCDOrientation(prefs.subpixel_rendering)); |
| - WebFontRendering::setAntiAlias(RendererPreferencesToAntiAliasFlag(prefs)); |
| + RendererPreferencesToSkiaLCDOrientation(prefs)); |
| + WebFontRendering::setAntiAlias(prefs.should_antialias_text); |
| WebFontRendering::setSubpixelRendering( |
| - RendererPreferencesToSubpixelRenderingFlag(prefs)); |
| + prefs.subpixel_rendering != |
| + gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); |
| WebFontRendering::setSubpixelPositioning(prefs.use_subpixel_positioning); |
| } |