Bug 198139

Summary: Fix scrolling tree state for more obscure combinations of positioning and paint order
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: koivisto, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=198188
Attachments:
Description Flags
Patch koivisto: review+

Description Simon Fraser (smfr) 2019-05-22 14:45:10 PDT
Fix scrolling tree state for more obscure combinations of positioning and paint order
Comment 1 Simon Fraser (smfr) 2019-05-22 14:50:19 PDT
Created attachment 370447 [details]
Patch
Comment 2 Antti Koivisto 2019-05-22 15:08:35 PDT
Comment on attachment 370447 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=370447&action=review

> Source/WebCore/rendering/RenderLayerCompositor.cpp:1800
> +// This is a simplified version of containing block walking that only handles absolute position.
> +static AncestorTraversal traverseAncestorLayers(const RenderLayer& layer, const WTF::Function<AncestorTraversal(const RenderLayer&, bool inContainingBlockChain, bool isPaintOrderAncestor)>& ancestorFunc)

Using template argument instead of WTF::Function would avoid unnecessary virtual function calls.
Comment 3 Simon Fraser (smfr) 2019-05-22 15:58:43 PDT
https://trac.webkit.org/r245656
Comment 4 Radar WebKit Bug Importer 2019-05-22 15:59:25 PDT
<rdar://problem/51046303>