RESOLVED FIXED158655
Remove positioned descendants when RenderBlock is no longer a containing block.
https://bugs.webkit.org/show_bug.cgi?id=158655
Summary Remove positioned descendants when RenderBlock is no longer a containing block.
alan
Reported 2016-06-10 22:23:54 PDT
1. Size the browser window to over 1000px 2. Load http://www.stubhub.com/beyonce-tickets-beyonc--santa-clara-levi-s-stadium-9-17-2016/event/9578810/ (webarchive attached) 3. Size the browser window to trigger narrow layout so that the ticket list moves below the stadium picture. 4. Scroll the tickets
Attachments
Patch (7.94 KB, patch)
2016-06-10 22:28 PDT, alan
no flags
Patch (6.13 KB, patch)
2016-06-11 20:25 PDT, alan
no flags
Patch (6.47 KB, patch)
2016-06-12 13:12 PDT, alan
no flags
alan
Comment 1 2016-06-10 22:24:18 PDT
alan
Comment 2 2016-06-10 22:28:18 PDT
alan
Comment 3 2016-06-11 16:23:12 PDT
*** Bug 158656 has been marked as a duplicate of this bug. ***
alan
Comment 4 2016-06-11 20:25:21 PDT
Simon Fraser (smfr)
Comment 5 2016-06-12 08:22:28 PDT
Comment on attachment 281117 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=281117&action=review > Source/WebCore/rendering/RenderBlock.cpp:251 > + // We are no longer the containing block for fixed descendants. > + if (hadTransform && !willHaveTransform) { > + removePositionedObjects(nullptr, NewContainingBlock); > + return; > + } I assume it's OK to be overly aggressive here in removal, because we'll re-add descendants later anyway? If so, it would be nice to say that in a comment. > LayoutTests/fast/block/fixed-position-reparent-when-transition-is-removed.html:4 > +<title>This tests that we can re-parent fixed positioned elements properly.</title> It's not really re-parenting, right?
alan
Comment 6 2016-06-12 13:12:35 PDT
alan
Comment 7 2016-06-12 13:13:23 PDT
(In reply to comment #5) > Comment on attachment 281117 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=281117&action=review > > > Source/WebCore/rendering/RenderBlock.cpp:251 > > + // We are no longer the containing block for fixed descendants. > > + if (hadTransform && !willHaveTransform) { > > + removePositionedObjects(nullptr, NewContainingBlock); > > + return; > > + } > > I assume it's OK to be overly aggressive here in removal, because we'll > re-add descendants later anyway? If so, it would be nice to say that in a > comment. Done. > > > LayoutTests/fast/block/fixed-position-reparent-when-transition-is-removed.html:4 > > +<title>This tests that we can re-parent fixed positioned elements properly.</title> > > It's not really re-parenting, right? Fixed.
WebKit Commit Bot
Comment 8 2016-06-12 13:44:10 PDT
Comment on attachment 281126 [details] Patch Clearing flags on attachment: 281126 Committed r201984: <http://trac.webkit.org/changeset/201984>
WebKit Commit Bot
Comment 9 2016-06-12 13:44:14 PDT
All reviewed patches have been landed. Closing bug.
Simon Fraser (smfr)
Comment 10 2016-06-13 09:41:12 PDT
Comment on attachment 281126 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=281126&action=review > LayoutTests/fast/block/fixed-position-reparent-when-transition-is-removed.html:31 > + newChild.style.positioned = "absolute"; Typo!
Note You need to log in before you can comment on or make changes to this bug.