Index: Source/core/frame/DOMWindow.cpp |
diff --git a/Source/core/frame/DOMWindow.cpp b/Source/core/frame/DOMWindow.cpp |
index 58eb5f81e01198d54b8ca2702ff2913171ed1e1e..bf86c6029e217a21c3ff4e4865980f89cb20ece2 100644 |
--- a/Source/core/frame/DOMWindow.cpp |
+++ b/Source/core/frame/DOMWindow.cpp |
@@ -59,6 +59,7 @@ |
#include "core/frame/Console.h" |
#include "core/frame/DOMPoint.h" |
#include "core/frame/DOMWindowLifecycleNotifier.h" |
+#include "core/frame/EventHandlerRegistry.h" |
#include "core/frame/FrameConsole.h" |
#include "core/frame/FrameHost.h" |
#include "core/frame/FrameView.h" |
@@ -329,6 +330,7 @@ DOMWindow::DOMWindow(LocalFrame& frame) |
#endif |
{ |
ScriptWrappable::init(this); |
+ m_frame->host()->eventHandlerRegistry().didMoveIntoFrameHost(*this); |
Rick Byers
2014/05/06 20:54:39
Please add a comment describing why this is necess
Sami
2014/05/07 10:36:41
Yeah, I was thinking along the same lines -- it wo
Rick Byers
2014/05/07 13:28:21
Yeah this seems a lot cleaner. The observer abstr
|
} |
void DOMWindow::clearDocument() |
@@ -484,6 +486,9 @@ DOMWindow::~DOMWindow() |
ASSERT(m_hasBeenReset); |
reset(); |
+ if (m_frame && m_frame->host()) |
+ m_frame->host()->eventHandlerRegistry().didMoveOutOfFrameHost(*this); |
+ |
removeAllEventListeners(); |
ASSERT(m_document->isStopped()); |
@@ -523,6 +528,7 @@ void DOMWindow::frameDestroyed() |
void DOMWindow::willDetachFrameHost() |
Rick Byers
2014/05/06 20:54:39
Does this only happen when a window is being destr
Sami
2014/05/07 10:36:41
I don't think we need to worry about that. If hand
Rick Byers
2014/05/07 13:28:21
Thanks, sounds reasonable.
|
{ |
+ m_frame->host()->eventHandlerRegistry().didMoveOutOfFrameHost(*this); |
InspectorInstrumentation::frameWindowDiscarded(m_frame, this); |
} |