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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.h

Issue 2655663004: Introduce content-side Feature Policy object and maintain in parallel with renderer policy. (Closed)
Patch Set: Add comments for public enum members Created 3 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 } 74 }
75 75
76 namespace gfx { 76 namespace gfx {
77 class Range; 77 class Range;
78 } 78 }
79 79
80 namespace content { 80 namespace content {
81 class AppWebMessagePortMessageFilter; 81 class AppWebMessagePortMessageFilter;
82 class AssociatedInterfaceProviderImpl; 82 class AssociatedInterfaceProviderImpl;
83 class CrossProcessFrameConnector; 83 class CrossProcessFrameConnector;
84 class FeaturePolicy;
84 class FrameTree; 85 class FrameTree;
85 class FrameTreeNode; 86 class FrameTreeNode;
86 class MediaInterfaceProxy; 87 class MediaInterfaceProxy;
87 class NavigationHandleImpl; 88 class NavigationHandleImpl;
88 class PermissionServiceContext; 89 class PermissionServiceContext;
89 class RenderFrameHostDelegate; 90 class RenderFrameHostDelegate;
90 class RenderFrameProxyHost; 91 class RenderFrameProxyHost;
91 class RenderProcessHost; 92 class RenderProcessHost;
92 class RenderViewHostImpl; 93 class RenderViewHostImpl;
93 class RenderWidgetHostDelegate; 94 class RenderWidgetHostDelegate;
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 // Destroys all WebUI instances and resets related data. 589 // Destroys all WebUI instances and resets related data.
589 void ClearAllWebUI(); 590 void ClearAllWebUI();
590 591
591 // Returns the Mojo ImageDownloader service. 592 // Returns the Mojo ImageDownloader service.
592 const content::mojom::ImageDownloaderPtr& GetMojoImageDownloader(); 593 const content::mojom::ImageDownloaderPtr& GetMojoImageDownloader();
593 594
594 // Resets the loading state. Following this call, the RenderFrameHost will be 595 // Resets the loading state. Following this call, the RenderFrameHost will be
595 // in a non-loading state. 596 // in a non-loading state.
596 void ResetLoadingState(); 597 void ResetLoadingState();
597 598
599 // Returns the feature policy which should be enforced on this RenderFrame.
600 FeaturePolicy* get_feature_policy() { return feature_policy_.get(); }
601
602 // Clears any existing policy and constructs a new policy for this frame,
603 // based on its parent frame.
604 void ResetFeaturePolicy();
605
598 // Tells the renderer that this RenderFrame will soon be swapped out, and thus 606 // Tells the renderer that this RenderFrame will soon be swapped out, and thus
599 // not to create any new modal dialogs until it happens. This must be done 607 // not to create any new modal dialogs until it happens. This must be done
600 // separately so that the ScopedPageLoadDeferrers of any current dialogs are 608 // separately so that the ScopedPageLoadDeferrers of any current dialogs are
601 // no longer on the stack when we attempt to swap it out. 609 // no longer on the stack when we attempt to swap it out.
602 void SuppressFurtherDialogs(); 610 void SuppressFurtherDialogs();
603 611
604 void SetHasReceivedUserGesture(); 612 void SetHasReceivedUserGesture();
605 613
606 void ClearFocusedElement(); 614 void ClearFocusedElement();
607 615
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 std::vector<std::unique_ptr<service_manager::InterfaceRegistry>> 1156 std::vector<std::unique_ptr<service_manager::InterfaceRegistry>>
1149 media_registries_; 1157 media_registries_;
1150 1158
1151 std::unique_ptr<AssociatedInterfaceProviderImpl> 1159 std::unique_ptr<AssociatedInterfaceProviderImpl>
1152 remote_associated_interfaces_; 1160 remote_associated_interfaces_;
1153 1161
1154 // A bitwise OR of bindings types that have been enabled for this RenderFrame. 1162 // A bitwise OR of bindings types that have been enabled for this RenderFrame.
1155 // See BindingsPolicy for details. 1163 // See BindingsPolicy for details.
1156 int enabled_bindings_ = 0; 1164 int enabled_bindings_ = 0;
1157 1165
1166 // Tracks the feature policy which has been set on this frame.
1167 std::unique_ptr<FeaturePolicy> feature_policy_;
1168
1158 // NOTE: This must be the last member. 1169 // NOTE: This must be the last member.
1159 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; 1170 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
1160 1171
1161 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); 1172 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
1162 }; 1173 };
1163 1174
1164 } // namespace content 1175 } // namespace content
1165 1176
1166 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ 1177 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/frame_host/navigator_impl.cc ('k') | content/browser/frame_host/render_frame_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698