| Summary: | REGRESSION (r259137): Clip-path rendering regression when element contains transformed child | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||
| Component: | Layout and Rendering | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | bfulgham, changseok, esprehn+autocc, ews-watchlist, fred.wang, glenn, kondapallykalyan, pdr, sabouhallawa, simon.fraser, webkit-bug-importer, zalan | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | Safari Technology Preview | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Attachments: |
|
||||||||
|
Description
Simon Fraser (smfr)
2020-12-12 13:43:56 PST
Created attachment 416110 [details]
Patch
How is this different from bug 215458? *** Bug 215458 has been marked as a duplicate of this bug. *** Comment on attachment 416110 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=416110&action=review > Source/WebCore/rendering/RenderLayer.cpp:-4514 > - if (!rootRelativeBounds) > - rootRelativeBounds = calculateLayerBounds(paintingInfo.rootLayer, offsetFromRoot, { }); > - RenderLayer::setupFilters() has similar calculations. And it looks we used to call calculateLayerBounds() only once if both clip-path and filter are applied. Now we are going to call calculateLayerBounds() twice but with different arguments. Do we need to do the same changes in RenderLayer::setupFilters()? Do we need to remove the variable "Optional<LayoutRect> rootRelativeBounds;" from RenderLayer::paintLayerContents() since it won't be shared anymore between the clip-path and the filter. > LayoutTests/css3/masking/clip-path-overflow-hidden-bounds-expected.html:22 > + <path d="M0,0 L100,0 L100,100 L0,100 L0,0 z"/> Weird indentation. > LayoutTests/css3/masking/clip-path-overflow-hidden-bounds.html:29 > + <path d="M0,0 L100,0 L100,100 L0,100 L0,0 z"/> Ditto. |