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