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