Home | History | Annotate | Download | only in frame
      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