Bug 193753 - Add "frame hosting" nodes to the scrolling tree
Summary: Add "frame hosting" nodes to the scrolling tree
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-01-23 18:35 PST by Simon Fraser (smfr)
Modified: 2019-01-24 13:50 PST (History)
7 users (show)

See Also:


Attachments
Patch (46.90 KB, patch)
2019-01-23 18:39 PST, Simon Fraser (smfr)
koivisto: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2019-01-23 18:35:53 PST
Add "frame hosting" nodes to the scrolling tree
Comment 1 Simon Fraser (smfr) 2019-01-23 18:39:44 PST
Created attachment 359982 [details]
Patch
Comment 2 EWS Watchlist 2019-01-23 18:42:05 PST
Attachment 359982 [details] did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Simon Fraser (smfr) 2019-01-23 18:45:40 PST
We may need to give these FrameHosting nodes some geometry (representing the offsets of the RenderIFrame from their scrolling node ancestor), so that the ScrollingTreeFrameScrollingNode's geometry doesn't need to account for offsets which belong to a different document.
Comment 4 Antti Koivisto 2019-01-24 04:15:01 PST
Comment on attachment 359982 [details]
Patch

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

> Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp:94
>      case ScrollingNodeType::Subframe:
>          return ScrollingTreeFrameScrollingNodeIOS::create(*this, nodeType, nodeID);
> +    case ScrollingNodeType::FrameHosting:
> +        return ScrollingTreeFrameHostingNode::create(*this, nodeID);

Is this code (web process side scrolling tree on iOS) actually ever used?
Comment 5 Simon Fraser (smfr) 2019-01-24 07:56:07 PST
(In reply to Antti Koivisto from comment #4)
> Comment on attachment 359982 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=359982&action=review
> 
> > Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp:94
> >      case ScrollingNodeType::Subframe:
> >          return ScrollingTreeFrameScrollingNodeIOS::create(*this, nodeType, nodeID);
> > +    case ScrollingNodeType::FrameHosting:
> > +        return ScrollingTreeFrameHostingNode::create(*this, nodeID);
> 
> Is this code (web process side scrolling tree on iOS) actually ever used?

No. I was hoping to use is for iOS WK1 (UIWebView) but that never happened.
Comment 6 Simon Fraser (smfr) 2019-01-24 08:11:25 PST
https://trac.webkit.org/changeset/240435/webkit
Comment 7 Radar WebKit Bug Importer 2019-01-24 08:12:27 PST
<rdar://problem/47516161>
Comment 8 Antti Koivisto 2019-01-24 08:31:12 PST
> No. I was hoping to use is for iOS WK1 (UIWebView) but that never happened.

Let's remove it then to reduce general confusion.
Comment 9 Simon Fraser (smfr) 2019-01-24 13:50:03 PST
(In reply to Antti Koivisto from comment #8)
> > No. I was hoping to use is for iOS WK1 (UIWebView) but that never happened.
> 
> Let's remove it then to reduce general confusion.

I tried, and found that RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS inherits from WebCore/ScrollingTreeFrameScrollingNodeIOS so fixing this is a bit more involved.