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 #ifndef RemoteFrame_h 6 #define RemoteFrame_h 7 8 #include "core/frame/Frame.h" 9 10 namespace WebCore { 11 12 class RemoteFrameView; 13 14 class RemoteFrame: public Frame { 15 public: 16 static PassRefPtr<RemoteFrame> create(FrameClient*, FrameHost*, FrameOwner*); 17 virtual bool isRemoteFrame() const OVERRIDE { return true; } 18 19 virtual ~RemoteFrame(); 20 21 void setView(PassRefPtr<RemoteFrameView>); 22 void createView(); 23 24 RemoteFrameView* view() const; 25 26 private: 27 RemoteFrame(FrameClient*, FrameHost*, FrameOwner*); 28 29 RefPtr<RemoteFrameView> m_view; 30 }; 31 32 inline RemoteFrameView* RemoteFrame::view() const 33 { 34 return m_view.get(); 35 } 36 37 DEFINE_TYPE_CASTS(RemoteFrame, Frame, remoteFrame, remoteFrame->isRemoteFrame(), remoteFrame.isRemoteFrame()); 38 39 } // namespace WebCore 40 41 #endif // RemoteFrame_h 42