[CSS Regions]Add helper class for flow threads info in RenderView
authormihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Apr 2012 09:41:37 +0000 (09:41 +0000)
committermihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Apr 2012 09:41:37 +0000 (09:41 +0000)
commit3e632f5bae3b10038ef35f3bf30972780d640112
tree0b731fa3fe063c5e033a6c7f742f3a6384a815f7
parent85b6045873f7b4b84368d811ea0d5c16eb87f90b
[CSS Regions]Add helper class for flow threads info in RenderView
https://bugs.webkit.org/show_bug.cgi?id=83464

Reviewed by David Hyatt.

This patch creates a new helper class FlowThreadController that will accommodate all the flow thread
related info from RenderView and moves all the data structures/methods from RenderView into this new class.
There is only one FlowThreadController object per RenderView and it can be retrieved using flowThreadController() method from RenderView.
The flow thread controller object is owned by the RenderView and it is created on demand only if there are flowing
threads in the page.

Since there is no change in functionality, there are no new tests added.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::webkitGetFlowByName):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
* rendering/FlowThreadController.cpp: Added.
(WebCore):
(WebCore::FlowThreadController::create):
(WebCore::FlowThreadController::FlowThreadController):
(WebCore::FlowThreadController::~FlowThreadController):
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
(WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
* rendering/FlowThreadController.h: Added.
(WebCore):
(FlowThreadController):
(WebCore::FlowThreadController::currentRenderFlowThread):
(WebCore::FlowThreadController::setCurrentRenderFlowThread):
(WebCore::FlowThreadController::isRenderNamedFlowThreadOrderDirty):
(WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
(WebCore::FlowThreadController::renderNamedFlowThreadList):
(WebCore::FlowThreadController::hasRenderNamedFlowThreads):
* rendering/RenderFlowThread.cpp:
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
(WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::enclosingRenderFlowThread):
(WebCore::RenderObject::willBeDestroyed):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderNamedFlowThreads):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::hasRenderNamedFlowThreads):
(WebCore::RenderView::flowThreadController):
* rendering/RenderView.h:
(WebCore):
(RenderView):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@113842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
18 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/NodeRenderingContext.cpp
Source/WebCore/rendering/FlowThreadController.cpp [new file with mode: 0644]
Source/WebCore/rendering/FlowThreadController.h [new file with mode: 0644]
Source/WebCore/rendering/RenderFlowThread.cpp
Source/WebCore/rendering/RenderNamedFlowThread.cpp
Source/WebCore/rendering/RenderNamedFlowThread.h
Source/WebCore/rendering/RenderObject.cpp
Source/WebCore/rendering/RenderTreeAsText.cpp
Source/WebCore/rendering/RenderView.cpp
Source/WebCore/rendering/RenderView.h