12012-09-10 Bear Travis <betravis@adobe.com>
2
3 [CSS Exclusions] Enable css exclusions for multiple blocks per element
4 https://bugs.webkit.org/show_bug.cgi?id=89993
5
6 Reviewed by NOBODY (OOPS!).
7
8 Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
9 the inline content of its children. This patch follows the example of ColumnInfo
10 and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
11 inline content should respect.
12
13 Test: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
14
15 * rendering/LayoutState.cpp:
16 (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
17 * rendering/LayoutState.h:
18 (WebCore):
19 (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
20 (LayoutState):
21 (WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
22 * rendering/RenderBlockLineLayout.cpp:
23 (WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
24 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
25 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
26 * rendering/RenderView.h:
27 (WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
28 is present.
29