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

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

Issue 2254533002: [FeaturePolicy] Initial implementation of Feature Policy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fp-flag
Patch Set: Remove overaggressive bool transform Created 4 years, 3 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 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999-2001 Lars Knoll <knoll@kde.org> 3 * 1999-2001 Lars Knoll <knoll@kde.org>
4 * 1999-2001 Antti Koivisto <koivisto@kde.org> 4 * 1999-2001 Antti Koivisto <koivisto@kde.org>
5 * 2000-2001 Simon Hausmann <hausmann@kde.org> 5 * 2000-2001 Simon Hausmann <hausmann@kde.org>
6 * 2000-2001 Dirk Mueller <mueller@kde.org> 6 * 2000-2001 Dirk Mueller <mueller@kde.org>
7 * 2000 Stefan Schimanski <1Stein@gmx.de> 7 * 2000 Stefan Schimanski <1Stein@gmx.de>
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
(...skipping 14 matching lines...) Expand all
25 * Boston, MA 02110-1301, USA. 25 * Boston, MA 02110-1301, USA.
26 */ 26 */
27 27
28 #ifndef Frame_h 28 #ifndef Frame_h
29 #define Frame_h 29 #define Frame_h
30 30
31 #include "core/CoreExport.h" 31 #include "core/CoreExport.h"
32 #include "core/frame/FrameTypes.h" 32 #include "core/frame/FrameTypes.h"
33 #include "core/loader/FrameLoaderTypes.h" 33 #include "core/loader/FrameLoaderTypes.h"
34 #include "core/page/FrameTree.h" 34 #include "core/page/FrameTree.h"
35 #include "platform/feature_policy/FeaturePolicy.h"
35 #include "platform/heap/Handle.h" 36 #include "platform/heap/Handle.h"
36 #include "wtf/Forward.h" 37 #include "wtf/Forward.h"
37 38
38 namespace blink { 39 namespace blink {
39 40
40 class ChromeClient; 41 class ChromeClient;
41 class DOMWindow; 42 class DOMWindow;
42 class DOMWrapperWorld; 43 class DOMWrapperWorld;
43 class Document; 44 class Document;
44 class FrameClient; 45 class FrameClient;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 99
99 FrameOwner* owner() const; 100 FrameOwner* owner() const;
100 void setOwner(FrameOwner* owner) { m_owner = owner; } 101 void setOwner(FrameOwner* owner) { m_owner = owner; }
101 HTMLFrameOwnerElement* deprecatedLocalOwner() const; 102 HTMLFrameOwnerElement* deprecatedLocalOwner() const;
102 103
103 FrameTree& tree() const; 104 FrameTree& tree() const;
104 ChromeClient& chromeClient() const; 105 ChromeClient& chromeClient() const;
105 106
106 virtual SecurityContext* securityContext() const = 0; 107 virtual SecurityContext* securityContext() const = 0;
107 108
109 FeaturePolicy* getFeaturePolicy() const { return m_featurePolicy; }
110 void setFeaturePolicy(FeaturePolicy* newPolicy) { m_featurePolicy = newPolic y; }
111
108 Frame* findFrameForNavigation(const AtomicString& name, Frame& activeFrame); 112 Frame* findFrameForNavigation(const AtomicString& name, Frame& activeFrame);
109 Frame* findUnsafeParentScrollPropagationBoundary(); 113 Frame* findUnsafeParentScrollPropagationBoundary();
110 114
111 // This prepares the Frame for the next commit. It will detach children, 115 // This prepares the Frame for the next commit. It will detach children,
112 // dispatch unload events, abort XHR requests and detach the document. 116 // dispatch unload events, abort XHR requests and detach the document.
113 // Returns true if the frame is ready to receive the next commit, or false 117 // Returns true if the frame is ready to receive the next commit, or false
114 // otherwise. 118 // otherwise.
115 virtual bool prepareForCommit() = 0; 119 virtual bool prepareForCommit() = 0;
116 120
117 bool canNavigate(const Frame&); 121 bool canNavigate(const Frame&);
(...skipping 23 matching lines...) Expand all
141 mutable FrameTree m_treeNode; 145 mutable FrameTree m_treeNode;
142 146
143 Member<FrameHost> m_host; 147 Member<FrameHost> m_host;
144 Member<FrameOwner> m_owner; 148 Member<FrameOwner> m_owner;
145 149
146 private: 150 private:
147 bool canNavigateWithoutFramebusting(const Frame&, String& errorReason); 151 bool canNavigateWithoutFramebusting(const Frame&, String& errorReason);
148 152
149 Member<FrameClient> m_client; 153 Member<FrameClient> m_client;
150 bool m_isLoading; 154 bool m_isLoading;
155
156 Member<FeaturePolicy> m_featurePolicy;
151 }; 157 };
152 158
153 inline FrameClient* Frame::client() const 159 inline FrameClient* Frame::client() const
154 { 160 {
155 return m_client; 161 return m_client;
156 } 162 }
157 163
158 inline FrameOwner* Frame::owner() const 164 inline FrameOwner* Frame::owner() const
159 { 165 {
160 return m_owner; 166 return m_owner;
161 } 167 }
162 168
163 inline FrameTree& Frame::tree() const 169 inline FrameTree& Frame::tree() const
164 { 170 {
165 return m_treeNode; 171 return m_treeNode;
166 } 172 }
167 173
168 // Allow equality comparisons of Frames by reference or pointer, interchangeably . 174 // Allow equality comparisons of Frames by reference or pointer, interchangeably .
169 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES(Frame) 175 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES(Frame)
170 176
171 } // namespace blink 177 } // namespace blink
172 178
173 #endif // Frame_h 179 #endif // Frame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698