RESOLVED FIXED 164629
RenderObject::flowThreadState should follow containing block instead of parent.
https://bugs.webkit.org/show_bug.cgi?id=164629
Summary RenderObject::flowThreadState should follow containing block instead of parent.
zalan
Reported 2016-11-10 21:08:50 PST
Column boxes act as the containing block for their content. That is, column boxes behave like block-level, table cell, and inline-block boxes as per CSS 2.1, section 10.1, item 2 [CSS21]. However, column boxes do not establish containing blocks for elements with ‘position: fixed’ or ‘position: absolute’. https://www.w3.org/TR/css3-multicol/
Attachments
Patch (6.45 KB, patch)
2016-11-10 21:11 PST, zalan
no flags
Patch (6.47 KB, patch)
2016-11-11 08:20 PST, zalan
no flags
Patch (7.62 KB, patch)
2016-11-11 20:47 PST, zalan
no flags
Patch (7.66 KB, patch)
2016-11-12 14:03 PST, zalan
no flags
zalan
Comment 1 2016-11-10 21:11:26 PST
zalan
Comment 2 2016-11-10 21:11:48 PST
^^WIP patch
zalan
Comment 3 2016-11-11 08:20:08 PST
zalan
Comment 4 2016-11-11 20:47:09 PST
Simon Fraser (smfr)
Comment 5 2016-11-12 10:39:31 PST
Comment on attachment 294590 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=294590&action=review > Source/WebCore/ChangeLog:12 > + try to handle this seemingly defective state gracefully (that is flag indicates "inside the flow thread" state, "that is flag indicates": hard to parse. Do you mean "that is, the flag indicates", or "that the flag indicates"? > Source/WebCore/rendering/RenderElement.cpp:2198 > + for (auto& descendant : descendantsOfType<RenderObject>(*this)) Is there a more elegant way to say descendantsOfType<RenderObject> (i.e. all descendants)? > Source/WebCore/rendering/RenderElement.cpp:2199 > + descendant.setFlowThreadState(RenderObject::computedFlowThreadState(descendant)); Why can't setFlowThreadState() contain the code for (or call) computedFlowThreadState(), since you always pass the same renderer?
zalan
Comment 6 2016-11-12 14:03:41 PST
zalan
Comment 7 2016-11-12 14:04:59 PST
> > Source/WebCore/rendering/RenderElement.cpp:2199 > > + descendant.setFlowThreadState(RenderObject::computedFlowThreadState(descendant)); > > Why can't setFlowThreadState() contain the code for (or call) > computedFlowThreadState(), since you always pass the same renderer? setFlowThreadState() has many callsites where we just pass an enum value in.
WebKit Commit Bot
Comment 8 2016-11-12 19:11:59 PST
Comment on attachment 294629 [details] Patch Clearing flags on attachment: 294629 Committed r208661: <http://trac.webkit.org/changeset/208661>
WebKit Commit Bot
Comment 9 2016-11-12 19:12:04 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.