| Index: Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp
|
| diff --git a/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp b/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp
|
| index d21f7e9155210ce667e9c8827fd2ea7d749766b9..6bf4cb33b3364ea019e52992da05edbb405a282e 100644
|
| --- a/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp
|
| +++ b/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp
|
| @@ -85,9 +85,15 @@ static void paintGlyphs(GraphicsContext* gc, const SimpleFontData* font,
|
| paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
|
|
|
| if (textMode & TextModeFill) {
|
| - // If we also filled, we don't want to draw shadows twice.
|
| - // See comment in FontChromiumWin.cpp::paintSkiaText() for more details.
|
| - // Since we use the looper for shadows, we remove it (if any) now.
|
| + // If there is a shadow and we filled above, there will already be
|
| + // a shadow. We don't want to draw it again or it will be too dark
|
| + // and it will go on top of the fill.
|
| + //
|
| + // Note that this isn't strictly correct, since the stroke could be
|
| + // very thick and the shadow wouldn't account for this. The "right"
|
| + // thing would be to draw to a new layer and then draw that layer
|
| + // with a shadow. But this is a lot of extra work for something
|
| + // that isn't normally an issue.
|
| paint.setLooper(0);
|
| }
|
|
|
|
|