Index: ui/gfx/render_text.cc |
diff --git a/ui/gfx/render_text.cc b/ui/gfx/render_text.cc |
index 19bb69b8bf0681f9b48a3e0792202777363a5aaa..14e2193c7fc03dcfaf8a6d6f7a2b217e3e98ff04 100644 |
--- a/ui/gfx/render_text.cc |
+++ b/ui/gfx/render_text.cc |
@@ -189,22 +189,9 @@ SkiaTextRenderer::SkiaTextRenderer(Canvas* canvas) |
paint_.setSubpixelText(true); |
paint_.setLCDRenderText(true); |
paint_.setHinting(SkPaint::kNormal_Hinting); |
- bounds_.setEmpty(); |
} |
SkiaTextRenderer::~SkiaTextRenderer() { |
- // Work-around for http://crbug.com/122743, where non-ClearType text is |
- // rendered with incorrect gamma when using the fade shader. Draw the text |
- // to a layer and restore it faded by drawing a rect in kDstIn_Mode mode. |
- // |
- // TODO(asvitkine): Remove this work-around once the Skia bug is fixed. |
- // http://code.google.com/p/skia/issues/detail?id=590 |
- if (deferred_fade_shader_.get()) { |
- paint_.setShader(deferred_fade_shader_.get()); |
- paint_.setXfermodeMode(SkXfermode::kDstIn_Mode); |
- canvas_skia_->drawRect(bounds_, paint_); |
- canvas_skia_->restore(); |
- } |
} |
void SkiaTextRenderer::SetDrawLooper(SkDrawLooper* draw_looper) { |
@@ -243,8 +230,7 @@ void SkiaTextRenderer::SetForegroundColor(SkColor foreground) { |
paint_.setColor(foreground); |
} |
-void SkiaTextRenderer::SetShader(SkShader* shader, const Rect& bounds) { |
- bounds_ = RectToSkRect(bounds); |
+void SkiaTextRenderer::SetShader(SkShader* shader) { |
paint_.setShader(shader); |
} |
@@ -257,26 +243,6 @@ void SkiaTextRenderer::SetUnderlineMetrics(SkScalar thickness, |
void SkiaTextRenderer::DrawPosText(const SkPoint* pos, |
const uint16* glyphs, |
size_t glyph_count) { |
- if (!started_drawing_) { |
- started_drawing_ = true; |
- // Work-around for http://crbug.com/122743, where non-ClearType text is |
- // rendered with incorrect gamma when using the fade shader. Draw the text |
- // to a layer and restore it faded by drawing a rect in kDstIn_Mode mode. |
- // |
- // Skip this when there is a looper which seems not working well with |
- // deferred paint. Currently a looper is only used for text shadows. |
- // |
- // TODO(asvitkine): Remove this work-around once the Skia bug is fixed. |
- // http://code.google.com/p/skia/issues/detail?id=590 |
- if (!paint_.isLCDRenderText() && |
- paint_.getShader() && |
- !paint_.getLooper()) { |
- deferred_fade_shader_ = skia::SharePtr(paint_.getShader()); |
- paint_.setShader(NULL); |
- canvas_skia_->saveLayer(&bounds_, NULL); |
- } |
- } |
- |
const size_t byte_length = glyph_count * sizeof(glyphs[0]); |
canvas_skia_->drawPosText(&glyphs[0], byte_length, &pos[0], paint_); |
} |
@@ -1175,7 +1141,7 @@ void RenderText::ApplyFadeEffects(internal::SkiaTextRenderer* renderer) { |
skia::RefPtr<SkShader> shader = CreateFadeShader( |
text_rect, left_part, right_part, colors_.breaks().front().second); |
if (shader) |
- renderer->SetShader(shader.get(), display_rect()); |
+ renderer->SetShader(shader.get()); |
} |
void RenderText::ApplyTextShadows(internal::SkiaTextRenderer* renderer) { |