Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: third_party/WebKit/Source/core/frame/RemoteFrame.h

Issue 2562323002: Devirtualize Frame::domWindow(). (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 IntRect; 16 class IntRect;
17 class LocalFrame; 17 class LocalFrame;
18 class RemoteDOMWindow;
19 class RemoteFrameClient; 18 class RemoteFrameClient;
20 class RemoteFrameView; 19 class RemoteFrameView;
21 class WebLayer; 20 class WebLayer;
22 class WindowProxyManager; 21 class WindowProxyManager;
23 struct FrameLoadRequest; 22 struct FrameLoadRequest;
24 23
25 class CORE_EXPORT RemoteFrame final : public Frame { 24 class CORE_EXPORT RemoteFrame final : public Frame {
26 public: 25 public:
27 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*); 26 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*);
28 27
29 ~RemoteFrame() override; 28 ~RemoteFrame() override;
30 29
31 // Frame overrides: 30 // Frame overrides:
32 DECLARE_VIRTUAL_TRACE(); 31 DECLARE_VIRTUAL_TRACE();
33 DOMWindow* domWindow() const override;
34 WindowProxy* windowProxy(DOMWrapperWorld&) override; 32 WindowProxy* windowProxy(DOMWrapperWorld&) override;
35 void navigate(Document& originDocument, 33 void navigate(Document& originDocument,
36 const KURL&, 34 const KURL&,
37 bool replaceCurrentItem, 35 bool replaceCurrentItem,
38 UserGestureStatus) override; 36 UserGestureStatus) override;
39 void navigate(const FrameLoadRequest& passedRequest) override; 37 void navigate(const FrameLoadRequest& passedRequest) override;
40 void reload(FrameLoadType, ClientRedirectPolicy) override; 38 void reload(FrameLoadType, ClientRedirectPolicy) override;
41 void detach(FrameDetachType) override; 39 void detach(FrameDetachType) override;
42 RemoteSecurityContext* securityContext() const override; 40 RemoteSecurityContext* securityContext() const override;
43 void printNavigationErrorMessage(const Frame&, const char* reason) override {} 41 void printNavigationErrorMessage(const Frame&, const char* reason) override {}
(...skipping 30 matching lines...) Expand all
74 } 72 }
75 // Intentionally private to prevent redundant checks when the type is 73 // Intentionally private to prevent redundant checks when the type is
76 // already RemoteFrame. 74 // already RemoteFrame.
77 bool isLocalFrame() const override { return false; } 75 bool isLocalFrame() const override { return false; }
78 bool isRemoteFrame() const override { return true; } 76 bool isRemoteFrame() const override { return true; }
79 77
80 void detachChildren(); 78 void detachChildren();
81 79
82 Member<RemoteFrameView> m_view; 80 Member<RemoteFrameView> m_view;
83 Member<RemoteSecurityContext> m_securityContext; 81 Member<RemoteSecurityContext> m_securityContext;
84 Member<RemoteDOMWindow> m_domWindow;
85 Member<WindowProxyManager> m_windowProxyManager; 82 Member<WindowProxyManager> m_windowProxyManager;
86 WebLayer* m_webLayer = nullptr; 83 WebLayer* m_webLayer = nullptr;
87 }; 84 };
88 85
89 inline RemoteFrameView* RemoteFrame::view() const { 86 inline RemoteFrameView* RemoteFrame::view() const {
90 return m_view.get(); 87 return m_view.get();
91 } 88 }
92 89
93 DEFINE_TYPE_CASTS(RemoteFrame, 90 DEFINE_TYPE_CASTS(RemoteFrame,
94 Frame, 91 Frame,
95 remoteFrame, 92 remoteFrame,
96 remoteFrame->isRemoteFrame(), 93 remoteFrame->isRemoteFrame(),
97 remoteFrame.isRemoteFrame()); 94 remoteFrame.isRemoteFrame());
98 95
99 } // namespace blink 96 } // namespace blink
100 97
101 #endif // RemoteFrame_h 98 #endif // RemoteFrame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698