Commit 04cdbe4f authored by hyatt@apple.com's avatar hyatt@apple.com
Browse files

Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=81685

        
[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.
        
Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
    
Reviewed by Julien Chaffraix.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/NodeRenderingContext.cpp:
* dom/NodeRenderingContext.h:
(WebCore):
(WebCore::NodeRenderingContext::parentFlowRenderer):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* dom/WebKitNamedFlow.h:
(WebCore):
(WebCore::WebKitNamedFlow::create):
(WebKitNamedFlow):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseAnonymousBoxChild):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore):
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
* rendering/RenderFlowThread.h:
(WebCore):
* rendering/RenderMultiColumnFlowThread.cpp: Added.
(WebCore):
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
(WebCore::RenderMultiColumnFlowThread::renderName):
* rendering/RenderMultiColumnFlowThread.h: Added.
(WebCore):
(RenderMultiColumnFlowThread):
* rendering/RenderNamedFlowThread.cpp: Added.
(WebCore):
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::renderName):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
(WebCore::RenderNamedFlowThread::dependsOn):
(WebCore::compareRenderRegions):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::pushDependencies):
(WebCore::RenderNamedFlowThread::ensureNamedFlow):
* rendering/RenderNamedFlowThread.h: Added.
(WebCore):
(RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::name):
(WebCore::RenderNamedFlowThread::hasChildren):
(WebCore::RenderNamedFlowThread::hasChild):
(WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
(WebCore::toRenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderNamedFlowThread):
* rendering/RenderObjectChildList.cpp:
(WebCore::renderNamedFlowThreadContainer):
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::attachRegion):
* rendering/RenderRegion.h:
(WebCore):
(WebCore::RenderRegion::parentNamedFlowThread):
(RenderRegion):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderNamedFlowThreads):
(WebCore::writeLayers):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::styleDidChange):
(WebCore::RenderView::ensureRenderFlowThreadWithName):
(WebCore::RenderView::layoutRenderNamedFlowThreads):
* rendering/RenderView.h:
(WebCore):
(RenderView):
(WebCore::RenderView::hasRenderNamedFlowThreads):
(WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::renderNamedFlowThreadList):

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=81685
        
