drop-shadow filter doesn't work correctly in tiled backing layer
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.
<rdar://problem/89382612>
Created attachment 453816 [details] WIP patch
Created attachment 453934 [details] WIP patch
Created attachment 453937 [details] WIP patch
https://github.com/web-platform-tests/wpt/pull/33080
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].