Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1db24f6817a9f935c5e5cc8ccf1f740e40c6f285
https://github.com/WebKit/WebKit/commit/1db24f6817a9f935c5e5cc8ccf1f740e40c6f285
Author: Vitor Roriz <[email protected]>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent.html
M Source/WebCore/platform/graphics/FontCascade.h
M Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp
M Source/WebCore/platform/graphics/skia/FontCascadeSkia.cpp
M Source/WebCore/platform/graphics/win/FontWin.cpp
M Source/WebCore/rendering/TextBoxPainter.cpp
M Source/WebCore/rendering/TextPainter.cpp
M Source/WebCore/rendering/TextPainter.h
Log Message:
-----------
Regression(279037@main) Safari stopped rendering shadow under emoji when
color is set to transparent.
https://bugs.webkit.org/show_bug.cgi?id=282068
rdar://136067858
Reviewed by Simon Fraser.
The bug comes from the fact that invisible glyphs that are drawn
as an image won't be recorded into the glyph display list, even if
they have an associated shadow. When that happens we still try to
replay the cached DisplayList instead of drawing the glyph with the
appropriate mutated GraphicsContext.
CoreText won't call the drawImage delegate for glyphs that are invisible,
even if they have an associated shadow applied to its graphic context.
This would result in a glyph display list without the invisible glyph which
is drawn as image and we would not draw its associated shadow.
Therefore, we won't use a display list for runs that are invisible and have
an associated shadow for CoreText platorm use case.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-shadow/text-shadow-emoji-transparent.html:
Added.
* Source/WebCore/rendering/GlyphDisplayListCache.cpp:
(WebCore::GlyphDisplayListCache::getDisplayList):
Canonical link: https://commits.webkit.org/285870@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes