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/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/dom/RemoteSecurityContext.h" | 9 #include "core/dom/RemoteSecurityContext.h" |
10 #include "core/frame/Frame.h" | 10 #include "core/frame/Frame.h" |
11 #include "public/platform/WebFocusType.h" | 11 #include "public/platform/WebFocusType.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 class Event; | 15 class Event; |
16 class LocalFrame; | 16 class LocalFrame; |
17 class RemoteFrameClient; | 17 class RemoteFrameClient; |
18 class RemoteFrameView; | 18 class RemoteFrameView; |
19 class RemoteWindowProxyManager; | |
20 class WebLayer; | 19 class WebLayer; |
21 struct FrameLoadRequest; | 20 struct FrameLoadRequest; |
22 | 21 |
23 class CORE_EXPORT RemoteFrame final : public Frame { | 22 class CORE_EXPORT RemoteFrame final : public Frame { |
24 public: | 23 public: |
25 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*); | 24 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*); |
26 | 25 |
27 ~RemoteFrame() override; | 26 ~RemoteFrame() override; |
28 | 27 |
29 // Frame overrides: | 28 // Frame overrides: |
30 DECLARE_VIRTUAL_TRACE(); | 29 DECLARE_VIRTUAL_TRACE(); |
31 WindowProxy* windowProxy(DOMWrapperWorld&) override; | |
32 void navigate(Document& originDocument, | 30 void navigate(Document& originDocument, |
33 const KURL&, | 31 const KURL&, |
34 bool replaceCurrentItem, | 32 bool replaceCurrentItem, |
35 UserGestureStatus) override; | 33 UserGestureStatus) override; |
36 void navigate(const FrameLoadRequest& passedRequest) override; | 34 void navigate(const FrameLoadRequest& passedRequest) override; |
37 void reload(FrameLoadType, ClientRedirectPolicy) override; | 35 void reload(FrameLoadType, ClientRedirectPolicy) override; |
38 void detach(FrameDetachType) override; | 36 void detach(FrameDetachType) override; |
39 RemoteSecurityContext* securityContext() const override; | 37 RemoteSecurityContext* securityContext() const override; |
40 void printNavigationErrorMessage(const Frame&, const char* reason) override {} | 38 void printNavigationErrorMessage(const Frame&, const char* reason) override {} |
41 void printNavigationWarning(const String&) override {} | 39 void printNavigationWarning(const String&) override {} |
(...skipping 12 matching lines...) Expand all Loading... |
54 void setView(RemoteFrameView*); | 52 void setView(RemoteFrameView*); |
55 void createView(); | 53 void createView(); |
56 | 54 |
57 RemoteFrameView* view() const; | 55 RemoteFrameView* view() const; |
58 | 56 |
59 RemoteFrameClient* client() const; | 57 RemoteFrameClient* client() const; |
60 | 58 |
61 private: | 59 private: |
62 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*); | 60 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*); |
63 | 61 |
64 // Internal Frame helper overrides: | |
65 WindowProxyManagerBase* getWindowProxyManager() const override; | |
66 | |
67 // Intentionally private to prevent redundant checks when the type is | 62 // Intentionally private to prevent redundant checks when the type is |
68 // already RemoteFrame. | 63 // already RemoteFrame. |
69 bool isLocalFrame() const override { return false; } | 64 bool isLocalFrame() const override { return false; } |
70 bool isRemoteFrame() const override { return true; } | 65 bool isRemoteFrame() const override { return true; } |
71 | 66 |
72 void detachChildren(); | 67 void detachChildren(); |
73 | 68 |
74 Member<RemoteFrameView> m_view; | 69 Member<RemoteFrameView> m_view; |
75 Member<RemoteSecurityContext> m_securityContext; | 70 Member<RemoteSecurityContext> m_securityContext; |
76 Member<RemoteWindowProxyManager> m_windowProxyManager; | |
77 WebLayer* m_webLayer = nullptr; | 71 WebLayer* m_webLayer = nullptr; |
78 }; | 72 }; |
79 | 73 |
80 inline RemoteFrameView* RemoteFrame::view() const { | 74 inline RemoteFrameView* RemoteFrame::view() const { |
81 return m_view.get(); | 75 return m_view.get(); |
82 } | 76 } |
83 | 77 |
84 DEFINE_TYPE_CASTS(RemoteFrame, | 78 DEFINE_TYPE_CASTS(RemoteFrame, |
85 Frame, | 79 Frame, |
86 remoteFrame, | 80 remoteFrame, |
87 remoteFrame->isRemoteFrame(), | 81 remoteFrame->isRemoteFrame(), |
88 remoteFrame.isRemoteFrame()); | 82 remoteFrame.isRemoteFrame()); |
89 | 83 |
90 } // namespace blink | 84 } // namespace blink |
91 | 85 |
92 #endif // RemoteFrame_h | 86 #endif // RemoteFrame_h |
OLD | NEW |