Chromium Code Reviews| Index: Source/core/frame/RemoteFrame.cpp |
| diff --git a/Source/core/frame/RemoteFrame.cpp b/Source/core/frame/RemoteFrame.cpp |
| index 7b07fdca6504eb37b51d917e4a7b90034cf19509..0b4bc1e9f52772e85ab653db2681e04571390ae6 100644 |
| --- a/Source/core/frame/RemoteFrame.cpp |
| +++ b/Source/core/frame/RemoteFrame.cpp |
| @@ -5,6 +5,7 @@ |
| #include "config.h" |
| #include "core/frame/RemoteFrame.h" |
| +#include "bindings/core/v8/WindowProxy.h" |
| #include "bindings/core/v8/WindowProxyManager.h" |
| #include "core/dom/RemoteSecurityContext.h" |
| #include "core/frame/RemoteDOMWindow.h" |
| @@ -48,7 +49,10 @@ DOMWindow* RemoteFrame::domWindow() const |
| WindowProxy* RemoteFrame::windowProxy(DOMWrapperWorld& world) |
| { |
| - return m_windowProxyManager->windowProxy(world); |
| + WindowProxy* windowProxy = m_windowProxyManager->windowProxy(world); |
| + if (windowProxy) |
| + windowProxy->initializeIfNeeded(); |
| + return windowProxy; |
| } |
| void RemoteFrame::navigate(Document& originDocument, const KURL& url, bool lockBackForwardList) |
| @@ -71,6 +75,7 @@ void RemoteFrame::detach() |
| if (!client()) |
| return; |
| m_windowProxyManager->clearForClose(); |
| + m_domWindow->resetLocation(); |
|
dcheng
2015/02/09 23:29:58
Hmm... is this something we could get away with do
Nate Chapin
2015/02/10 19:45:27
Done.
|
| Frame::detach(); |
| } |