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 af97e620850c1ebc565f7c6387bfe3fc124c6f92..82d2cf4d0f3bb982169bba75a244304d6a98c8b9 100644 |
--- a/net/url_request/url_request_job_factory_impl.cc |
+++ b/net/url_request/url_request_job_factory_impl.cc |
@@ -4,8 +4,10 @@ |
#include "net/url_request/url_request_job_factory_impl.h" |
+#include "base/memory/ptr_util.h" |
#include "base/stl_util.h" |
#include "net/base/load_flags.h" |
+#include "net/url_request/http_protocol_handler.h" |
#include "net/url_request/url_request_interceptor.h" |
#include "net/url_request/url_request_job_manager.h" |
#include "url/gurl.h" |
@@ -22,6 +24,25 @@ URLRequestJobFactoryImpl::URLRequestJobFactoryImpl() {} |
URLRequestJobFactoryImpl::~URLRequestJobFactoryImpl() {} |
+// static |
+std::unique_ptr<URLRequestJobFactoryImpl> |
+URLRequestJobFactoryImpl::CreateWithDefaultProtocolHandlers() { |
+ URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl; |
+ job_factory->SetProtocolHandler("http", |
mmenke
2016/04/21 20:58:01
Maybe use the constants in url/url_constants inste
mgersh
2016/04/22 20:27:15
Done.
|
+ base::WrapUnique(new HttpProtocolHandler)); |
+ job_factory->SetProtocolHandler("https", |
+ base::WrapUnique(new HttpProtocolHandler)); |
+ |
+#if !defined(OS_IOS) |
+ job_factory->SetProtocolHandler("ws", |
+ base::WrapUnique(new HttpProtocolHandler)); |
+ job_factory->SetProtocolHandler("wss", |
+ base::WrapUnique(new HttpProtocolHandler)); |
+#endif // !defined(OS_IOS) |
+ |
+ return base::WrapUnique(job_factory); |
mmenke
2016/04/21 20:58:01
Better to make job_factory a unique_ptr, and then
mgersh
2016/04/22 20:27:15
Done.
|
+} |
+ |
bool URLRequestJobFactoryImpl::SetProtocolHandler( |
const std::string& scheme, |
std::unique_ptr<ProtocolHandler> protocol_handler) { |
@@ -76,8 +97,7 @@ URLRequestJob* URLRequestJobFactoryImpl::MaybeInterceptResponse( |
bool URLRequestJobFactoryImpl::IsHandledProtocol( |
const std::string& scheme) const { |
DCHECK(CalledOnValidThread()); |
- return ContainsKey(protocol_handler_map_, scheme) || |
- URLRequestJobManager::SupportsScheme(scheme); |
+ return ContainsKey(protocol_handler_map_, scheme); |
} |
bool URLRequestJobFactoryImpl::IsHandledURL(const GURL& url) const { |