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

Unified Diff: Source/core/loader/DocumentThreadableLoader.cpp

Issue 1280733002: [3/3 blink] Support redirect option of Request and "opaqueredirect" response type. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@Redirect1
Patch Set: rebase Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/loader/DocumentThreadableLoader.cpp
diff --git a/Source/core/loader/DocumentThreadableLoader.cpp b/Source/core/loader/DocumentThreadableLoader.cpp
index 2e13905e227776b707c16480c5983a66d2098570..72498ea1958f27e071d2bcfc6ca80a63fd084b6c 100644
--- a/Source/core/loader/DocumentThreadableLoader.cpp
+++ b/Source/core/loader/DocumentThreadableLoader.cpp
@@ -94,6 +94,7 @@ DocumentThreadableLoader::DocumentThreadableLoader(Document& document, Threadabl
, m_timeoutTimer(this, &DocumentThreadableLoader::didTimeout)
, m_requestStartedSeconds(0.0)
, m_corsRedirectLimit(kMaxCORSRedirects)
+ , m_redirectMode(request.fetchRedirectMode())
{
ASSERT(client);
// Setting an outgoing referer is only supported in the async code path.
@@ -269,7 +270,14 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
RefPtr<DocumentThreadableLoader> protect(this);
- if (!isAllowedByContentSecurityPolicy(request.url(), ContentSecurityPolicy::DidRedirect)) {
+ if (m_redirectMode == WebURLRequest::FetchRedirectModeManual) {
+ responseReceived(resource, redirectResponse, nullptr);
yhirano 2015/08/18 07:56:49 Please create and pass a valid handle when useStre
horo 2015/08/19 07:36:12 Done. I introduced EmptyDataHandle.
+ clearResource();
+ request = ResourceRequest();
+ return;
+ }
+
+ if (m_redirectMode == WebURLRequest::FetchRedirectModeError || !isAllowedByContentSecurityPolicy(request.url(), ContentSecurityPolicy::DidRedirect)) {
m_client->didFailRedirectCheck();
clearResource();

Powered by Google App Engine
This is Rietveld 408576698