OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "web/WebRemoteFrameImpl.h" | 5 #include "web/WebRemoteFrameImpl.h" |
6 | 6 |
7 #include "bindings/core/v8/DOMWrapperWorld.h" | 7 #include "bindings/core/v8/DOMWrapperWorld.h" |
8 #include "bindings/core/v8/WindowProxy.h" | 8 #include "bindings/core/v8/WindowProxy.h" |
9 #include "core/dom/Fullscreen.h" | 9 #include "core/dom/Fullscreen.h" |
10 #include "core/dom/RemoteSecurityContext.h" | 10 #include "core/dom/RemoteSecurityContext.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 frame->SetOpener(opener); | 45 frame->SetOpener(opener); |
46 return frame; | 46 return frame; |
47 } | 47 } |
48 | 48 |
49 WebRemoteFrameImpl::~WebRemoteFrameImpl() {} | 49 WebRemoteFrameImpl::~WebRemoteFrameImpl() {} |
50 | 50 |
51 DEFINE_TRACE(WebRemoteFrameImpl) { | 51 DEFINE_TRACE(WebRemoteFrameImpl) { |
52 visitor->Trace(frame_client_); | 52 visitor->Trace(frame_client_); |
53 visitor->Trace(frame_); | 53 visitor->Trace(frame_); |
54 WebFrame::TraceFrames(visitor, this); | 54 WebFrame::TraceFrames(visitor, this); |
55 WebFrameImplBase::Trace(visitor); | |
56 } | 55 } |
57 | 56 |
58 bool WebRemoteFrameImpl::IsWebLocalFrame() const { | 57 bool WebRemoteFrameImpl::IsWebLocalFrame() const { |
59 return false; | 58 return false; |
60 } | 59 } |
61 | 60 |
62 WebLocalFrame* WebRemoteFrameImpl::ToWebLocalFrame() { | 61 WebLocalFrame* WebRemoteFrameImpl::ToWebLocalFrame() { |
63 NOTREACHED(); | 62 NOTREACHED(); |
64 return nullptr; | 63 return nullptr; |
65 } | 64 } |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 // remote process). FrameLoader might need a special initialization function | 338 // remote process). FrameLoader might need a special initialization function |
340 // for this case to avoid that duplicate navigation. | 339 // for this case to avoid that duplicate navigation. |
341 child->InitializeCoreFrame(*GetFrame()->GetPage(), owner, name); | 340 child->InitializeCoreFrame(*GetFrame()->GetPage(), owner, name); |
342 // Partially related with the above FIXME--the init() call may trigger JS | 341 // Partially related with the above FIXME--the init() call may trigger JS |
343 // dispatch. However, | 342 // dispatch. However, |
344 // if the parent is remote, it should never be detached synchronously... | 343 // if the parent is remote, it should never be detached synchronously... |
345 DCHECK(child->GetFrame()); | 344 DCHECK(child->GetFrame()); |
346 return child; | 345 return child; |
347 } | 346 } |
348 | 347 |
| 348 void WebRemoteFrameImpl::InitializeCoreFrame(Page& page) { |
| 349 InitializeCoreFrame(page, 0, g_null_atom); |
| 350 } |
| 351 |
349 void WebRemoteFrameImpl::InitializeCoreFrame(Page& page, | 352 void WebRemoteFrameImpl::InitializeCoreFrame(Page& page, |
350 FrameOwner* owner, | 353 FrameOwner* owner, |
351 const AtomicString& name) { | 354 const AtomicString& name) { |
352 SetCoreFrame(RemoteFrame::Create(frame_client_.Get(), page, owner)); | 355 SetCoreFrame(RemoteFrame::Create(frame_client_.Get(), page, owner)); |
353 GetFrame()->CreateView(); | 356 GetFrame()->CreateView(); |
354 frame_->Tree().SetName(name); | 357 frame_->Tree().SetName(name); |
355 } | 358 } |
356 | 359 |
357 WebRemoteFrame* WebRemoteFrameImpl::CreateRemoteChild( | 360 WebRemoteFrame* WebRemoteFrameImpl::CreateRemoteChild( |
358 WebTreeScopeType scope, | 361 WebTreeScopeType scope, |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 } | 538 } |
536 | 539 |
537 WebRemoteFrameImpl::WebRemoteFrameImpl(WebTreeScopeType scope, | 540 WebRemoteFrameImpl::WebRemoteFrameImpl(WebTreeScopeType scope, |
538 WebRemoteFrameClient* client) | 541 WebRemoteFrameClient* client) |
539 : WebRemoteFrame(scope), | 542 : WebRemoteFrame(scope), |
540 frame_client_(RemoteFrameClientImpl::Create(this)), | 543 frame_client_(RemoteFrameClientImpl::Create(this)), |
541 client_(client), | 544 client_(client), |
542 self_keep_alive_(this) {} | 545 self_keep_alive_(this) {} |
543 | 546 |
544 } // namespace blink | 547 } // namespace blink |
OLD | NEW |