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/
Created attachment 294469 [details] Patch
^^WIP patch
Created attachment 294497 [details] Patch
Created attachment 294590 [details] Patch
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?
Created attachment 294629 [details] Patch
> > 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.
Comment on attachment 294629 [details] Patch Clearing flags on attachment: 294629 Committed r208661: <http://trac.webkit.org/changeset/208661>
All reviewed patches have been landed. Closing bug.