[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.

Change layout test results to reflect the name change from RenderFlowThread to
RenderNamedFlowThread. Other platforms should update results accordingly.

Reviewed by Julien Chaffraix.

* fast/repaint/inline-relative-positioned-expected.txt:
* fast/repaint/overflow-clip-subtree-layout-expected.txt:
* fast/repaint/subtree-root-clip-2-expected.txt:
* fast/repaint/subtree-root-clip-3-expected.txt:
* fast/repaint/subtree-root-clip-expected.txt:
* platform/mac/fast/regions/bottom-overflow-out-of-first-region-expected.txt:
* platform/mac/fast/regions/flow-content-basic-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt:
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-hidden-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-visible-expected.txt:
* platform/mac/fast/regions/region-overflow-break-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
* platform/mac/fast/regions/region-style-image-background-color-expected.txt:
* platform/mac/fast/regions/region-style-inline-background-color-expected.txt:
* platform/mac/fast/regions/render-region-custom-style-mark-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/regions/webkit-flow-double-pagination-float-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt:
* 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/overflow-flipped-writing-mode-block-in-regions-expected.txt:
* platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
* platform/mac/fast/repaint/region-painting-via-layout-expected.txt:
* 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.txt:
* platform/qt/fast/repaint/region-painting-via-layout-expected.txt:
* platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent b369e6a7
2012-03-28 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=81685
[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.
Change layout test results to reflect the name change from RenderFlowThread to
RenderNamedFlowThread. Other platforms should update results accordingly.
Reviewed by Julien Chaffraix.
* fast/repaint/inline-relative-positioned-expected.txt:
* fast/repaint/overflow-clip-subtree-layout-expected.txt:
* fast/repaint/subtree-root-clip-2-expected.txt:
* fast/repaint/subtree-root-clip-3-expected.txt:
* fast/repaint/subtree-root-clip-expected.txt:
* platform/mac/fast/regions/bottom-overflow-out-of-first-region-expected.txt:
* platform/mac/fast/regions/flow-content-basic-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-expected.txt:
* platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt:
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.txt:
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-hidden-expected.txt:
* platform/mac/fast/regions/region-overflow-auto-overflow-visible-expected.txt:
* platform/mac/fast/regions/region-overflow-break-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color-expected.txt:
* platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
* platform/mac/fast/regions/region-style-image-background-color-expected.txt:
* platform/mac/fast/regions/region-style-inline-background-color-expected.txt:
* platform/mac/fast/regions/render-region-custom-style-mark-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/regions/webkit-flow-double-pagination-float-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt:
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.txt:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt:
* 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/overflow-flipped-writing-mode-block-in-regions-expected.txt:
* platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
* platform/mac/fast/repaint/region-painting-via-layout-expected.txt:
* 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.txt:
* platform/qt/fast/repaint/region-painting-via-layout-expected.txt:
* platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
2012-03-27 Ryosuke Niwa <rniwa@webkit.org>
 
Deleting a paragraph of text should not add elements for typing style
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x600
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x350
RenderFlowThread at (0,0) size 300x350
RenderNamedFlowThread at (0,0) size 300x350
RenderBlock {DIV} at (0,0) size 300x350
RenderBlock {DIV} at (0,0) size 300x350 [bgcolor=#008000]
Regions for flow 'flow1'
......
......@@ -16,7 +16,7 @@ layer at (0,0) size 800x418
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 400x300
RenderFlowThread at (0,0) size 400x300
RenderNamedFlowThread at (0,0) size 400x300
RenderBlock {DIV} at (0,0) size 400x200
RenderBlock {DIV} at (5,5) size 390x190 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (48,1) size 293x229 [border: (1px solid #008000)]
......
......@@ -19,7 +19,7 @@ layer at (0,0) size 800x194
Flow Threads
Thread with flow-name 'main-thread'
layer at (0,0) size 300x100
RenderFlowThread at (0,0) size 300x100
RenderNamedFlowThread at (0,0) size 300x100
RenderBlock {DIV} at (0,16) size 300x18 [color=#008000]
RenderBlock {P} at (0,0) size 300x18
RenderText {#text} at (0,0) size 79x18
......
......@@ -21,7 +21,7 @@ layer at (0,0) size 230x600
Flow Threads
Thread with flow-name 'main-thread'
layer at (0,0) size 100x300
RenderFlowThread at (0,0) size 100x300
RenderNamedFlowThread at (0,0) size 100x300
RenderBlock {DIV} at (16,0) size 18x300 [color=#008000]
RenderBlock {P} at (0,0) size 18x300
RenderText {#text} at (0,0) size 18x79
......
......@@ -22,7 +22,7 @@ layer at (446,0) size 354x600
Flow Threads
Thread with flow-name 'main-thread'
layer at (600,0) size 200x300
RenderFlowThread at (0,0) size 200x300
RenderNamedFlowThread at (0,0) size 200x300
RenderBlock {DIV} at (0,0) size 200x300 [color=#008000]
RenderBlock {DIV} at (0,0) size 100x300
RenderText {#text} at (0,0) size 18x107
......
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x422
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 500x400
RenderFlowThread at (0,0) size 500x400
RenderNamedFlowThread at (0,0) size 500x400
RenderBlock {DIV} at (25,0) size 450x372
RenderBlock {DIV} at (27,15) size 396x342 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (40,11) size 316x249 [border: (1px solid #008000)]
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x532
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 400x450
RenderFlowThread at (0,0) size 400x450
RenderNamedFlowThread at (0,0) size 400x450
RenderBlock {DIV} at (0,0) size 400x232
RenderBlock {DIV} at (5,5) size 390x222 [border: (1px solid #0000FF)]
RenderBlock (floating) {DIV} at (6,6) size 50x50 [bgcolor=#00FF00]
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x253
RenderBlock {DIV} at (5,5) size 290x243 [border: (1px solid #0000FF)]
layer at (46,46) size 208x161 clip at (47,47) size 206x159 scrollWidth 500
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 400x400
RenderFlowThread at (0,0) size 400x400
RenderNamedFlowThread at (0,0) size 400x400
RenderBlock {DIV} at (0,0) size 400x305
RenderBlock {DIV} at (5,5) size 390x295 [border: (1px solid #0000FF)]
RenderBlock (floating) {DIV} at (1,1) size 50x50 [bgcolor=#00FF00]
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 400x400
RenderFlowThread at (0,0) size 400x400
RenderNamedFlowThread at (0,0) size 400x400
RenderBlock {DIV} at (0,0) size 400x265
RenderBlock {DIV} at (5,5) size 390x255 [border: (1px solid #0000FF)]
RenderBlock (floating) {DIV} at (1,1) size 30x50 [bgcolor=#00FF00]
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x253
RenderBlock {DIV} at (5,5) size 290x243 [border: (1px solid #0000FF)]
layer at (46,46) size 208x161 clip at (47,47) size 206x159 scrollWidth 500
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x377
RenderBlock {DIV} at (5,5) size 290x367 [border: (1px solid #0000FF)]
layer at (41,6) size 218x365 clip at (42,7) size 216x363 scrollWidth 500
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x359
RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollWidth 500
......
......@@ -14,7 +14,7 @@ layer at (0,0) size 800x482
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x359
RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollX 284 scrollWidth 500
......
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x422
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x599
RenderBlock {DIV} at (34,5) size 232x589 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (11,11) size 210x567 [border: (1px solid #008000)]
......
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x422
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x599
RenderBlock {DIV} at (34,5) size 232x589 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (11,11) size 210x567 [border: (1px solid #008000)]
......
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x422
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x599
RenderBlock {DIV} at (34,5) size 232x589 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (11,11) size 210x567 [border: (1px solid #008000)]
......
......@@ -10,7 +10,7 @@ layer at (0,0) size 800x422
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 300x400
RenderFlowThread at (0,0) size 300x400
RenderNamedFlowThread at (0,0) size 300x400
RenderBlock {DIV} at (0,0) size 300x599
RenderBlock {DIV} at (34,5) size 232x589 [border: (1px solid #0000FF)]
RenderBlock {DIV} at (11,11) size 210x567 [border: (1px solid #008000)]
......
......@@ -24,7 +24,7 @@ layer at (8,26) size 550x450
Flow Threads
Thread with flow-name 'flow1'
layer at (0,0) size 500x450
RenderFlowThread at (0,0) size 500x450
RenderNamedFlowThread at (0,0) size 500x450
RenderBlock {DIV} at (0,50) size 500x400
layer at (50,50) size 400x400
RenderBlock (relative positioned) {DIV} at (50,0) size 400x400
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment