summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderRegion.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-08-21 10:57:44 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-08-21 10:57:44 +0200
commit5ef7c8a6a70875d4430752d146bdcb069605d71d (patch)
treef6256640b6c46d7da221435803cae65326817ba2 /Source/WebCore/rendering/RenderRegion.cpp
parentdecad929f578d8db641febc8740649ca6c574638 (diff)
downloadqtwebkit-5ef7c8a6a70875d4430752d146bdcb069605d71d.tar.gz
Imported WebKit commit 356d83016b090995d08ad568f2d2c243aa55e831 (http://svn.webkit.org/repository/webkit/trunk@126147)
New snapshot including various build fixes for newer Qt 5
Diffstat (limited to 'Source/WebCore/rendering/RenderRegion.cpp')
-rw-r--r--Source/WebCore/rendering/RenderRegion.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/Source/WebCore/rendering/RenderRegion.cpp b/Source/WebCore/rendering/RenderRegion.cpp
index aa4e05077..b9b33f397 100644
--- a/Source/WebCore/rendering/RenderRegion.cpp
+++ b/Source/WebCore/rendering/RenderRegion.cpp
@@ -193,9 +193,7 @@ void RenderRegion::layout()
void RenderRegion::attachRegion()
{
- if (documentBeingDestroyed())
- return;
-
+ ASSERT(view());
ASSERT(!m_flowThread);
// Initialize the flow thread reference and create the flow thread object if needed.
// The flow thread lifetime is influenced by the number of regions attached to it,
@@ -357,6 +355,20 @@ void RenderRegion::restoreRegionObjectsOriginalStyle()
m_renderObjectRegionStyle.swap(temp);
}
+void RenderRegion::insertedIntoTree()
+{
+ RenderReplaced::insertedIntoTree();
+
+ attachRegion();
+}
+
+void RenderRegion::willBeRemovedFromTree()
+{
+ RenderReplaced::willBeRemovedFromTree();
+
+ detachRegion();
+}
+
PassRefPtr<RenderStyle> RenderRegion::computeStyleInRegion(const RenderObject* object)
{
ASSERT(object);
@@ -399,6 +411,10 @@ void RenderRegion::computeChildrenStyleInRegion(const RenderObject* object)
void RenderRegion::setObjectStyleInRegion(RenderObject* object, PassRefPtr<RenderStyle> styleInRegion, bool objectRegionStyleCached)
{
+ ASSERT(object->inRenderFlowThread());
+ if (!object->inRenderFlowThread())
+ return;
+
RefPtr<RenderStyle> objectOriginalStyle = object->style();
object->setStyleInternal(styleInRegion);