Bug 199222

Summary: [iOS Scrolling] Propagate scrolls to non-nested UIScrollViews
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: ScrollingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP
none
test case
none
test with more nested scrollers
none
patch none

Description Antti Koivisto 2019-06-26 04:25:39 PDT
With help of some UIKit SPIs.
Comment 1 Antti Koivisto 2019-06-26 04:27:50 PDT
Created attachment 372913 [details]
WIP
Comment 2 Antti Koivisto 2019-06-26 04:28:15 PDT
Created attachment 372914 [details]
test case
Comment 3 Antti Koivisto 2019-06-27 06:43:18 PDT
Created attachment 373030 [details]
test with more nested scrollers
Comment 4 Antti Koivisto 2019-06-28 04:31:45 PDT
Created attachment 373104 [details]
patch
Comment 5 Simon Fraser (smfr) 2019-06-28 09:15:08 PDT
Comment on attachment 373104 [details]
patch

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

> Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:141
> +                    if (auto* nonAncestorScrollingNode = host.nodeForID(node->relatedScrollContainerIDs()[0]))

I'm having a hard time convincing myself that using relatedScrollContainerIDs()[0] is correct. What does it mean to have more than one? What is the order?
Comment 6 Antti Koivisto 2019-06-28 09:41:49 PDT
> I'm having a hard time convincing myself that using
> relatedScrollContainerIDs()[0] is correct. What does it mean to have more
> than one? What is the order?

Would knowing that you wrote the code that sets it be help? :)

It is simply the layer tree counterpart of ScrollingTreeOverflowScrollProxyNode::m_overflowScrollingNodeID. Having Moves  and Stationary cases in a single vector matches the old design where PositionedNode handled both cases. It should really be refactored into two separate variables, matching PositionedNode split.
Comment 7 WebKit Commit Bot 2019-06-28 10:12:33 PDT
Comment on attachment 373104 [details]
patch

Clearing flags on attachment: 373104

Committed r246926: <https://trac.webkit.org/changeset/246926>
Comment 8 WebKit Commit Bot 2019-06-28 10:12:34 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Radar WebKit Bug Importer 2019-06-28 10:17:49 PDT
<rdar://problem/52338107>
Comment 10 Antti Koivisto 2019-06-28 10:25:31 PDT
<rdar://problem/49720738>