Replicate feature policy container policies

Desktop / Chromium - iclelland [chromium.org] - 19 April 2017 08:43 EDT

This CL adds a persistent parsed container policy to HTMLFrameOwnerElement, and replicates it alongside of sandbox attributes to remote frames. In most cases, the sandbox and FP attributes should be processed at the same time, so the IPC and methods for them have been combined. The combination of sandbox and FP is referred to as the "frame policies".

BUG=682258 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2797813002 Cr-Commit-Position: refs/heads/master@{#465563}

92f8c0b Replicate feature policy container policies.
.../printing/renderer/print_web_view_helper.cc | 2 +
content/browser/frame_host/frame_tree.cc | 9 +-
content/browser/frame_host/frame_tree.h | 1 +
content/browser/frame_host/frame_tree_node.cc | 19 +-
content/browser/frame_host/frame_tree_node.h | 38 ++-
.../frame_tree_node_blame_context_unittest.cc | 3 +-
content/browser/frame_host/frame_tree_unittest.cc | 82 ++++---
.../navigation_controller_impl_unittest.cc | 14 +-
.../browser/frame_host/render_frame_host_impl.cc | 43 ++--
.../browser/frame_host/render_frame_host_impl.h | 7 +-
.../frame_host/render_frame_host_manager.cc | 24 +-
.../browser/frame_host/render_frame_host_manager.h | 6 +-
.../render_frame_host_manager_unittest.cc | 37 +--
.../frame_host/render_frame_message_filter.cc | 10 +-
content/browser/site_per_process_browsertest.cc | 84 ++++++-
content/browser/web_contents/web_contents_impl.cc | 2 +-
content/common/feature_policy/feature_policy.cc | 15 +-
content/common/feature_policy/feature_policy.h | 3 +
content/common/frame_messages.h | 21 +-
content/common/frame_replication_state.h | 3 +
content/renderer/render_frame_impl.cc | 23 +-
content/renderer/render_frame_impl.h | 11 +-
content/renderer/render_frame_proxy.cc | 15 +-
content/renderer/render_frame_proxy.h | 5 +-
content/test/test_render_frame_host.cc | 2 +-
third_party/WebKit/Source/core/dom/Document.cpp | 13 ++
third_party/WebKit/Source/core/dom/Document.h | 4 +
third_party/WebKit/Source/core/frame/FrameOwner.h | 5 +
.../WebKit/Source/core/frame/LocalFrameClient.h | 4 +-
.../Source/core/html/HTMLFrameElementBase.cpp | 16 ++
.../WebKit/Source/core/html/HTMLFrameElementBase.h | 11 +
.../Source/core/html/HTMLFrameOwnerElement.cpp | 36 ++-
.../Source/core/html/HTMLFrameOwnerElement.h | 20 ++
.../WebKit/Source/core/html/HTMLIFrameElement.cpp | 6 +-
.../Source/core/html/HTMLIFrameElementTest.cpp | 260 ++++++++++++++++++++-
.../WebKit/Source/core/loader/DocumentLoader.cpp | 21 +-
.../WebKit/Source/web/LocalFrameClientImpl.cpp | 12 +-
.../WebKit/Source/web/LocalFrameClientImpl.h | 4 +-
third_party/WebKit/Source/web/RemoteFrameOwner.cpp | 4 +-
third_party/WebKit/Source/web/RemoteFrameOwner.h | 15 +-
third_party/WebKit/Source/web/WebFrame.cpp | 14 +-
.../WebKit/Source/web/WebLocalFrameImpl.cpp | 2 +-
.../WebKit/Source/web/WebRemoteFrameImpl.cpp | 12 +-
third_party/WebKit/Source/web/WebRemoteFrameImpl.h | 2 +
.../WebKit/Source/web/tests/FrameTestHelpers.cpp | 9 +-
.../WebKit/Source/web/tests/FrameTestHelpers.h | 1 +
.../WebKit/Source/web/tests/WebFrameTest.cpp | 17 +-
.../WebKit/Source/web/tests/WebViewTest.cpp | 8 +-
third_party/WebKit/public/web/WebFrame.h | 15 +-
third_party/WebKit/public/web/WebFrameClient.h | 23 +-
third_party/WebKit/public/web/WebRemoteFrame.h | 2 +
51 files changed, 806 insertions(+), 209 deletions(-)

Upstream: git.chromium.org


  • Share