Skip to content
  • commit-queue@webkit.org's avatar
    [CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context · df35f20a
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=121828
    
    Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-10-02
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).
    
    Divs that create stacking contexts are painted after the divs that don't create stacking contexts.
    
    Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
    test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
    verifies that regions paint correctly when the next sibling doesn't create a stacking context.
    
    * rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
    * rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
    * rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
    * rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
    * rendering/RenderFlowThread.cpp:
    (WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.
    * rendering/RenderRegion.cpp:
    (WebCore::RenderRegion::RenderRegion):
    * rendering/RenderRegion.h:
    (WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
    implements its own behaviour so the behaviour of each class is contained within its own files.
    * rendering/RenderMultiColumnSet.h:
    (WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
    CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
    Stacking Contexts.
    * rendering/RenderTreeAsText.cpp:
    (WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.
    
    LayoutTests:
    
    For the ref tests, the divs in the expected results coresponding to the regions now have a CSS style causing
    them to also create Stacking Contexts.
    
    Most of the tests in fast/regions/layers/ have been deleted because they aren't relevant anymore.
    
    The change in most of the *-expected.txt files is that the " hasLayer" part has been removed (since all regions
    now have layers).
    
    Platform (efl, efl-wk2, gtk, mac-lion, mac-wk2, qt, qt-wk2) specific expectated results need to be generated again.
    
    * fast/regions/autoheight-regions-mark-expected.txt:
    * fast/regions/flow-content-basic-expected.html: Added. The test is now a ref test.
    * fast/regions/flow-content-basic-vertical-expected.html: Added. The test is now a ref test.
    * fast/regions/flow-content-basic-vertical-rl-expected.html: Added.The test is now a ref test.
    * fast/regions/flow-content-basic-vertical-rl.html:
    * fast/regions/flow-content-basic-vertical.html:
    * fast/regions/flow-content-basic.html:
    * fast/regions/flows-dependency-dynamic-remove-expected.txt:
    * fast/regions/flows-dependency-same-flow-expected.txt:
    * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.png: Removed.
    * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
    * fast/regions/layers/dynamic-layer-added-with-no-layout.html: Removed.
    * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.png: Removed.
    * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
    * fast/regions/layers/dynamic-layer-removed-with-no-layout.html: Removed.
    * fast/regions/layers/regions-promoted-to-layers-expected.png: Removed.
    * fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
    * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.png: Removed.
    * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
    * fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.png: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-lr.html: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.png: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
    * fast/regions/layers/regions-promoted-to-layers-vertical-rl.html: Removed.
    * fast/regions/layers/regions-promoted-to-layers.html: Removed.
    * fast/regions/layers/stacking-context-paint-order-expected.html: Added.
    * fast/regions/layers/stacking-context-paint-order.html: Added. While the existing region-sibling-paint-order.html
    test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
    verifies that regions paint correctly when the next sibling doesn't create a stacking context.
    * fast/regions/region-sibling-paint-order-expected.html:
    * fast/regions/region-sibling-paint-order.html:
    * fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
    * fast/repaint/region-painting-composited-element-expected.html:
    * fast/repaint/region-painting-in-composited-view-expected.html:
    * fast/repaint/region-painting-in-composited-view.html:
    * fast/repaint/region-painting-via-layout-expected.txt:
    * platform/efl-wk2/TestExpectations:
    * platform/efl-wk2/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/efl-wk2/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
    * platform/efl/TestExpectations:
    * platform/efl/fast/regions/autoheight-regions-mark-expected.png: Removed.
    * platform/efl/fast/regions/autoheight-regions-mark-expected.txt: Removed.
    * platform/efl/fast/regions/flow-content-basic-expected.png: Removed. The test is now a ref test.
    * platform/efl/fast/regions/flow-content-basic-expected.txt: Removed.
    * platform/efl/fast/regions/flow-content-basic-vertical-expected.png: Removed.
    * platform/efl/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
    * platform/efl/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
    * platform/efl/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
    * platform/efl/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
    * platform/efl/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
    * platform/efl/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
    * platform/efl/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
    * platform/efl/fast/regions/region-dynamic-after-before-expected.txt:
    * platform/efl/fast/regions/region-generated-content-before-after-expected.txt:
    * platform/efl/fast/regions/text-region-split-small-pagination-expected.png: Removed.
    * platform/efl/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
    * platform/efl/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
    * platform/efl/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
    * platform/efl/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/efl/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
    * platform/efl/fast/repaint/region-painting-invalidation-expected.png: Removed.
    * platform/efl/fast/repaint/region-painting-invalidation-expected.txt: Removed.
    * platform/efl/fast/repaint/region-painting-via-layout-expected.png: Removed.
    * platform/efl/fast/repaint/region-painting-via-layout-expected.txt: Removed.
    * platform/gtk/TestExpectations:
    * platform/gtk/fast/regions/autoheight-regions-mark-expected.png: Removed.
    * platform/gtk/fast/regions/autoheight-regions-mark-expected.txt: Removed.
    * platform/gtk/fast/regions/flow-content-basic-expected.png: Removed.
    * platform/gtk/fast/regions/flow-content-basic-expected.txt: Removed.
    * platform/gtk/fast/regions/flow-content-basic-vertical-expected.png: Removed.
    * platform/gtk/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
    * platform/gtk/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
    * platform/gtk/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
    * platform/gtk/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
    * platform/gtk/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
    * platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
    * platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
    * platform/gtk/fast/regions/region-dynamic-after-before-expected.txt:
    * platform/gtk/fast/regions/region-generated-content-before-after-expected.txt:
    * platform/gtk/fast/regions/text-region-split-small-pagination-expected.png: Removed.
    * platform/gtk/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
    * platform/gtk/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
    * platform/gtk/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
    * platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
    * platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
    * platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
    * platform/gtk/fast/repaint/region-painting-invalidation-expected.png: Removed.
    * platform/gtk/fast/repaint/region-painting-invalidation-expected.txt: Removed.
    * platform/gtk/fast/repaint/region-painting-via-layout-expected.png: Removed.
    * platform/gtk/fast/repaint/region-painting-via-layout-expected.txt: Removed.
    * platform/mac-lion/TestExpectations:
    * platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
    * platform/mac-wk2/TestExpectations:
    * platform/mac/fast/regions/flow-content-basic-expected.png: Removed.
    * platform/mac/fast/regions/flow-content-basic-expected.txt: Removed.
    * platform/mac/fast/regions/flow-content-basic-vertical-expected.png: Removed.
    * platform/mac/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
    * platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
    * platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
    * platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
    * platform/mac/fast/regions/region-dynamic-after-before-expected.txt:
    * platform/mac/fast/regions/region-generated-content-before-after-expected.txt:
    * platform/mac/fast/regions/text-region-split-small-pagination-expected.txt:
    * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt:
    * platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
    * platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
    * platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
    * platform/qt-wk2/TestExpectations:
    * platform/qt-wk2/fast/regions/flow-content-basic-expected.png: Removed.
    * platform/qt-wk2/fast/regions/flow-content-basic-vertical-expected.png: Removed.
    * platform/qt-wk2/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
    * platform/qt-wk2/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
    * platform/qt-wk2/fast/regions/text-region-split-small-pagination-expected.png: Removed.
    * platform/qt-wk2/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
    * platform/qt-wk2/fast/repaint/region-painting-invalidation-expected.png: Removed.
    * platform/qt-wk2/fast/repaint/region-painting-invalidation-expected.txt: Removed.
    * platform/qt-wk2/fast/repaint/region-painting-via-layout-expected.png: Removed.
    * platform/qt/TestExpectations:
    * platform/qt/fast/regions/autoheight-regions-mark-expected.png: Removed.
    * platform/qt/fast/regions/autoheight-regions-mark-expected.txt: Removed.
    * platform/qt/fast/regions/flow-content-basic-expected.png: Removed.
    * platform/qt/fast/regions/flow-content-basic-expected.txt: Removed.
    * platform/qt/fast/regions/flow-content-basic-vertical-expected.png: Removed.
    * platform/qt/fast/regions/flow-content-basic-vertical-expected.txt: Removed.
    * platform/qt/fast/regions/flow-content-basic-vertical-rl-expected.png: Removed.
    * platform/qt/fast/regions/flow-content-basic-vertical-rl-expected.txt: Removed.
    * platform/qt/fast/regions/flows-dependency-dynamic-remove-expected.png: Removed.
    * platform/qt/fast/regions/flows-dependency-dynamic-remove-expected.txt: Removed.
    * platform/qt/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Removed.
    * platform/qt/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Removed.
    * platform/qt/fast/regions/text-region-split-small-pagination-expected.png: Removed.
    * platform/qt/fast/regions/text-region-split-small-pagination-expected.txt: Removed.
    * platform/qt/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
    * platform/qt/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
    * platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
    * platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
    * platform/qt/fast/repaint/region-painting-invalidation-expected.png: Removed.
    * platform/qt/fast/repaint/region-painting-invalidation-expected.txt: Removed.
    * platform/qt/fast/repaint/region-painting-via-layout-expected.png: Removed.
    * platform/qt/fast/repaint/region-painting-via-layout-expected.txt: Removed.
    * platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Removed.
    * platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Removed.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    df35f20a