Commit c887d10
committed
Nested identical filters are not rendered.
https://bugs.webkit.org/show_bug.cgi?id=302900
rdar://165163823
Reviewed by Simon Fraser.
Pushing a transparency layer causes any current filter style (or shadow, or
composite operation) to be applied to the layer when popped, and don't apply to
the content in the layer.
Make sure we clear those states from the GraphicsContext tracking, to match the
behaviour of what CG is doing.
If they're not cleared, then a nested filter (or second filter primitive of the
same filter property) that is identical is incorrectly considered a no-op, and
doesn't get forwarded to the platform code.
Test: css3/filters/nested-identical-filters.html
* LayoutTests/css3/filters/nested-identical-filters-expected.html: Added.
* LayoutTests/css3/filters/nested-identical-filters.html: Added.
* Source/WebCore/platform/graphics/GraphicsContextState.cpp:
(WebCore::GraphicsContextState::repurpose):
Canonical link: https://commits.webkit.org/304143@main1 parent 2135c96 commit c887d10
File tree
3 files changed
+44
-1
lines changed- LayoutTests/css3/filters
- Source/WebCore/platform/graphics
3 files changed
+44
-1
lines changedLines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
49 | 53 | | |
50 | 54 | | |
51 | 55 | | |
| |||
0 commit comments