Title: [188821] trunk/Source/WebCore
Revision
188821
Author
[email protected]
Date
2015-08-22 06:38:01 -0700 (Sat, 22 Aug 2015)

Log Message

Page::renderTreeSize() does not include anonymous renderers.
https://bugs.webkit.org/show_bug.cgi?id=148352

Reviewed by Andreas Kling.

Anonymous renderes take the document as their node. Instead
of checking whether the node is the document, we could just check
if the RenderView is available.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::~RenderObject):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView): Deleted.
* rendering/RenderView.h: Include the RenderView in render tree size as well.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (188820 => 188821)


--- trunk/Source/WebCore/ChangeLog	2015-08-22 09:57:23 UTC (rev 188820)
+++ trunk/Source/WebCore/ChangeLog	2015-08-22 13:38:01 UTC (rev 188821)
@@ -1,3 +1,21 @@
+2015-08-22  Zalan Bujtas  <[email protected]>
+
+        Page::renderTreeSize() does not include anonymous renderers.
+        https://bugs.webkit.org/show_bug.cgi?id=148352
+
+        Reviewed by Andreas Kling.
+
+        Anonymous renderes take the document as their node. Instead
+        of checking whether the node is the document, we could just check
+        if the RenderView is available.
+
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::RenderObject):
+        (WebCore::RenderObject::~RenderObject):
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::RenderView): Deleted.
+        * rendering/RenderView.h: Include the RenderView in render tree size as well.
+
 2015-08-22  Antti Koivisto  <[email protected]>
 
         Decode data URLs in web process

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (188820 => 188821)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2015-08-22 09:57:23 UTC (rev 188820)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2015-08-22 13:38:01 UTC (rev 188821)
@@ -117,8 +117,8 @@
 #endif
     , m_bitfields(node)
 {
-    if (!node.isDocumentNode())
-        view().didCreateRenderer();
+    if (RenderView* renderView = node.document().renderView())
+        renderView->didCreateRenderer();
 #ifndef NDEBUG
     renderObjectCounter.increment();
 #endif
@@ -126,11 +126,11 @@
 
 RenderObject::~RenderObject()
 {
+    view().didDestroyRenderer();
 #ifndef NDEBUG
     ASSERT(!m_hasAXObject);
     renderObjectCounter.decrement();
 #endif
-    view().didDestroyRenderer();
     ASSERT(!hasRareData());
 }
 

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (188820 => 188821)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2015-08-22 09:57:23 UTC (rev 188820)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2015-08-22 13:38:01 UTC (rev 188821)
@@ -121,7 +121,6 @@
     , m_selectionUnsplitEnd(nullptr)
     , m_selectionUnsplitStartPos(-1)
     , m_selectionUnsplitEndPos(-1)
-    , m_rendererCount(0)
     , m_lazyRepaintTimer(*this, &RenderView::lazyRepaintTimerFired)
     , m_pageLogicalHeight(0)
     , m_pageLogicalHeightChanged(false)

Modified: trunk/Source/WebCore/rendering/RenderView.h (188820 => 188821)


--- trunk/Source/WebCore/rendering/RenderView.h	2015-08-22 09:57:23 UTC (rev 188820)
+++ trunk/Source/WebCore/rendering/RenderView.h	2015-08-22 13:38:01 UTC (rev 188821)
@@ -323,7 +323,8 @@
     int m_selectionUnsplitStartPos;
     int m_selectionUnsplitEndPos;
 
-    uint64_t m_rendererCount;
+    // Include this RenderView.
+    uint64_t m_rendererCount { 1 };
 
     mutable std::unique_ptr<Region> m_accumulatedRepaintRegion;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to