Index: Source/web/WebLocalFrameImpl.cpp |
diff --git a/Source/web/WebLocalFrameImpl.cpp b/Source/web/WebLocalFrameImpl.cpp |
index f48c85566e5f6a66c23438876de38b3076970bd2..fd63993a5853904f8315f022fd7aa279d3b8e236 100644 |
--- a/Source/web/WebLocalFrameImpl.cpp |
+++ b/Source/web/WebLocalFrameImpl.cpp |
@@ -1857,7 +1857,11 @@ void WebLocalFrameImpl::loadJavaScriptURL(const KURL& url) |
void WebLocalFrameImpl::initializeToReplaceRemoteFrame(WebRemoteFrame* oldWebFrame) |
{ |
Frame* oldFrame = toCoreFrame(oldWebFrame); |
- OwnPtrWillBePersistent<FrameOwner> tempOwner = RemoteBridgeFrameOwner::create(nullptr, SandboxNone); |
dcheng
2015/02/23 21:05:12
Btw, is there ever a reason we'd want a stack Pers
haraken
2015/02/24 00:09:07
OwnPtrWillBeRawPtr is a right pointer here.
In un
|
+ // Note: this *always* temporarily sets a frame owner, even for main frames! |
+ // When a core Frame is created with no owner, it attempts to set itself as |
+ // the main frame of the Page. However, this is a provisional frame, and may |
+ // disappear, so Page::m_mainFrame can't be updated just yet. |
+ OwnPtrWillBeRawPtr<FrameOwner> tempOwner = RemoteBridgeFrameOwner::create(nullptr, SandboxNone); |
m_frame = LocalFrame::create(&m_frameLoaderClientImpl, oldFrame->host(), tempOwner.get()); |
m_frame->setOwner(oldFrame->owner()); |
m_frame->tree().setName(oldFrame->tree().name()); |