Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 1981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1992 void WebLocalFrameImpl::initializeToReplaceRemoteFrame(WebRemoteFrame* oldWebFra me, const WebString& name, WebSandboxFlags flags, const WebFrameOwnerProperties& frameOwnerProperties) | 1992 void WebLocalFrameImpl::initializeToReplaceRemoteFrame(WebRemoteFrame* oldWebFra me, const WebString& name, WebSandboxFlags flags, const WebFrameOwnerProperties& frameOwnerProperties) |
| 1993 { | 1993 { |
| 1994 Frame* oldFrame = toCoreFrame(oldWebFrame); | 1994 Frame* oldFrame = toCoreFrame(oldWebFrame); |
| 1995 // Note: this *always* temporarily sets a frame owner, even for main frames! | 1995 // Note: this *always* temporarily sets a frame owner, even for main frames! |
| 1996 // When a core Frame is created with no owner, it attempts to set itself as | 1996 // When a core Frame is created with no owner, it attempts to set itself as |
| 1997 // the main frame of the Page. However, this is a provisional frame, and may | 1997 // the main frame of the Page. However, this is a provisional frame, and may |
| 1998 // disappear, so Page::m_mainFrame can't be updated just yet. | 1998 // disappear, so Page::m_mainFrame can't be updated just yet. |
| 1999 OwnPtrWillBeRawPtr<FrameOwner> tempOwner = RemoteBridgeFrameOwner::create(nu llptr, SandboxNone, WebFrameOwnerProperties()); | 1999 OwnPtrWillBeRawPtr<FrameOwner> tempOwner = RemoteBridgeFrameOwner::create(nu llptr, SandboxNone, WebFrameOwnerProperties()); |
| 2000 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(m_frameLoaderClien tImpl.get(), oldFrame->host(), tempOwner.get()); | 2000 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(m_frameLoaderClien tImpl.get(), oldFrame->host(), tempOwner.get()); |
| 2001 frame->setOwner(oldFrame->owner()); | 2001 frame->setOwner(oldFrame->owner()); |
| 2002 frame->tree().setName(name); | |
| 2003 setParent(oldWebFrame->parent()); | 2002 setParent(oldWebFrame->parent()); |
| 2004 setOpener(oldWebFrame->opener()); | 2003 setOpener(oldWebFrame->opener()); |
| 2004 | |
| 2005 // Set the name and unique name directly. | |
| 2006 // TODO(creis): Remove |name| parameter. | |
|
Charlie Reis
2015/11/06 23:04:48
We would need to be able to call WebRemoteFrame::n
| |
| 2007 frame->tree().setNameForReplacementFrame(name, oldWebFrame->uniqueName()); | |
| 2005 setCoreFrame(frame); | 2008 setCoreFrame(frame); |
| 2006 | 2009 |
| 2007 if (frame->owner() && !frame->owner()->isLocal()) { | 2010 if (frame->owner() && !frame->owner()->isLocal()) { |
| 2008 toRemoteBridgeFrameOwner(frame->owner())->setSandboxFlags(static_cast<Sa ndboxFlags>(flags)); | 2011 toRemoteBridgeFrameOwner(frame->owner())->setSandboxFlags(static_cast<Sa ndboxFlags>(flags)); |
| 2009 // Since a remote frame doesn't get the notifications about frame owner | 2012 // Since a remote frame doesn't get the notifications about frame owner |
| 2010 // property modifications, we need to sync up those properties here. | 2013 // property modifications, we need to sync up those properties here. |
| 2011 WebLocalFrameImpl::fromFrame(frame.get())->setFrameOwnerProperties(frame OwnerProperties); | 2014 WebLocalFrameImpl::fromFrame(frame.get())->setFrameOwnerProperties(frame OwnerProperties); |
| 2012 } | 2015 } |
| 2013 | 2016 |
| 2014 // We must call init() after m_frame is assigned because it is referenced | 2017 // We must call init() after m_frame is assigned because it is referenced |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2219 } | 2222 } |
| 2220 | 2223 |
| 2221 WebSandboxFlags WebLocalFrameImpl::effectiveSandboxFlags() const | 2224 WebSandboxFlags WebLocalFrameImpl::effectiveSandboxFlags() const |
| 2222 { | 2225 { |
| 2223 if (!frame()) | 2226 if (!frame()) |
| 2224 return WebSandboxFlags::None; | 2227 return WebSandboxFlags::None; |
| 2225 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags( )); | 2228 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags( )); |
| 2226 } | 2229 } |
| 2227 | 2230 |
| 2228 } // namespace blink | 2231 } // namespace blink |
| OLD | NEW |