[Webkit-unassigned] [Bug 171667] [Mac] Make frames fast-scrollable
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 4 09:57:39 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=171667
Frédéric Wang (:fredw) <fred.wang at free.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |fred.wang at free.fr
Assignee|webkit-unassigned at lists.web |fred.wang at free.fr
|kit.org |
--- Comment #1 from Frédéric Wang (:fredw) <fred.wang at free.fr> ---
Created attachment 309057
--> https://bugs.webkit.org/attachment.cgi?id=309057&action=review
WIP Patch
This is a first patch to address the points:
> 1. Creating the right layer hierarchy with tiled backing store for the iframe contents, as we do for the main frame.
> 4. Not putting iframe's ScrollableAreas into the non-fast scrollable region
This is the layer tree I get for attachment 307586 after applying this patch:
layer 0x110b5f138 at (0,0) size 1039x644 (composited, bounds=at (0,0) size 1039x644, drawsContent=1, paints into ancestor=0)
RenderView 0x1113dad00 at (0,0) size 1039x644 (needs layout: child)
positive z-order list(1)
layer 0x110b5f4e0 at (0,0) size 1039x166
RenderBlock 0x110a627e0 {HTML} at (0,0) size 1039x166 (needs layout: child)
RenderBody 0x110a62c60 {BODY} at (8,16) size 1023x142 (needs layout: child)
RenderBlock 0x110a62d80 {P} at (0,0) size 1023x18
RenderText 0x110ae49c0 {#text} at (0,0) size 211x18
text run at (0,0) width 211: "This iframe should be scrollable:"
RenderBlock (anonymous) 0x110a62ea0 at (0,34) size 1023x108 (needs layout: child)
RenderText 0x110ae4b40 {#text} at (0,0) size 0x0
normal flow list(1)
layer 0x110b5f750 at (0,0) size 0x0
RenderIFrame 0x110b556f0 {IFRAME} at (0,0) size 304x104 [border: (2px inset #000000)] (needs layout: self)
layer 0x110b5fd68 at (0,0) size 300x1016 (composited, bounds=at (0,0) size 300x1016, drawsContent=1, paints into ancestor=0)
RenderView 0x1113f6d00 at (0,0) size 300x100 (layout overflow 0,0 300x1016)
positive z-order list(1)
layer 0x110b5fea0 at (0,0) size 300x1016
RenderBlock 0x110a62a20 {HTML} at (0,0) size 300x1016
RenderBody 0x110ae8360 {BODY} at (8,8) size 284x1000
RenderBlock 0x110ae8480 {DIV} at (0,0) size 284x1000
Also, the frame is no longer drawn as a non-fast scrollable region when one enables debug overlay. However, this breaks scrolling of the iframe for now :-)
@Simon: I'm not sure the scrolling nodes are properly created yet, but I had one doubt. Again, IIUC the class hierarchy (https://people.igalia.com/fwang/ios/class-hierarchy/), each frame has its own Page with its own ScrollingCoordinator and hence their own Scrolling(State)Trees. So I am not sure I understand to which tree the ScrollingStateFrameScrollingNodes should belong?
BTW, I also noticed this comment in RenderLayerCompositor::updateBacking, which might be related:
// At this time, the ScrollingCoordinator only supports the top-level frame.
if (layer.isRootLayer() && isMainFrameCompositor()) {
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170504/f2352064/attachment-0001.html>
More information about the webkit-unassigned
mailing list