diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 3a6cb9467f37..4d50edffb0e9 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,22 @@ +2018-02-20 Zalan Bujtas + + [RenderTreeBuilder] Move RenderListItem::willBeRemoved() mutation logic to RenderTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=182943 + + + 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 Chris Dumez Crash under JSC::JSCell::toNumber(JSC::ExecState*) diff --git a/Source/WebCore/rendering/RenderListItem.cpp b/Source/WebCore/rendering/RenderListItem.cpp index 34208d85c17a..76736fcd156f 100644 --- a/Source/WebCore/rendering/RenderListItem.cpp +++ b/Source/WebCore/rendering/RenderListItem.cpp @@ -53,13 +53,7 @@ RenderListItem::RenderListItem(Element& element, RenderStyle&& style) RenderListItem::~RenderListItem() { // Do not add any code here. Add it to willBeDestroyed() instead. -} - -void RenderListItem::willBeDestroyed(RenderTreeBuilder& builder) -{ - if (m_marker) - builder.removeAndDestroy(*m_marker); - RenderBlockFlow::willBeDestroyed(builder); + ASSERT(!m_marker); } RenderStyle RenderListItem::computeMarkerStyle() const diff --git a/Source/WebCore/rendering/RenderListItem.h b/Source/WebCore/rendering/RenderListItem.h index 8398c7b03c55..b701567e8fd8 100644 --- a/Source/WebCore/rendering/RenderListItem.h +++ b/Source/WebCore/rendering/RenderListItem.h @@ -62,7 +62,6 @@ class RenderListItem final : public RenderBlockFlow { bool isInReversedOrderedList() const; private: - void willBeDestroyed(RenderTreeBuilder&) final; const char* renderName() const final { return "RenderListItem"; }