Index: net/url_request/url_request_http_job.cc |
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc |
index fe5f3257695ac3a545e5e3646f1df4ec15282a4f..9fec178a9a7809a0b4d32c06dac0186a7cb6744f 100644 |
--- a/net/url_request/url_request_http_job.cc |
+++ b/net/url_request/url_request_http_job.cc |
@@ -43,6 +43,7 @@ |
#include "net/url_request/url_request.h" |
#include "net/url_request/url_request_context.h" |
#include "net/url_request/url_request_error_job.h" |
+#include "net/url_request/url_request_job_factory.h" |
#include "net/url_request/url_request_redirect_job.h" |
#include "net/url_request/url_request_throttler_header_adapter.h" |
#include "net/url_request/url_request_throttler_manager.h" |
@@ -1017,8 +1018,10 @@ bool URLRequestHttpJob::IsSafeRedirect(const GURL& location) { |
// restrict redirects to externally handled protocols. Our consumer would |
// need to take care of those. |
- if (!URLRequest::IsHandledURL(location)) |
+ if (!URLRequest::IsHandledURL(location) && |
+ !request_->context()->job_factory()->IsHandledURL(location)) { |
return true; |
+ } |
static const char* kSafeSchemes[] = { |
"http", |