| Index: Source/core/frame/LocalFrame.cpp
|
| diff --git a/Source/core/frame/LocalFrame.cpp b/Source/core/frame/LocalFrame.cpp
|
| index 41172b75acca115f17a867c73ce021f6bfa5ec9d..ff443ff96ca1c4c2c1369ea64adf988ef5127043 100644
|
| --- a/Source/core/frame/LocalFrame.cpp
|
| +++ b/Source/core/frame/LocalFrame.cpp
|
| @@ -222,6 +222,7 @@ void LocalFrame::trace(Visitor* visitor)
|
| visitor->trace(m_loader);
|
| visitor->trace(m_navigationScheduler);
|
| visitor->trace(m_view);
|
| + visitor->trace(m_domWindow);
|
| visitor->trace(m_pagePopupOwner);
|
| visitor->trace(m_script);
|
| visitor->trace(m_editor);
|
| @@ -236,6 +237,11 @@ void LocalFrame::trace(Visitor* visitor)
|
| Frame::trace(visitor);
|
| }
|
|
|
| +LocalDOMWindow* LocalFrame::domWindow() const
|
| +{
|
| + return m_domWindow.get();
|
| +}
|
| +
|
| void LocalFrame::navigate(Document& originDocument, const KURL& url, bool lockBackForwardList)
|
| {
|
| m_navigationScheduler.scheduleLocationChange(&originDocument, url.string(), lockBackForwardList);
|
| @@ -336,7 +342,10 @@ void LocalFrame::setDOMWindow(PassRefPtrWillBeRawPtr<LocalDOMWindow> domWindow)
|
| }
|
| if (domWindow)
|
| script().clearWindowProxy();
|
| - Frame::setDOMWindow(domWindow);
|
| +
|
| + if (m_domWindow)
|
| + m_domWindow->reset();
|
| + m_domWindow = domWindow;
|
| }
|
|
|
| Document* LocalFrame::document() const
|
|
|