| Summary: | drop-shadow filter doesn't work correctly in tiled backing layer | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <Hironori.Fujii> | ||||||||||||||||||||||||
| Component: | Layout and Rendering | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||||||||||||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||||||||||||||
| Severity: | Normal | CC: | ap, bfulgham, changseok, clopez, dino, esprehn+autocc, ews-watchlist, fred.wang, glenn, kondapallykalyan, pdr, simon.fraser, ujwal.koneru, webkit-bug-importer, youennf, zalan | ||||||||||||||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||
| Version: | WebKit Nightly Build | ||||||||||||||||||||||||||
| Hardware: | Unspecified | ||||||||||||||||||||||||||
| OS: | Unspecified | ||||||||||||||||||||||||||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=236974 https://bugs.webkit.org/show_bug.cgi?id=207586 https://github.com/web-platform-tests/wpt/pull/33080 |
||||||||||||||||||||||||||
| Bug Depends on: | |||||||||||||||||||||||||||
| Bug Blocks: | 237849 | ||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||
|
Description
Fujii Hironori
2022-02-17 12:33:23 PST
Created attachment 452412 [details]
test case (for low DPI display)
Created attachment 452415 [details]
[screenshot] STP 140
Created attachment 452416 [details]
[screenshot] GTK port
There are a number of existing bugs about drop-shadow repaints. This is probably a dup. This is not a drop-shadow repainting issue. If the element is painted in another tile, the drop-shadow can't be drawn. Created attachment 452430 [details]
test case 2
This issue doesn't need tiled backed layer.
If the element is placed outside of the view, its drop-shadow isn't painted.
Created attachment 453816 [details]
WIP patch
Created attachment 453934 [details]
WIP patch
Created attachment 453937 [details]
WIP patch
I think I may end up fixing this via bug 207586 I tested, and the patch in 207586 fixes the testcase. (In reply to Simon Fraser (smfr) from comment #13) > I tested, and the patch in 207586 fixes the testcase. Unfortunately, your patch (attachment#454007 [details]) doesn't fix this test https://github.com/web-platform-tests/wpt/pull/33080 Seems like we need both fixes. Comment on attachment 453937 [details] WIP patch View in context: https://bugs.webkit.org/attachment.cgi?id=453937&action=review > Source/WebCore/rendering/RenderLayerFilters.cpp:149 > + LayoutBoxExtent flippedOutsets { outsets.bottom(), outsets.left(), outsets.top(), outsets.right() }; Why the flipping? Comment on attachment 453937 [details] WIP patch View in context: https://bugs.webkit.org/attachment.cgi?id=453937&action=review >> Source/WebCore/rendering/RenderLayerFilters.cpp:149 >> + LayoutBoxExtent flippedOutsets { outsets.bottom(), outsets.left(), outsets.top(), outsets.right() }; > > Why the flipping? If the drop-shadow is cast to the right direction, dirtyRect needs to be extended to left direction to calculate targetBoundingBox. Created attachment 454557 [details]
Patch
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess Created attachment 454620 [details]
Patch for landing
Comment on attachment 454620 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=454620&action=review > LayoutTests/platform/ios-wk2/TestExpectations:2223 > +webkit.org/b/237849 imported/w3c/web-platform-tests/css/filter-effects/filters-drop-shadow-003.html [ ImageOnlyFailure ] Why is it OK to land with this? Seems like a a big problem for this change to not have a test that starts to pass on iOS. Comment on attachment 454620 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=454620&action=review >> LayoutTests/platform/ios-wk2/TestExpectations:2223 >> +webkit.org/b/237849 imported/w3c/web-platform-tests/css/filter-effects/filters-drop-shadow-003.html [ ImageOnlyFailure ] > > Why is it OK to land with this? Seems like a a big problem for this change to not have a test that starts to pass on iOS. I don’t think it’s a big problem. iOS has one more problem. This isn’t sufficient for it. I'm not saying that you need to fix all bugs that impact web-platform-tests/css/filter-effects/filters-drop-shadow-003.html in this patch. What I am saying is that I see it as a problem to land a fix that doesn't make any tests go from failing to passing on iOS. Created attachment 455989 [details]
Patch for landing
Created attachment 455990 [details]
drop-shadow-in-tiled-backing.html
Committed r292059 (248994@main): <https://commits.webkit.org/248994@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 455989 [details]. |