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 #ifndef RemoteFrame_h | 5 #ifndef RemoteFrame_h |
6 #define RemoteFrame_h | 6 #define RemoteFrame_h |
7 | 7 |
| 8 #include "core/dom/RemoteSecurityContext.h" |
8 #include "core/frame/Frame.h" | 9 #include "core/frame/Frame.h" |
9 | 10 |
10 namespace blink { | 11 namespace blink { |
11 | 12 |
12 class Event; | 13 class Event; |
13 class RemoteFrameClient; | 14 class RemoteFrameClient; |
14 class RemoteFrameView; | 15 class RemoteFrameView; |
15 | 16 |
16 class RemoteFrame: public Frame { | 17 class RemoteFrame: public Frame { |
17 public: | 18 public: |
18 static PassRefPtrWillBeRawPtr<RemoteFrame> create(RemoteFrameClient*, FrameH
ost*, FrameOwner*); | 19 static PassRefPtrWillBeRawPtr<RemoteFrame> create(RemoteFrameClient*, FrameH
ost*, FrameOwner*); |
19 | 20 |
20 virtual ~RemoteFrame(); | 21 virtual ~RemoteFrame(); |
21 | 22 |
22 // Frame overrides: | 23 // Frame overrides: |
23 void trace(Visitor*) override; | 24 void trace(Visitor*) override; |
24 virtual bool isRemoteFrame() const override { return true; } | 25 virtual bool isRemoteFrame() const override { return true; } |
25 virtual DOMWindow* domWindow() const override { return 0; } | 26 virtual DOMWindow* domWindow() const override { return 0; } |
26 virtual void navigate(Document& originDocument, const KURL&, bool lockBackFo
rwardList) override; | 27 virtual void navigate(Document& originDocument, const KURL&, bool lockBackFo
rwardList) override; |
27 virtual void detach() override; | 28 virtual void detach() override; |
| 29 virtual RemoteSecurityContext* securityContext() const override; |
28 | 30 |
29 // FIXME: Remove this method once we have input routing in the browser | 31 // FIXME: Remove this method once we have input routing in the browser |
30 // process. See http://crbug.com/339659. | 32 // process. See http://crbug.com/339659. |
31 void forwardInputEvent(Event*); | 33 void forwardInputEvent(Event*); |
32 | 34 |
33 void setView(PassRefPtrWillBeRawPtr<RemoteFrameView>); | 35 void setView(PassRefPtrWillBeRawPtr<RemoteFrameView>); |
34 void createView(); | 36 void createView(); |
35 | 37 |
36 RemoteFrameView* view() const; | 38 RemoteFrameView* view() const; |
37 | 39 |
38 | 40 |
39 private: | 41 private: |
40 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*); | 42 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*); |
41 | 43 |
42 RemoteFrameClient* remoteFrameClient() const; | 44 RemoteFrameClient* remoteFrameClient() const; |
43 | 45 |
44 RefPtrWillBeMember<RemoteFrameView> m_view; | 46 RefPtrWillBeMember<RemoteFrameView> m_view; |
| 47 RefPtr<RemoteSecurityContext> m_securityContext; |
45 }; | 48 }; |
46 | 49 |
47 inline RemoteFrameView* RemoteFrame::view() const | 50 inline RemoteFrameView* RemoteFrame::view() const |
48 { | 51 { |
49 return m_view.get(); | 52 return m_view.get(); |
50 } | 53 } |
51 | 54 |
52 DEFINE_TYPE_CASTS(RemoteFrame, Frame, remoteFrame, remoteFrame->isRemoteFrame(),
remoteFrame.isRemoteFrame()); | 55 DEFINE_TYPE_CASTS(RemoteFrame, Frame, remoteFrame, remoteFrame->isRemoteFrame(),
remoteFrame.isRemoteFrame()); |
53 | 56 |
54 } // namespace blink | 57 } // namespace blink |
55 | 58 |
56 #endif // RemoteFrame_h | 59 #endif // RemoteFrame_h |
OLD | NEW |