• hyatt@apple.com's avatar
    Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=81685 · 04cdbe4f
    hyatt@apple.com authored
            
    [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
    04cdbe4f
RenderNamedFlowThread.h 4.46 KB