Bug 235211

Summary: Don't call invalidateRectsForAllMarkers() for every layer in the updateLayerPositions() traversal
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, changseok, esprehn+autocc, ews-watchlist, fred.wang, glenn, koivisto, kondapallykalyan, pdr, sam, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
zalan: review+
Patch none

Simon Fraser (smfr)
Reported 2022-01-13 17:00:01 PST
Don't call invalidateRectsForAllMarkers() for every layer in the updateLayerPositions() traversal
Attachments
Patch (12.63 KB, patch)
2022-01-13 17:02 PST, Simon Fraser (smfr)
zalan: review+
Patch (12.67 KB, patch)
2022-01-13 19:48 PST, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2022-01-13 17:02:39 PST
Sam Weinig
Comment 2 2022-01-13 19:12:49 PST
Comment on attachment 449126 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449126&action=review > Source/WebCore/rendering/RenderLayer.cpp:942 > + renderer().document().markers().invalidateRectsForAllMarkers(); Why doesn't this one use willUpdateLayerPositions()?
alan
Comment 3 2022-01-13 19:28:14 PST
Comment on attachment 449126 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449126&action=review > Source/WebCore/rendering/RenderLayer.cpp:937 > + willUpdateLayerPositions(); > + recursiveUpdateLayerPositions(nullptr, flagsForUpdateLayerPositions(*this)); I don't think I could come up with better names, but these 2 lines will surely confuse me in the future.
Simon Fraser (smfr)
Comment 4 2022-01-13 19:48:15 PST
EWS
Comment 5 2022-01-13 22:16:21 PST
Committed r288008 (246034@main): <https://commits.webkit.org/246034@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 449130 [details].
Radar WebKit Bug Importer
Comment 6 2022-01-13 22:17:18 PST
Antti Koivisto
Comment 7 2022-01-14 05:33:13 PST
Comment on attachment 449126 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449126&action=review > Source/WebCore/rendering/RenderLayer.cpp:1063 > + child->recursiveUpdateLayerPositions(geometryMap, flags); could this be something like updateLayerPositionsForSubtree?
Simon Fraser (smfr)
Comment 8 2022-01-14 09:40:16 PST
(In reply to Antti Koivisto from comment #7) > Comment on attachment 449126 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=449126&action=review > > > Source/WebCore/rendering/RenderLayer.cpp:1063 > > + child->recursiveUpdateLayerPositions(geometryMap, flags); > > could this be something like updateLayerPositionsForSubtree? It could, but that doesn't make it obvious that it's call recursively.
Antti Koivisto
Comment 9 2022-01-14 10:45:37 PST
> It could, but that doesn't make it obvious that it's call recursively. Why does that matter? If it was refactored to do the same thing iteratively would the callers care?
Simon Fraser (smfr)
Comment 10 2022-01-14 11:14:25 PST
If it were iterative, I would rename it of course, and the distinction between the "called-once" and the "called-one-per-layer" function wouldn't be necessary.
Note You need to log in before you can comment on or make changes to this bug.