Index: net/url_request/url_request_job_factory_impl.cc |
diff --git a/net/url_request/url_request_job_factory_impl.cc b/net/url_request/url_request_job_factory_impl.cc |
index f4c1d01fbd730ad106e2bdc6da13d37a2f580c19..84fb9510836824363171e9f28d04d99e2efc2fe1 100644 |
--- a/net/url_request/url_request_job_factory_impl.cc |
+++ b/net/url_request/url_request_job_factory_impl.cc |
@@ -64,4 +64,20 @@ bool URLRequestJobFactoryImpl::IsHandledURL(const GURL& url) const { |
return IsHandledProtocol(url.scheme()); |
} |
+bool URLRequestJobFactoryImpl::IsSafeRedirectTarget( |
+ const GURL& location) const { |
+ DCHECK(CalledOnValidThread()); |
+ if (!location.is_valid()) { |
+ // Error cases are safely handled. |
+ return true; |
+ } |
+ ProtocolHandlerMap::const_iterator it = protocol_handler_map_.find( |
+ location.scheme()); |
+ if (it == protocol_handler_map_.end()) { |
+ // Unhandled cases are safely handled. |
+ return true; |
+ } |
+ return it->second->IsSafeRedirectTarget(location); |
+} |
+ |
} // namespace net |