Title: [259353] trunk/Source/WebCore
Revision
259353
Author
jer.no...@apple.com
Date
2020-04-01 10:02:21 -0700 (Wed, 01 Apr 2020)

Log Message

Don't use raw pointers in ShadowRoot.
https://bugs.webkit.org/show_bug.cgi?id=209843
<rdar://problem/61069603>

Reviewed by Brent Fulgham.

* dom/Element.cpp:
(WebCore::Element::addShadowRoot):
* dom/ShadowRoot.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (259352 => 259353)


--- trunk/Source/WebCore/ChangeLog	2020-04-01 16:48:51 UTC (rev 259352)
+++ trunk/Source/WebCore/ChangeLog	2020-04-01 17:02:21 UTC (rev 259353)
@@ -1,3 +1,15 @@
+2020-04-01  Jer Noble  <jer.no...@apple.com>
+
+        Don't use raw pointers in ShadowRoot.
+        https://bugs.webkit.org/show_bug.cgi?id=209843
+        <rdar://problem/61069603>
+
+        Reviewed by Brent Fulgham.
+
+        * dom/Element.cpp:
+        (WebCore::Element::addShadowRoot):
+        * dom/ShadowRoot.h:
+
 2020-04-01  Jack Lee  <shihchieh_...@apple.com>
 
         Notify accessibility when a node is removed from its ancestor.

Modified: trunk/Source/WebCore/dom/Element.cpp (259352 => 259353)


--- trunk/Source/WebCore/dom/Element.cpp	2020-04-01 16:48:51 UTC (rev 259352)
+++ trunk/Source/WebCore/dom/Element.cpp	2020-04-01 17:02:21 UTC (rev 259353)
@@ -2291,7 +2291,7 @@
 
         ensureElementRareData().setShadowRoot(WTFMove(newShadowRoot));
 
-        shadowRoot.setHost(this);
+        shadowRoot.setHost(makeWeakPtr<Element>(this));
         shadowRoot.setParentTreeScope(treeScope());
 
 #if ASSERT_ENABLED

Modified: trunk/Source/WebCore/dom/ShadowRoot.h (259352 => 259353)


--- trunk/Source/WebCore/dom/ShadowRoot.h	2020-04-01 16:48:51 UTC (rev 259352)
+++ trunk/Source/WebCore/dom/ShadowRoot.h	2020-04-01 17:02:21 UTC (rev 259353)
@@ -71,8 +71,8 @@
     bool containsFocusedElement() const { return m_containsFocusedElement; }
     void setContainsFocusedElement(bool flag) { m_containsFocusedElement = flag; }
 
-    Element* host() const { return m_host; }
-    void setHost(Element* host) { m_host = host; }
+    Element* host() const { return m_host.get(); }
+    void setHost(WeakPtr<Element>&& host) { m_host = WTFMove(host); }
 
     String innerHTML() const;
     ExceptionOr<void> setInnerHTML(const String&);
@@ -130,7 +130,7 @@
     bool m_containsFocusedElement { false };
     ShadowRootMode m_type { ShadowRootMode::UserAgent };
 
-    Element* m_host { nullptr };
+    WeakPtr<Element> m_host;
     RefPtr<StyleSheetList> m_styleSheetList;
 
     std::unique_ptr<Style::Scope> m_styleScope;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to