Index: Source/core/frame/DOMWindowProperty.cpp |
diff --git a/Source/core/frame/DOMWindowProperty.cpp b/Source/core/frame/DOMWindowProperty.cpp |
index d64c29ae93e6c9337126c51b523faf92cfcf4b4f..d1c4226a29e98e018c40ef753181987fe7cdee98 100644 |
--- a/Source/core/frame/DOMWindowProperty.cpp |
+++ b/Source/core/frame/DOMWindowProperty.cpp |
@@ -50,9 +50,6 @@ DOMWindowProperty::~DOMWindowProperty() |
{ |
if (m_associatedDOMWindow) |
m_associatedDOMWindow->unregisterProperty(this); |
- |
- m_associatedDOMWindow = nullptr; |
- m_frame = nullptr; |
} |
#endif |
@@ -62,10 +59,10 @@ void DOMWindowProperty::willDestroyGlobalObjectInFrame() |
ASSERT(m_frame); |
ASSERT(m_associatedDOMWindow); |
- // DOMWindowProperty lifetime isn't tied directly to the LocalDOMWindow itself so it is important that it unregister |
- // itself from any LocalDOMWindow it is associated with if that LocalDOMWindow is going away. |
- if (m_associatedDOMWindow) |
- m_associatedDOMWindow->unregisterProperty(this); |
+ // LocalDOMWindow will along with notifying DOMWindowProperty objects of |
+ // impending destruction, unilaterally clear out its registered set. |
+ // Consequently, no explicit unregisteration required by DOMWindowProperty; |
+ // here or when finalized. |
m_associatedDOMWindow = nullptr; |
m_frame = nullptr; |
} |