1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file. 4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "config.h" 6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "core/frame/RemoteFrame.h" 7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch#include "core/frame/RemoteFrameView.h" 9a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#include "core/html/HTMLFrameOwnerElement.h" 1007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 11c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 12d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 13f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)inline RemoteFrame::RemoteFrame(FrameClient* client, FrameHost* host, FrameOwner* owner) 14f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) : Frame(client, host, owner) 15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 16d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 17d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciPassRefPtrWillBeRawPtr<RemoteFrame> RemoteFrame::create(FrameClient* client, FrameHost* host, FrameOwner* owner) 19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 207242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci return adoptRefWillBeNoop(new RemoteFrame(client, host, owner)); 21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)RemoteFrame::~RemoteFrame() 24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles){ 2507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch setView(nullptr); 2607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 2707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 28c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)void RemoteFrame::detach() 29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles){ 30c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) detachChildren(); 317242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci m_host = nullptr; 32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} 33c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 3407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochvoid RemoteFrame::setView(PassRefPtr<RemoteFrameView> view) 3507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch{ 3607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch m_view = view; 3707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch} 3807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 3907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdochvoid RemoteFrame::createView() 4007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch{ 4107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch RefPtr<RemoteFrameView> view = RemoteFrameView::create(this); 4207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch setView(view); 4307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 44a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch if (ownerRenderer()) { 45f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) HTMLFrameOwnerElement* owner = deprecatedLocalOwner(); 46f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) ASSERT(owner); 47f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) owner->setWidget(view); 48a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch } 49d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} 50d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 51c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 52