| Summary: | REGRESSION (r284336): system-preview/badge.html is image failing - clip-path on inlines | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | ayumi_kojima | ||||||
| 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, heycam, jonlee, koivisto, kondapallykalyan, pdr, simon.fraser, thorton, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | WebKit Nightly Build | ||||||||
| Hardware: | iPhone / iPad | ||||||||
| OS: | Unspecified | ||||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=231852 | ||||||||
| Attachments: |
|
||||||||
|
Description
ayumi_kojima
2021-10-18 15:59:14 PDT
Created attachment 441652 [details]
Image diff
According to the history, it looks like it started from the changes in https://trac.webkit.org/changeset/284336/webkit Created attachment 441684 [details]
Patch
Comment on attachment 441684 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=441684&action=review Non-reviewer r=me with the restore() question answered. I didn't look at the tests closely. > Source/WebCore/rendering/RenderLayer.cpp:3160 > + return std::make_pair(clipPath.pathForReferenceRect(snappedReferenceBox), clipPath.windRule()); Nit: I think it might be more common in the codebase to use `return {..., ...};` rather than `return std::make_pair(..., ...);`. > Source/WebCore/rendering/RenderLayer.cpp:3169 > + return std::make_pair(clipPath.pathForReferenceRect(shapeRect), WindRule::NonZero); Nit: And here. > Source/WebCore/rendering/RenderLayer.cpp:3172 > + return std::make_pair(Path(), WindRule::NonZero); Nit: And here. > Source/WebCore/rendering/RenderLayer.cpp:3209 > + context.save(); Is there a restore() missing? (In reply to Cameron McCormack (:heycam) from comment #5) > Is there a restore() missing? It's elsewhere (confusingly). Ideally we'd pass a GraphicsContextStateSaver thingy. Comment on attachment 441684 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=441684&action=review >> Source/WebCore/rendering/RenderLayer.cpp:3160 >> + return std::make_pair(clipPath.pathForReferenceRect(snappedReferenceBox), clipPath.windRule()); > > Nit: I think it might be more common in the codebase to use `return {..., ...};` rather than `return std::make_pair(..., ...);`. Even where explicit type is needed std::make_pair is unnecessary as the std::pair constructor can infer the type (since C++17). (In reply to Simon Fraser (smfr) from comment #6) > (In reply to Cameron McCormack (:heycam) from comment #5) > > > Is there a restore() missing? > > It's elsewhere (confusingly). Ideally we'd pass a GraphicsContextStateSaver > thingy. You really should clean this up. https://trac.webkit.org/changeset/284490/webkit Will do the GraphicsContxtStateSaver thing separately. Doing so via bug 231985. *** Bug 236922 has been marked as a duplicate of this bug. *** |