system-preview/badge.html Is constantly failing on iOS 15. History: https://results.webkit.org/?suite=layout-tests&test=system-preview%2Fbadge.html Result page: https://build.webkit.org/results/Apple-iOS-15-Simulator-Release-WK2-Tests/r284384%20(215)/results.html#
Created attachment 441652 [details] Image diff
<rdar://problem/84391702>
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. ***