[New Multicolumn] Make sure region styling works for columns inside regions.
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Mar 2013 16:43:35 +0000 (16:43 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Mar 2013 16:43:35 +0000 (16:43 +0000)
commit83c0e206ae99ff4883cd9d50bddcaa64e52187a1
tree05bce586ed84123cb41e1e306dc988dfd226989e
parent8fd927b01e785ce9451439ff794ad8b3a1bd0c27
[New Multicolumn] Make sure region styling works for columns inside regions.
https://bugs.webkit.org/show_bug.cgi?id=111276

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/regions/region-styling-in-columns.html

* rendering/RenderFlowThread.cpp:
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
(WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
* rendering/RenderFlowThread.h:
(CurrentRenderFlowThreadMaintainer):
Fix the CurrentRenderFlowThreadMaintainer so that it saves off the old render flow thread
and restores it when done. This effectively makes flow thread layout a push/pop stack,
since with in-flow threads, this is allowed. We assert that a nested flow thread is
in-flow to preserve the invariant that you can't nest CSS Regions flow thread.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::computeChildrenStyleInRegion):
Add isInFlowRenderFlowThread() to the anonymous check to make sure a style gets made
for the nested flow thread.

LayoutTests:

* fast/regions/region-style-in-columns-expected.html: Added.
* fast/regions/region-style-in-columns.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/regions/region-style-in-columns-expected.html [new file with mode: 0644]
LayoutTests/fast/regions/region-style-in-columns.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderFlowThread.cpp
Source/WebCore/rendering/RenderFlowThread.h
Source/WebCore/rendering/RenderRegion.cpp