Index: content/browser/frame_host/render_frame_host_impl.h |
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h |
index 80b1c53831fd626e99defecf41405516c92a4f20..162ed2080ccf73f4672db16266a662a6e40bfe41 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.h |
+++ b/content/browser/frame_host/render_frame_host_impl.h |
@@ -81,6 +81,7 @@ namespace content { |
class AppWebMessagePortMessageFilter; |
class AssociatedInterfaceProviderImpl; |
class CrossProcessFrameConnector; |
+class FeaturePolicy; |
class FrameTree; |
class FrameTreeNode; |
class MediaInterfaceProxy; |
@@ -595,6 +596,13 @@ class CONTENT_EXPORT RenderFrameHostImpl |
// in a non-loading state. |
void ResetLoadingState(); |
+ // Returns the feature policy which should be enforced on this RenderFrame. |
+ FeaturePolicy* get_feature_policy() { return feature_policy_.get(); } |
+ |
+ // Clears any existing policy and constructs a new policy for this frame, |
+ // based on its parent frame. |
+ void ResetFeaturePolicy(); |
+ |
// Tells the renderer that this RenderFrame will soon be swapped out, and thus |
// not to create any new modal dialogs until it happens. This must be done |
// separately so that the ScopedPageLoadDeferrers of any current dialogs are |
@@ -1155,6 +1163,9 @@ class CONTENT_EXPORT RenderFrameHostImpl |
// See BindingsPolicy for details. |
int enabled_bindings_ = 0; |
+ // Tracks the feature policy which has been set on this frame. |
+ std::unique_ptr<FeaturePolicy> feature_policy_; |
+ |
// NOTE: This must be the last member. |
base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; |