summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/loader/frame_load_request.cc
diff options
context:
space:
mode:
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.cc17
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