Add size assert for RenderElement
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2016 19:26:31 +0000 (19:26 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2016 19:26:31 +0000 (19:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=162096

Reviewed by Simon Fraser.

Also remove the unused m_visibleInViewportState field.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::unregisterForVisibleInViewportCallback):
* rendering/RenderElement.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@206107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderElement.cpp
Source/WebCore/rendering/RenderElement.h

index 69b0d57..b480043 100644 (file)
@@ -1,3 +1,16 @@
+2016-09-19  Antti Koivisto  <antti@apple.com>
+
+        Add size assert for RenderElement
+        https://bugs.webkit.org/show_bug.cgi?id=162096
+
+        Reviewed by Simon Fraser.
+
+        Also remove the unused m_visibleInViewportState field.
+
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::unregisterForVisibleInViewportCallback):
+        * rendering/RenderElement.h:
+
 2016-09-19  Nan Wang  <n_wang@apple.com>
 
         AX: Add accessibility support for details element on iOS
index e31328b..98c9581 100644 (file)
 
 namespace WebCore {
 
+struct SameSizeAsRenderElement : public RenderObject {
+    uint32_t bitfields;
+    void* firstChild;
+    void* lastChild;
+    RenderStyle style;
+};
+
+static_assert(sizeof(RenderElement) == sizeof(SameSizeAsRenderElement), "RenderElement should stay small");
+
 bool RenderElement::s_affectsParentBlock = false;
 bool RenderElement::s_noLongerAffectsParentBlock = false;
     
@@ -1483,7 +1492,6 @@ void RenderElement::unregisterForVisibleInViewportCallback()
     setIsRegisteredForVisibleInViewportCallback(false);
 
     view().unregisterForVisibleInViewportCallback(*this);
-    m_visibleInViewportState = VisibilityUnknown;
 }
 
 void RenderElement::visibleInViewportStateChanged(VisibleInViewportState state)
index b93ec57..ce9a551 100644 (file)
@@ -345,8 +345,6 @@ private:
     unsigned m_renderBlockFlowHasMarkupTruncation : 1;
     unsigned m_renderBlockFlowLineLayoutPath : 2;
 
-    VisibleInViewportState m_visibleInViewportState { VisibilityUnknown };
-
     RenderObject* m_firstChild;
     RenderObject* m_lastChild;