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

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

Issue 2015003002: Disallow local/remote checks on subclasses of Frame, FrameOwner and DOMWindow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pure virtual Created 4 years, 6 months 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"
(...skipping 12 matching lines...) Expand all
23 struct FrameLoadRequest; 23 struct FrameLoadRequest;
24 24
25 class CORE_EXPORT RemoteFrame: public Frame { 25 class CORE_EXPORT RemoteFrame: public Frame {
26 public: 26 public:
27 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*); 27 static RemoteFrame* create(RemoteFrameClient*, FrameHost*, FrameOwner*);
28 28
29 ~RemoteFrame() override; 29 ~RemoteFrame() override;
30 30
31 // Frame overrides: 31 // Frame overrides:
32 DECLARE_VIRTUAL_TRACE(); 32 DECLARE_VIRTUAL_TRACE();
33 bool isRemoteFrame() const override { return true; }
34 DOMWindow* domWindow() const override; 33 DOMWindow* domWindow() const override;
35 WindowProxy* windowProxy(DOMWrapperWorld&) override; 34 WindowProxy* windowProxy(DOMWrapperWorld&) override;
36 void navigate(Document& originDocument, const KURL&, bool replaceCurrentItem , UserGestureStatus) override; 35 void navigate(Document& originDocument, const KURL&, bool replaceCurrentItem , UserGestureStatus) override;
37 void navigate(const FrameLoadRequest& passedRequest) override; 36 void navigate(const FrameLoadRequest& passedRequest) override;
38 void reload(FrameLoadType, ClientRedirectPolicy) override; 37 void reload(FrameLoadType, ClientRedirectPolicy) override;
39 void detach(FrameDetachType) override; 38 void detach(FrameDetachType) override;
40 RemoteSecurityContext* securityContext() const override; 39 RemoteSecurityContext* securityContext() const override;
41 void printNavigationErrorMessage(const Frame&, const char* reason) override { } 40 void printNavigationErrorMessage(const Frame&, const char* reason) override { }
42 bool prepareForCommit() override; 41 bool prepareForCommit() override;
43 bool shouldClose() override; 42 bool shouldClose() override;
(...skipping 16 matching lines...) Expand all
60 59
61 RemoteFrameView* view() const; 60 RemoteFrameView* view() const;
62 61
63 RemoteFrameClient* client() const; 62 RemoteFrameClient* client() const;
64 63
65 private: 64 private:
66 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*); 65 RemoteFrame(RemoteFrameClient*, FrameHost*, FrameOwner*);
67 66
68 // Internal Frame helper overrides: 67 // Internal Frame helper overrides:
69 WindowProxyManager* getWindowProxyManager() const override { return m_window ProxyManager.get(); } 68 WindowProxyManager* getWindowProxyManager() const override { return m_window ProxyManager.get(); }
69 // Intentionally private to prevent redundant checks when the type is
70 // already RemoteFrame.
71 bool isLocalFrame() const override { return false; }
72 bool isRemoteFrame() const override { return true; }
70 73
71 Member<RemoteFrameView> m_view; 74 Member<RemoteFrameView> m_view;
72 Member<RemoteSecurityContext> m_securityContext; 75 Member<RemoteSecurityContext> m_securityContext;
73 Member<RemoteDOMWindow> m_domWindow; 76 Member<RemoteDOMWindow> m_domWindow;
74 Member<WindowProxyManager> m_windowProxyManager; 77 Member<WindowProxyManager> m_windowProxyManager;
75 WebLayer* m_remotePlatformLayer; 78 WebLayer* m_remotePlatformLayer;
76 }; 79 };
77 80
78 inline RemoteFrameView* RemoteFrame::view() const 81 inline RemoteFrameView* RemoteFrame::view() const
79 { 82 {
80 return m_view.get(); 83 return m_view.get();
81 } 84 }
82 85
83 DEFINE_TYPE_CASTS(RemoteFrame, Frame, remoteFrame, remoteFrame->isRemoteFrame(), remoteFrame.isRemoteFrame()); 86 DEFINE_TYPE_CASTS(RemoteFrame, Frame, remoteFrame, remoteFrame->isRemoteFrame(), remoteFrame.isRemoteFrame());
84 87
85 } // namespace blink 88 } // namespace blink
86 89
87 #endif // RemoteFrame_h 90 #endif // RemoteFrame_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/RemoteDOMWindow.h ('k') | third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698