| Index: content/renderer/render_view_linux.cc
|
| diff --git a/content/renderer/render_view_linux.cc b/content/renderer/render_view_linux.cc
|
| index f4ef02e743577ae6aea983313dc4e876b9f77b26..41f558c208525fb23749c413eba15eccfa8e6d74 100644
|
| --- a/content/renderer/render_view_linux.cc
|
| +++ b/content/renderer/render_view_linux.cc
|
| @@ -11,20 +11,19 @@
|
|
|
| namespace content {
|
|
|
| -namespace {
|
| -
|
| -SkPaint::Hinting RendererPreferencesToSkiaHinting(
|
| +static SkPaint::Hinting RendererPreferencesToSkiaHinting(
|
| const RendererPreferences& prefs) {
|
| if (!prefs.should_antialias_text) {
|
| // When anti-aliasing is off, GTK maps all non-zero hinting settings to
|
| // '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 gfx::FontRenderParams::HINTING_NONE:
|
| + case RENDERER_PREFERENCES_HINTING_NONE:
|
| return SkPaint::kNo_Hinting;
|
| - case gfx::FontRenderParams::HINTING_SLIGHT:
|
| - case gfx::FontRenderParams::HINTING_MEDIUM:
|
| - case gfx::FontRenderParams::HINTING_FULL:
|
| + case RENDERER_PREFERENCES_HINTING_SYSTEM_DEFAULT:
|
| + case RENDERER_PREFERENCES_HINTING_SLIGHT:
|
| + case RENDERER_PREFERENCES_HINTING_MEDIUM:
|
| + case RENDERER_PREFERENCES_HINTING_FULL:
|
| return SkPaint::kNormal_Hinting;
|
| default:
|
| NOTREACHED();
|
| @@ -33,62 +32,85 @@
|
| }
|
|
|
| switch (prefs.hinting) {
|
| - 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;
|
| - }
|
| -}
|
| -
|
| -SkFontHost::LCDOrder RendererPreferencesToSkiaLCDOrder(
|
| - const RendererPreferences& prefs) {
|
| - 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;
|
| + 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;
|
| }
|
| }
|
|
|
| -SkFontHost::LCDOrientation RendererPreferencesToSkiaLCDOrientation(
|
| - const RendererPreferences& prefs) {
|
| - 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;
|
| +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;
|
| }
|
| }
|
|
|
| -} // namespace
|
| +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;
|
| + }
|
| +}
|
| +
|
| +static bool RendererPreferencesToAntiAliasFlag(
|
| + const RendererPreferences& prefs) {
|
| + return prefs.should_antialias_text;
|
| +}
|
| +
|
| +static bool RendererPreferencesToSubpixelRenderingFlag(
|
| + const RendererPreferences& prefs) {
|
| + if (prefs.subpixel_rendering !=
|
| + RENDERER_PREFERENCES_SUBPIXEL_RENDERING_SYSTEM_DEFAULT &&
|
| + prefs.subpixel_rendering !=
|
| + RENDERER_PREFERENCES_SUBPIXEL_RENDERING_NONE) {
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
|
|
| 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));
|
| + WebFontRendering::setLCDOrder(
|
| + RendererPreferencesToSkiaLCDOrder(prefs.subpixel_rendering));
|
| WebFontRendering::setLCDOrientation(
|
| - RendererPreferencesToSkiaLCDOrientation(prefs));
|
| - WebFontRendering::setAntiAlias(prefs.should_antialias_text);
|
| + RendererPreferencesToSkiaLCDOrientation(prefs.subpixel_rendering));
|
| + WebFontRendering::setAntiAlias(RendererPreferencesToAntiAliasFlag(prefs));
|
| WebFontRendering::setSubpixelRendering(
|
| - prefs.subpixel_rendering !=
|
| - gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE);
|
| + RendererPreferencesToSubpixelRenderingFlag(prefs));
|
| WebFontRendering::setSubpixelPositioning(prefs.use_subpixel_positioning);
|
| }
|
|
|
|
|