Title: [226488] trunk/Source/WebCore
- Revision
- 226488
- Author
- an...@apple.com
- Date
- 2018-01-06 13:01:19 -0800 (Sat, 06 Jan 2018)
Log Message
Use WeakPtr for RenderTreePosition::m_nextSibling
https://bugs.webkit.org/show_bug.cgi?id=181363
Reviewed by Zalan Bujtas.
For safety. In most cases it is null and won't cause us to instantiate WeakReferences for
many new objects.
* rendering/updating/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::computeNextSibling):
* rendering/updating/RenderTreePosition.h:
(WebCore::RenderTreePosition::RenderTreePosition):
(WebCore::RenderTreePosition::nextSibling const):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (226487 => 226488)
--- trunk/Source/WebCore/ChangeLog 2018-01-06 16:52:30 UTC (rev 226487)
+++ trunk/Source/WebCore/ChangeLog 2018-01-06 21:01:19 UTC (rev 226488)
@@ -1,3 +1,19 @@
+2018-01-06 Antti Koivisto <an...@apple.com>
+
+ Use WeakPtr for RenderTreePosition::m_nextSibling
+ https://bugs.webkit.org/show_bug.cgi?id=181363
+
+ Reviewed by Zalan Bujtas.
+
+ For safety. In most cases it is null and won't cause us to instantiate WeakReferences for
+ many new objects.
+
+ * rendering/updating/RenderTreePosition.cpp:
+ (WebCore::RenderTreePosition::computeNextSibling):
+ * rendering/updating/RenderTreePosition.h:
+ (WebCore::RenderTreePosition::RenderTreePosition):
+ (WebCore::RenderTreePosition::nextSibling const):
+
2018-01-05 David Kilzer <ddkil...@apple.com>
Re-enable -Wcast-qual in WebCore for Apple ports
Modified: trunk/Source/WebCore/rendering/updating/RenderTreePosition.cpp (226487 => 226488)
--- trunk/Source/WebCore/rendering/updating/RenderTreePosition.cpp 2018-01-06 16:52:30 UTC (rev 226487)
+++ trunk/Source/WebCore/rendering/updating/RenderTreePosition.cpp 2018-01-06 21:01:19 UTC (rev 226488)
@@ -45,7 +45,7 @@
#endif
return;
}
- m_nextSibling = nextSiblingRenderer(node);
+ m_nextSibling = makeWeakPtr(nextSiblingRenderer(node));
m_hasValidNextSibling = true;
}
Modified: trunk/Source/WebCore/rendering/updating/RenderTreePosition.h (226487 => 226488)
--- trunk/Source/WebCore/rendering/updating/RenderTreePosition.h 2018-01-06 16:52:30 UTC (rev 226487)
+++ trunk/Source/WebCore/rendering/updating/RenderTreePosition.h 2018-01-06 21:01:19 UTC (rev 226488)
@@ -40,13 +40,13 @@
}
RenderTreePosition(RenderElement& parent, RenderObject* nextSibling)
: m_parent(parent)
- , m_nextSibling(nextSibling)
+ , m_nextSibling(makeWeakPtr(nextSibling))
, m_hasValidNextSibling(true)
{
}
RenderElement& parent() const { return m_parent; }
- RenderObject* nextSibling() const { ASSERT(m_hasValidNextSibling); return m_nextSibling; }
+ RenderObject* nextSibling() const { ASSERT(m_hasValidNextSibling); return m_nextSibling.get(); }
void computeNextSibling(const Node&);
void moveToLastChild();
@@ -57,7 +57,7 @@
private:
RenderElement& m_parent;
- RenderObject* m_nextSibling { nullptr };
+ WeakPtr<RenderObject> m_nextSibling { nullptr };
bool m_hasValidNextSibling { false };
#if !ASSERT_DISABLED
unsigned m_assertionLimitCounter { 0 };
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes