diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/frame_load_request.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/loader/frame_load_request.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/frame_load_request.cc b/chromium/third_party/blink/renderer/core/loader/frame_load_request.cc index 78c15ae6085..1bfa77c670a 100644 --- a/chromium/third_party/blink/renderer/core/loader/frame_load_request.cc +++ b/chromium/third_party/blink/renderer/core/loader/frame_load_request.cc @@ -8,6 +8,7 @@ #include "third_party/blink/public/platform/web_url_request.h" #include "third_party/blink/renderer/core/events/current_input_event.h" #include "third_party/blink/renderer/core/fileapi/public_url_manager.h" +#include "third_party/blink/renderer/core/frame/csp/content_security_policy.h" #include "third_party/blink/renderer/platform/loader/fetch/resource_request.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h" @@ -37,7 +38,6 @@ FrameLoadRequest::FrameLoadRequest( : origin_document_(origin_document), resource_request_(resource_request), frame_name_(frame_name), - client_redirect_(ClientRedirectPolicy::kNotClientRedirect), should_send_referrer_(kMaybeSendReferrer), should_check_main_world_content_security_policy_( should_check_main_world_content_security_policy) { @@ -63,7 +63,22 @@ FrameLoadRequest::FrameLoadRequest( origin_document->GetPublicURLManager().Resolve( resource_request.Url(), MakeRequest(&blob_url_token_->data)); } + + if (ContentSecurityPolicy::ShouldBypassMainWorld(origin_document)) { + should_check_main_world_content_security_policy_ = + kDoNotCheckContentSecurityPolicy; + } } } +ClientRedirectPolicy FrameLoadRequest::ClientRedirect() const { + // Form submissions have not historically been reported to the extensions API + // as client redirects. + if (client_navigation_reason_ == ClientNavigationReason::kNone || + client_navigation_reason_ == ClientNavigationReason::kFormSubmissionGet || + client_navigation_reason_ == ClientNavigationReason::kFormSubmissionPost) + return ClientRedirectPolicy::kNotClientRedirect; + return ClientRedirectPolicy::kClientRedirect; +} + } // namespace blink |