Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6c9ee442b2409e4ae8e831adb539b5b0edb9a125
https://github.com/WebKit/WebKit/commit/6c9ee442b2409e4ae8e831adb539b5b0edb9a125
Author: Said Abou-Hallawa <[email protected]>
Date: 2026-10-11 (Sun, 11 Oct 2026)
Changed paths:
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-nested-drawable-expected.html
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-nested-drawable.html
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-rotated-text-expected.html
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-rotated-text.html
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-transparent-rect-expected.html
A
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-transparent-rect.html
A LayoutTests/fast/canvas/draw-element-image/resources/wolf.jpg
M LayoutTests/platform/win/TestExpectations
M Source/WebCore/rendering/RenderHTMLCanvas.cpp
M Source/WebCore/rendering/RenderHTMLCanvas.h
M Source/WebCore/rendering/RenderReplaced.cpp
M Source/WebCore/rendering/RenderReplaced.h
Log Message:
-----------
[HTML-in-Canvas] Recoding a canvas drawable element should happen only once
https://bugs.webkit.org/show_bug.cgi?id=327085
rdar://189703292
Reviewed by Taher Ali.
Currently, painting accumulates into a single DisplayList::RecorderImpl until
the
next layout. But a repaint can be requested between two layouts, so the recorder
ends up holding the same painting more than once. The recorder's lifetime should
be tied to the implicit paint event request instead.
For now, so that layout tests can be added, the recorder is cleared on every
paint.
323295@main made painting of the canvas drawable element atomic, so the request
for an empty recorder during a paint should happen only once.
Tests: fast/canvas/draw-element-image/2d-drawElementImage-nested-drawable.html
fast/canvas/draw-element-image/2d-drawElementImage-rotated-text.html
fast/canvas/draw-element-image/2d-drawElementImage-transparent-rect.html
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-nested-drawable-expected.html:
Added.
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-nested-drawable.html:
Added.
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-rotated-text-expected.html:
Added.
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-rotated-text.html:
Added.
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-transparent-rect-expected.html:
Added.
*
LayoutTests/fast/canvas/draw-element-image/2d-drawElementImage-transparent-rect.html:
Added.
* LayoutTests/fast/canvas/draw-element-image/resources/wolf.jpg: Added.
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasDrawableRecorder const):
* Source/WebCore/rendering/RenderHTMLCanvas.h:
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* Source/WebCore/rendering/RenderReplaced.h:
(WebCore::RenderReplaced::hasDrawableContent const):
Canonical link: https://commits.webkit.org/323423@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications