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 64906efde5858ffc06e9702fc9b15fcb133032ea..ed89938efe90381b1c968af33b73dc6c320533b0 100644 |
--- a/net/url_request/url_request_http_job.cc |
+++ b/net/url_request/url_request_http_job.cc |
@@ -41,6 +41,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" |
@@ -1122,8 +1123,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", |