Index: content/browser/frame_host/navigator_impl.cc |
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
index 6fcdb074b4a0f6badd1ea04256214a7e2223480d..27cdaea5b2fd8a4073b3e02f9864fa532d03b904 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -515,6 +515,11 @@ void NavigatorImpl::DidNavigate( |
render_frame_host->frame_tree_node()->SetEnforceStrictMixedContentChecking( |
params.should_enforce_strict_mixed_content_checking); |
+ // Navigating to a new location means a new, fresh set of http headers and/or |
+ // <meta> elements - we need to reset CSP policy to an empty set. |
+ if (!is_navigation_within_page) |
+ render_frame_host->frame_tree_node()->ResetContentSecurityPolicy(); |
+ |
// When using --site-per-process, we notify the RFHM for all navigations, |
// not just main frame navigations. |
if (oopifs_possible) { |