• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "config.h"
6 #include "core/frame/RemoteFrame.h"
7 
8 #include "core/frame/RemoteFrameView.h"
9 #include "core/html/HTMLFrameOwnerElement.h"
10 
11 namespace blink {
12 
RemoteFrame(FrameClient * client,FrameHost * host,FrameOwner * owner)13 inline RemoteFrame::RemoteFrame(FrameClient* client, FrameHost* host, FrameOwner* owner)
14     : Frame(client, host, owner)
15 {
16 }
17 
create(FrameClient * client,FrameHost * host,FrameOwner * owner)18 PassRefPtrWillBeRawPtr<RemoteFrame> RemoteFrame::create(FrameClient* client, FrameHost* host, FrameOwner* owner)
19 {
20     return adoptRefWillBeNoop(new RemoteFrame(client, host, owner));
21 }
22 
~RemoteFrame()23 RemoteFrame::~RemoteFrame()
24 {
25     setView(nullptr);
26 }
27 
detach()28 void RemoteFrame::detach()
29 {
30     detachChildren();
31     m_host = nullptr;
32 }
33 
setView(PassRefPtr<RemoteFrameView> view)34 void RemoteFrame::setView(PassRefPtr<RemoteFrameView> view)
35 {
36     m_view = view;
37 }
38 
createView()39 void RemoteFrame::createView()
40 {
41     RefPtr<RemoteFrameView> view = RemoteFrameView::create(this);
42     setView(view);
43 
44     if (ownerRenderer()) {
45         HTMLFrameOwnerElement* owner = deprecatedLocalOwner();
46         ASSERT(owner);
47         owner->setWidget(view);
48     }
49 }
50 
51 } // namespace blink
52