Title: [228858] trunk/Source/WebCore
Revision
228858
Author
[email protected]
Date
2018-02-20 20:39:29 -0800 (Tue, 20 Feb 2018)

Log Message

[RenderTreeBuilder] Move RenderListItem::willBeRemoved() mutation logic to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182943
<rdar://problem/37689029>

Reviewed by Antti Koivisto.

We don't need to destroy the marker in RenderListItem::willBeRemoved(), because it gets deleted
in RenderTreeBuilder::removeAndDestroy() together with RenderListItem (as long as the marker is
the RenderListItem's descendent).

Covered by existing tests.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::~RenderListItem):
(WebCore::RenderListItem::willBeDestroyed): Deleted.
* rendering/RenderListItem.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (228857 => 228858)


--- trunk/Source/WebCore/ChangeLog	2018-02-21 04:17:20 UTC (rev 228857)
+++ trunk/Source/WebCore/ChangeLog	2018-02-21 04:39:29 UTC (rev 228858)
@@ -1,3 +1,22 @@
+2018-02-20  Zalan Bujtas  <[email protected]>
+
+        [RenderTreeBuilder] Move RenderListItem::willBeRemoved() mutation logic to RenderTreeBuilder
+        https://bugs.webkit.org/show_bug.cgi?id=182943
+        <rdar://problem/37689029>
+
+        Reviewed by Antti Koivisto.
+
+        We don't need to destroy the marker in RenderListItem::willBeRemoved(), because it gets deleted
+        in RenderTreeBuilder::removeAndDestroy() together with RenderListItem (as long as the marker is
+        the RenderListItem's descendent). 
+
+        Covered by existing tests.
+
+        * rendering/RenderListItem.cpp:
+        (WebCore::RenderListItem::~RenderListItem):
+        (WebCore::RenderListItem::willBeDestroyed): Deleted.
+        * rendering/RenderListItem.h:
+
 2018-02-20  Nan Wang  <[email protected]>
 
         AX: Keyboard focus not following VoiceOver cursor into web content or within web content.

Modified: trunk/Source/WebCore/rendering/RenderListItem.cpp (228857 => 228858)


--- trunk/Source/WebCore/rendering/RenderListItem.cpp	2018-02-21 04:17:20 UTC (rev 228857)
+++ trunk/Source/WebCore/rendering/RenderListItem.cpp	2018-02-21 04:39:29 UTC (rev 228858)
@@ -53,15 +53,9 @@
 RenderListItem::~RenderListItem()
 {
     // Do not add any code here. Add it to willBeDestroyed() instead.
+    ASSERT(!m_marker);
 }
 
-void RenderListItem::willBeDestroyed(RenderTreeBuilder& builder)
-{
-    if (m_marker)
-        builder.removeAndDestroy(*m_marker);
-    RenderBlockFlow::willBeDestroyed(builder);
-}
-
 RenderStyle RenderListItem::computeMarkerStyle() const
 {
     // The marker always inherits from the list item, regardless of where it might end

Modified: trunk/Source/WebCore/rendering/RenderListItem.h (228857 => 228858)


--- trunk/Source/WebCore/rendering/RenderListItem.h	2018-02-21 04:17:20 UTC (rev 228857)
+++ trunk/Source/WebCore/rendering/RenderListItem.h	2018-02-21 04:39:29 UTC (rev 228858)
@@ -62,7 +62,6 @@
     bool isInReversedOrderedList() const;
 
 private:
-    void willBeDestroyed(RenderTreeBuilder&) final;
 
     const char* renderName() const final { return "RenderListItem"; }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to