| 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) {
|
|
|