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

Reply via email to