summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/gview_request_interceptor_unittest.cc3
-rw-r--r--chrome/browser/extensions/api/downloads/downloads_api_unittest.cc3
-rw-r--r--chrome/browser/extensions/extension_protocols_unittest.cc3
-rw-r--r--chrome/browser/net/http_intercept_job_factory.cc82
-rw-r--r--chrome/browser/net/http_intercept_job_factory.h56
-rw-r--r--chrome/browser/profiles/off_the_record_profile_io_data.cc6
-rw-r--r--chrome/browser/profiles/profile_impl_io_data.cc8
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--content/shell/shell_url_request_context_getter.cc4
-rw-r--r--net/net.gyp4
-rw-r--r--net/proxy/proxy_script_fetcher_impl_unittest.cc4
-rw-r--r--net/url_request/url_request_job_factory.cc118
-rw-r--r--net/url_request/url_request_job_factory.h44
-rw-r--r--net/url_request/url_request_job_factory_impl.cc130
-rw-r--r--net/url_request/url_request_job_factory_impl.h52
-rw-r--r--net/url_request/url_request_job_factory_impl_unittest.cc (renamed from net/url_request/url_request_job_factory_unittest.cc)18
-rw-r--r--net/url_request/url_request_test_util.cc4
-rw-r--r--net/url_request/url_request_unittest.cc6
-rw-r--r--webkit/appcache/appcache_update_job_unittest.cc26
-rw-r--r--webkit/fileapi/local_file_system_operation_write_unittest.cc4
-rw-r--r--webkit/tools/test_shell/test_shell_request_context.cc4
21 files changed, 396 insertions, 185 deletions
diff --git a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
index ca074a9..4799224 100644
--- a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
+++ b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
@@ -21,6 +21,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_job.h"
#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "net/url_request/url_request_test_job.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -175,7 +176,7 @@ class GViewRequestInterceptorTest : public testing::Test {
webkit::npapi::MockPluginList plugin_list_;
TestingPrefService prefs_;
scoped_refptr<PluginPrefs> plugin_prefs_;
- net::URLRequestJobFactory job_factory_;
+ net::URLRequestJobFactoryImpl job_factory_;
const net::URLRequestJobFactory* old_factory_;
TestDelegate test_delegate_;
FilePath pdf_path_;
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc b/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
index 0c14e98..e34f6af 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
@@ -44,6 +44,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_job.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "net/url_request/url_request_job_factory.h"
#include "webkit/blob/blob_data.h"
#include "webkit/blob/blob_storage_controller.h"
@@ -658,7 +659,7 @@ class TestURLRequestContext : public net::URLRequestContext {
}
private:
- net::URLRequestJobFactory job_factory_;
+ net::URLRequestJobFactoryImpl job_factory_;
scoped_ptr<webkit_blob::BlobStorageController> blob_storage_controller_;
DISALLOW_COPY_AND_ASSIGN(TestURLRequestContext);
diff --git a/chrome/browser/extensions/extension_protocols_unittest.cc b/chrome/browser/extensions/extension_protocols_unittest.cc
index 368bd97..0cd6836 100644
--- a/chrome/browser/extensions/extension_protocols_unittest.cc
+++ b/chrome/browser/extensions/extension_protocols_unittest.cc
@@ -13,6 +13,7 @@
#include "content/public/test/mock_resource_context.h"
#include "content/public/test/test_browser_thread.h"
#include "net/url_request/url_request.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "net/url_request/url_request_status.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -82,7 +83,7 @@ class ExtensionProtocolTest : public testing::Test {
content::TestBrowserThread file_thread_;
content::TestBrowserThread io_thread_;
scoped_refptr<ExtensionInfoMap> extension_info_map_;
- net::URLRequestJobFactory job_factory_;
+ net::URLRequestJobFactoryImpl job_factory_;
const net::URLRequestJobFactory* old_factory_;
TestDelegate test_delegate_;
content::MockResourceContext resource_context_;
diff --git a/chrome/browser/net/http_intercept_job_factory.cc b/chrome/browser/net/http_intercept_job_factory.cc
new file mode 100644
index 0000000..e3f2e77
--- /dev/null
+++ b/chrome/browser/net/http_intercept_job_factory.cc
@@ -0,0 +1,82 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/net/http_intercept_job_factory.h"
+
+#include "base/stl_util.h"
+#include "googleurl/src/gurl.h"
+#include "net/base/load_flags.h"
+#include "net/url_request/url_request_job_manager.h"
+
+class GURL;
+
+namespace net {
+
+const char* kHttpScheme = "http";
+const char* kHttpsScheme = "https";
+
+HttpInterceptJobFactory::HttpInterceptJobFactory(
+ const URLRequestJobFactory* job_factory,
+ ProtocolHandler* protocol_handler)
+ : job_factory_(job_factory),
+ protocol_handler_(protocol_handler) {
+}
+
+HttpInterceptJobFactory::~HttpInterceptJobFactory() {}
+
+bool HttpInterceptJobFactory::SetProtocolHandler(
+ const std::string& scheme, ProtocolHandler* protocol_handler) {
+ NOTREACHED();
+ return false;
+}
+
+void HttpInterceptJobFactory::AddInterceptor(Interceptor* interceptor) {
+ // Interceptor addition is not allowed.
+ NOTREACHED();
+}
+
+URLRequestJob* HttpInterceptJobFactory::MaybeCreateJobWithInterceptor(
+ URLRequest* request, NetworkDelegate* network_delegate) const {
+ return job_factory_->MaybeCreateJobWithInterceptor(request, network_delegate);
+}
+
+URLRequestJob* HttpInterceptJobFactory::MaybeCreateJobWithProtocolHandler(
+ const std::string& scheme,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const {
+ DCHECK(CalledOnValidThread());
+ if (scheme == kHttpScheme || scheme == kHttpsScheme)
+ return protocol_handler_->MaybeCreateJob(request, network_delegate);
+ return job_factory_->MaybeCreateJobWithProtocolHandler(
+ scheme, request, network_delegate);
+}
+
+URLRequestJob* HttpInterceptJobFactory::MaybeInterceptRedirect(
+ const GURL& location,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const {
+ return job_factory_->MaybeInterceptRedirect(
+ location, request, network_delegate);
+}
+
+URLRequestJob* HttpInterceptJobFactory::MaybeInterceptResponse(
+ URLRequest* request, NetworkDelegate* network_delegate) const {
+ return job_factory_->MaybeInterceptResponse(request, network_delegate);
+}
+
+bool HttpInterceptJobFactory::IsHandledProtocol(
+ const std::string& scheme) const {
+ DCHECK(CalledOnValidThread());
+ if (scheme == kHttpScheme || scheme == kHttpsScheme)
+ return true;
+ return job_factory_->IsHandledProtocol(scheme);
+}
+
+bool HttpInterceptJobFactory::IsHandledURL(const GURL& url) const {
+ if (url.scheme() == kHttpScheme || url.scheme() == kHttpsScheme)
+ return true;
+ return job_factory_->IsHandledURL(url);
+}
+
+} // namespace net
diff --git a/chrome/browser/net/http_intercept_job_factory.h b/chrome/browser/net/http_intercept_job_factory.h
new file mode 100644
index 0000000..7e78d3d
--- /dev/null
+++ b/chrome/browser/net/http_intercept_job_factory.h
@@ -0,0 +1,56 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_NET_HTTP_INTERCEPT_JOB_FACTORY_H_
+#define CHROME_BROWSER_NET_HTTP_INTERCEPT_JOB_FACTORY_H_
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "net/url_request/url_request_job_factory.h"
+
+class GURL;
+
+namespace net {
+
+class URLRequest;
+class URLRequestJob;
+
+// This class acts as a wrapper for URLRequestJobFactory. It handles HTTP and
+// HTTPS jobs using |protocol_handler_|, but forwards all other schemes to the
+// old job factory to be handled there.
+class HttpInterceptJobFactory : public URLRequestJobFactory {
+ public:
+ HttpInterceptJobFactory(const URLRequestJobFactory* job_factory,
+ ProtocolHandler* protocol_handler);
+ virtual ~HttpInterceptJobFactory();
+
+ // URLRequestJobFactory implementation
+ virtual bool SetProtocolHandler(const std::string& scheme,
+ ProtocolHandler* protocol_handler) OVERRIDE;
+ virtual void AddInterceptor(Interceptor* interceptor) OVERRIDE;
+ virtual URLRequestJob* MaybeCreateJobWithInterceptor(
+ URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeCreateJobWithProtocolHandler(
+ const std::string& scheme,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeInterceptRedirect(
+ const GURL& location,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeInterceptResponse(
+ URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual bool IsHandledProtocol(const std::string& scheme) const OVERRIDE;
+ virtual bool IsHandledURL(const GURL& url) const OVERRIDE;
+
+ private:
+ const URLRequestJobFactory* job_factory_;
+ ProtocolHandler* protocol_handler_;
+
+ DISALLOW_COPY_AND_ASSIGN(HttpInterceptJobFactory);
+};
+
+} // namespace net
+
+#endif // CHROME_BROWSER_NET_HTTP_INTERCEPT_JOB_FACTORY_H_
diff --git a/chrome/browser/profiles/off_the_record_profile_io_data.cc b/chrome/browser/profiles/off_the_record_profile_io_data.cc
index 2e0b896..6897619 100644
--- a/chrome/browser/profiles/off_the_record_profile_io_data.cc
+++ b/chrome/browser/profiles/off_the_record_profile_io_data.cc
@@ -32,7 +32,7 @@
#include "net/http/http_server_properties_impl.h"
#include "net/url_request/file_protocol_handler.h"
#include "net/url_request/ftp_protocol_handler.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "webkit/database/database_tracker.h"
using content::BrowserThread;
@@ -252,8 +252,8 @@ void OffTheRecordProfileIOData::LazyInitializeInternal(
main_context->set_chrome_url_data_manager_backend(
chrome_url_data_manager_backend());
- main_job_factory_.reset(new net::URLRequestJobFactory);
- extensions_job_factory_.reset(new net::URLRequestJobFactory);
+ main_job_factory_.reset(new net::URLRequestJobFactoryImpl);
+ extensions_job_factory_.reset(new net::URLRequestJobFactoryImpl);
int set_protocol = main_job_factory_->SetProtocolHandler(
chrome::kFileScheme, new net::FileProtocolHandler());
diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc
index d2afc28..973049f 100644
--- a/chrome/browser/profiles/profile_impl_io_data.cc
+++ b/chrome/browser/profiles/profile_impl_io_data.cc
@@ -37,7 +37,7 @@
#include "net/http/http_cache.h"
#include "net/url_request/file_protocol_handler.h"
#include "net/url_request/ftp_protocol_handler.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "webkit/quota/special_storage_policy.h"
using content::BrowserThread;
@@ -451,9 +451,9 @@ void ProfileImplIOData::LazyInitializeInternal(
// media cache.
media_request_context_.reset(InitializeMediaRequestContext(main_context, ""));
- main_job_factory_.reset(new net::URLRequestJobFactory);
- media_request_job_factory_.reset(new net::URLRequestJobFactory);
- extensions_job_factory_.reset(new net::URLRequestJobFactory);
+ main_job_factory_.reset(new net::URLRequestJobFactoryImpl);
+ media_request_job_factory_.reset(new net::URLRequestJobFactoryImpl);
+ extensions_job_factory_.reset(new net::URLRequestJobFactoryImpl);
int set_protocol = main_job_factory_->SetProtocolHandler(
chrome::kFileScheme, new net::FileProtocolHandler());
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index f225934..eaa4a2b 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -1540,6 +1540,8 @@
'browser/net/gaia/gaia_oauth_fetcher.h',
'browser/net/load_timing_observer.cc',
'browser/net/load_timing_observer.h',
+ 'browser/net/http_intercept_job_factory.cc',
+ 'browser/net/http_intercept_job_factory.h',
'browser/net/http_pipelining_compatibility_client.cc',
'browser/net/http_pipelining_compatibility_client.h',
'browser/net/http_server_properties_manager.h',
diff --git a/content/shell/shell_url_request_context_getter.cc b/content/shell/shell_url_request_context_getter.cc
index 06af8f7..cba69cb 100644
--- a/content/shell/shell_url_request_context_getter.cc
+++ b/content/shell/shell_url_request_context_getter.cc
@@ -21,7 +21,7 @@
#include "net/proxy/proxy_service.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_storage.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
namespace content {
@@ -104,7 +104,7 @@ net::URLRequestContext* ShellURLRequestContextGetter::GetURLRequestContext() {
"" /* trusted_spdy_proxy */ );
storage_->set_http_transaction_factory(main_cache);
- storage_->set_job_factory(new net::URLRequestJobFactory);
+ storage_->set_job_factory(new net::URLRequestJobFactoryImpl);
}
return url_request_context_.get();
diff --git a/net/net.gyp b/net/net.gyp
index 572f052..27632fb 100644
--- a/net/net.gyp
+++ b/net/net.gyp
@@ -776,6 +776,8 @@
'url_request/url_request_job.h',
'url_request/url_request_job_factory.cc',
'url_request/url_request_job_factory.h',
+ 'url_request/url_request_job_factory_impl.cc',
+ 'url_request/url_request_job_factory_impl.h',
'url_request/url_request_job_manager.cc',
'url_request/url_request_job_manager.h',
'url_request/url_request_netlog_params.cc',
@@ -1355,7 +1357,7 @@
'url_request/url_request_context_builder_unittest.cc',
'url_request/url_request_filter_unittest.cc',
'url_request/url_request_ftp_job_unittest.cc',
- 'url_request/url_request_job_factory_unittest.cc',
+ 'url_request/url_request_job_factory_impl_unittest.cc',
'url_request/url_request_job_unittest.cc',
'url_request/url_request_throttler_simulation_unittest.cc',
'url_request/url_request_throttler_test_support.cc',
diff --git a/net/proxy/proxy_script_fetcher_impl_unittest.cc b/net/proxy/proxy_script_fetcher_impl_unittest.cc
index 7ece88c..5fc8099 100644
--- a/net/proxy/proxy_script_fetcher_impl_unittest.cc
+++ b/net/proxy/proxy_script_fetcher_impl_unittest.cc
@@ -23,7 +23,7 @@
#include "net/test/test_server.h"
#include "net/url_request/url_request_context_storage.h"
#include "net/url_request/url_request_file_job.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
@@ -90,7 +90,7 @@ class RequestContext : public URLRequestContext {
storage_.set_http_transaction_factory(new HttpCache(
network_session,
HttpCache::DefaultBackend::InMemory(0)));
- url_request_job_factory_.reset(new URLRequestJobFactory);
+ url_request_job_factory_.reset(new URLRequestJobFactoryImpl);
set_job_factory(url_request_job_factory_.get());
url_request_job_factory_->AddInterceptor(
new CheckNoRevocationFlagSetInterceptor);
diff --git a/net/url_request/url_request_job_factory.cc b/net/url_request/url_request_job_factory.cc
index 4961c03..e07152a 100644
--- a/net/url_request/url_request_job_factory.cc
+++ b/net/url_request/url_request_job_factory.cc
@@ -4,11 +4,6 @@
#include "net/url_request/url_request_job_factory.h"
-#include "base/stl_util.h"
-#include "googleurl/src/gurl.h"
-#include "net/base/load_flags.h"
-#include "net/url_request/url_request_job_manager.h"
-
namespace net {
URLRequestJobFactory::ProtocolHandler::~ProtocolHandler() {}
@@ -22,117 +17,6 @@ bool URLRequestJobFactory::Interceptor::WillHandleProtocol(
URLRequestJobFactory::URLRequestJobFactory() {}
-URLRequestJobFactory::~URLRequestJobFactory() {
- STLDeleteValues(&protocol_handler_map_);
- STLDeleteElements(&interceptors_);
-}
-
-bool URLRequestJobFactory::SetProtocolHandler(
- const std::string& scheme,
- ProtocolHandler* protocol_handler) {
- DCHECK(CalledOnValidThread());
-
- if (!protocol_handler) {
- ProtocolHandlerMap::iterator it = protocol_handler_map_.find(scheme);
- if (it == protocol_handler_map_.end())
- return false;
-
- delete it->second;
- protocol_handler_map_.erase(it);
- return true;
- }
-
- if (ContainsKey(protocol_handler_map_, scheme))
- return false;
- protocol_handler_map_[scheme] = protocol_handler;
- return true;
-}
-
-void URLRequestJobFactory::AddInterceptor(Interceptor* interceptor) {
- DCHECK(CalledOnValidThread());
- CHECK(interceptor);
-
- interceptors_.push_back(interceptor);
-}
-
-URLRequestJob* URLRequestJobFactory::MaybeCreateJobWithInterceptor(
- URLRequest* request, NetworkDelegate* network_delegate) const {
- DCHECK(CalledOnValidThread());
- URLRequestJob* job = NULL;
-
- if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
- InterceptorList::const_iterator i;
- for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
- job = (*i)->MaybeIntercept(request, network_delegate);
- if (job)
- return job;
- }
- }
- return NULL;
-}
-
-URLRequestJob* URLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
- const std::string& scheme,
- URLRequest* request,
- NetworkDelegate* network_delegate) const {
- DCHECK(CalledOnValidThread());
- ProtocolHandlerMap::const_iterator it = protocol_handler_map_.find(scheme);
- if (it == protocol_handler_map_.end())
- return NULL;
- return it->second->MaybeCreateJob(request, network_delegate);
-}
-
-URLRequestJob* URLRequestJobFactory::MaybeInterceptRedirect(
- const GURL& location,
- URLRequest* request,
- NetworkDelegate* network_delegate) const {
- DCHECK(CalledOnValidThread());
- URLRequestJob* job = NULL;
-
- if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
- InterceptorList::const_iterator i;
- for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
- job = (*i)->MaybeInterceptRedirect(location, request, network_delegate);
- if (job)
- return job;
- }
- }
- return NULL;
-}
-
-URLRequestJob* URLRequestJobFactory::MaybeInterceptResponse(
- URLRequest* request, NetworkDelegate* network_delegate) const {
- DCHECK(CalledOnValidThread());
- URLRequestJob* job = NULL;
-
- if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
- InterceptorList::const_iterator i;
- for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
- job = (*i)->MaybeInterceptResponse(request, network_delegate);
- if (job)
- return job;
- }
- }
- return NULL;
-}
-
-bool URLRequestJobFactory::IsHandledProtocol(const std::string& scheme) const {
- DCHECK(CalledOnValidThread());
- InterceptorList::const_iterator i;
- for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
- if ((*i)->WillHandleProtocol(scheme))
- return true;
- }
- return ContainsKey(protocol_handler_map_, scheme) ||
- URLRequestJobManager::GetInstance()->SupportsScheme(scheme);
-}
-
-bool URLRequestJobFactory::IsHandledURL(const GURL& url) const {
- if (!url.is_valid()) {
- // We handle error cases.
- return true;
- }
- return IsHandledProtocol(url.scheme());
-}
+URLRequestJobFactory::~URLRequestJobFactory() {}
} // namespace net
diff --git a/net/url_request/url_request_job_factory.h b/net/url_request/url_request_job_factory.h
index 5f4e1ae..adff7f1 100644
--- a/net/url_request/url_request_job_factory.h
+++ b/net/url_request/url_request_job_factory.h
@@ -5,10 +5,10 @@
#ifndef NET_URL_REQUEST_URL_REQUEST_JOB_FACTORY_H_
#define NET_URL_REQUEST_URL_REQUEST_JOB_FACTORY_H_
-#include <map>
#include <string>
-#include <vector>
+
#include "base/basictypes.h"
+#include "base/compiler_specific.h"
#include "base/threading/non_thread_safe.h"
#include "net/base/net_export.h"
@@ -23,6 +23,7 @@ class URLRequestJob;
class NET_EXPORT URLRequestJobFactory
: NON_EXPORTED_BASE(public base::NonThreadSafe) {
public:
+ // TODO(shalev): Move this to URLRequestJobFactoryImpl.
class NET_EXPORT ProtocolHandler {
public:
virtual ~ProtocolHandler();
@@ -31,6 +32,7 @@ class NET_EXPORT URLRequestJobFactory
URLRequest* request, NetworkDelegate* network_delegate) const = 0;
};
+ // TODO(shalev): Move this to URLRequestJobFactoryImpl.
class NET_EXPORT Interceptor {
public:
virtual ~Interceptor();
@@ -70,45 +72,43 @@ class NET_EXPORT URLRequestJobFactory
};
URLRequestJobFactory();
- ~URLRequestJobFactory();
+ virtual ~URLRequestJobFactory();
+ // TODO(shalev): Remove this from the interface.
// Sets the ProtocolHandler for a scheme. Returns true on success, false on
// failure (a ProtocolHandler already exists for |scheme|). On success,
// URLRequestJobFactory takes ownership of |protocol_handler|.
- bool SetProtocolHandler(const std::string& scheme,
- ProtocolHandler* protocol_handler);
+ virtual bool SetProtocolHandler(const std::string& scheme,
+ ProtocolHandler* protocol_handler) = 0;
+ // TODO(shalev): Remove this from the interface.
// Takes ownership of |interceptor|. Adds it to the end of the Interceptor
// list.
- void AddInterceptor(Interceptor* interceptor);
+ virtual void AddInterceptor(Interceptor* interceptor) = 0;
- URLRequestJob* MaybeCreateJobWithInterceptor(
- URLRequest* request, NetworkDelegate* network_delegate) const;
+ // TODO(shalev): Consolidate MaybeCreateJobWithInterceptor and
+ // MaybeCreateJobWithProtocolHandler into a single method.
+ virtual URLRequestJob* MaybeCreateJobWithInterceptor(
+ URLRequest* request, NetworkDelegate* network_delegate) const = 0;
- URLRequestJob* MaybeCreateJobWithProtocolHandler(
+ virtual URLRequestJob* MaybeCreateJobWithProtocolHandler(
const std::string& scheme,
URLRequest* request,
- NetworkDelegate* network_delegate) const;
+ NetworkDelegate* network_delegate) const = 0;
- URLRequestJob* MaybeInterceptRedirect(
+ virtual URLRequestJob* MaybeInterceptRedirect(
const GURL& location,
URLRequest* request,
- NetworkDelegate* network_delegate) const;
+ NetworkDelegate* network_delegate) const = 0;
- URLRequestJob* MaybeInterceptResponse(
- URLRequest* request, NetworkDelegate* network_delegate) const;
+ virtual URLRequestJob* MaybeInterceptResponse(
+ URLRequest* request, NetworkDelegate* network_delegate) const = 0;
- bool IsHandledProtocol(const std::string& scheme) const;
+ virtual bool IsHandledProtocol(const std::string& scheme) const = 0;
- bool IsHandledURL(const GURL& url) const;
+ virtual bool IsHandledURL(const GURL& url) const = 0;
private:
- typedef std::map<std::string, ProtocolHandler*> ProtocolHandlerMap;
- typedef std::vector<Interceptor*> InterceptorList;
-
- ProtocolHandlerMap protocol_handler_map_;
- InterceptorList interceptors_;
-
DISALLOW_COPY_AND_ASSIGN(URLRequestJobFactory);
};
diff --git a/net/url_request/url_request_job_factory_impl.cc b/net/url_request/url_request_job_factory_impl.cc
new file mode 100644
index 0000000..aaeed79
--- /dev/null
+++ b/net/url_request/url_request_job_factory_impl.cc
@@ -0,0 +1,130 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/url_request/url_request_job_factory_impl.h"
+
+#include "base/stl_util.h"
+#include "googleurl/src/gurl.h"
+#include "net/base/load_flags.h"
+#include "net/url_request/url_request_job_manager.h"
+
+namespace net {
+
+URLRequestJobFactoryImpl::URLRequestJobFactoryImpl() {}
+
+URLRequestJobFactoryImpl::~URLRequestJobFactoryImpl() {
+ STLDeleteValues(&protocol_handler_map_);
+ STLDeleteElements(&interceptors_);
+}
+
+bool URLRequestJobFactoryImpl::SetProtocolHandler(
+ const std::string& scheme,
+ ProtocolHandler* protocol_handler) {
+ DCHECK(CalledOnValidThread());
+
+ if (!protocol_handler) {
+ ProtocolHandlerMap::iterator it = protocol_handler_map_.find(scheme);
+ if (it == protocol_handler_map_.end())
+ return false;
+
+ delete it->second;
+ protocol_handler_map_.erase(it);
+ return true;
+ }
+
+ if (ContainsKey(protocol_handler_map_, scheme))
+ return false;
+ protocol_handler_map_[scheme] = protocol_handler;
+ return true;
+}
+
+void URLRequestJobFactoryImpl::AddInterceptor(Interceptor* interceptor) {
+ DCHECK(CalledOnValidThread());
+ CHECK(interceptor);
+
+ interceptors_.push_back(interceptor);
+}
+
+URLRequestJob* URLRequestJobFactoryImpl::MaybeCreateJobWithInterceptor(
+ URLRequest* request, NetworkDelegate* network_delegate) const {
+ DCHECK(CalledOnValidThread());
+ URLRequestJob* job = NULL;
+
+ if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
+ InterceptorList::const_iterator i;
+ for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
+ job = (*i)->MaybeIntercept(request, network_delegate);
+ if (job)
+ return job;
+ }
+ }
+ return NULL;
+}
+
+URLRequestJob* URLRequestJobFactoryImpl::MaybeCreateJobWithProtocolHandler(
+ const std::string& scheme,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const {
+ DCHECK(CalledOnValidThread());
+ ProtocolHandlerMap::const_iterator it = protocol_handler_map_.find(scheme);
+ if (it == protocol_handler_map_.end())
+ return NULL;
+ return it->second->MaybeCreateJob(request, network_delegate);
+}
+
+URLRequestJob* URLRequestJobFactoryImpl::MaybeInterceptRedirect(
+ const GURL& location,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const {
+ DCHECK(CalledOnValidThread());
+ URLRequestJob* job = NULL;
+
+ if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
+ InterceptorList::const_iterator i;
+ for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
+ job = (*i)->MaybeInterceptRedirect(location, request, network_delegate);
+ if (job)
+ return job;
+ }
+ }
+ return NULL;
+}
+
+URLRequestJob* URLRequestJobFactoryImpl::MaybeInterceptResponse(
+ URLRequest* request, NetworkDelegate* network_delegate) const {
+ DCHECK(CalledOnValidThread());
+ URLRequestJob* job = NULL;
+
+ if (!(request->load_flags() & LOAD_DISABLE_INTERCEPT)) {
+ InterceptorList::const_iterator i;
+ for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
+ job = (*i)->MaybeInterceptResponse(request, network_delegate);
+ if (job)
+ return job;
+ }
+ }
+ return NULL;
+}
+
+bool URLRequestJobFactoryImpl::IsHandledProtocol(
+ const std::string& scheme) const {
+ DCHECK(CalledOnValidThread());
+ InterceptorList::const_iterator i;
+ for (i = interceptors_.begin(); i != interceptors_.end(); ++i) {
+ if ((*i)->WillHandleProtocol(scheme))
+ return true;
+ }
+ return ContainsKey(protocol_handler_map_, scheme) ||
+ URLRequestJobManager::GetInstance()->SupportsScheme(scheme);
+}
+
+bool URLRequestJobFactoryImpl::IsHandledURL(const GURL& url) const {
+ if (!url.is_valid()) {
+ // We handle error cases.
+ return true;
+ }
+ return IsHandledProtocol(url.scheme());
+}
+
+} // namespace net
diff --git a/net/url_request/url_request_job_factory_impl.h b/net/url_request/url_request_job_factory_impl.h
new file mode 100644
index 0000000..ff27185
--- /dev/null
+++ b/net/url_request/url_request_job_factory_impl.h
@@ -0,0 +1,52 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef NET_URL_REQUEST_URL_REQUEST_JOB_FACTORY_IMPL_H_
+#define NET_URL_REQUEST_URL_REQUEST_JOB_FACTORY_IMPL_H_
+
+#include <map>
+#include <vector>
+#include "base/basictypes.h"
+#include "net/base/net_export.h"
+#include "net/url_request/url_request_job_factory.h"
+
+namespace net {
+
+class NET_EXPORT URLRequestJobFactoryImpl : public URLRequestJobFactory {
+ public:
+ URLRequestJobFactoryImpl();
+ virtual ~URLRequestJobFactoryImpl();
+
+ // URLRequestJobFactory implementation
+ virtual bool SetProtocolHandler(const std::string& scheme,
+ ProtocolHandler* protocol_handler) OVERRIDE;
+ virtual void AddInterceptor(Interceptor* interceptor) OVERRIDE;
+ virtual URLRequestJob* MaybeCreateJobWithInterceptor(
+ URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeCreateJobWithProtocolHandler(
+ const std::string& scheme,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeInterceptRedirect(
+ const GURL& location,
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual URLRequestJob* MaybeInterceptResponse(
+ URLRequest* request, NetworkDelegate* network_delegate) const OVERRIDE;
+ virtual bool IsHandledProtocol(const std::string& scheme) const OVERRIDE;
+ virtual bool IsHandledURL(const GURL& url) const OVERRIDE;
+
+ private:
+ typedef std::map<std::string, ProtocolHandler*> ProtocolHandlerMap;
+ typedef std::vector<Interceptor*> InterceptorList;
+
+ ProtocolHandlerMap protocol_handler_map_;
+ InterceptorList interceptors_;
+
+ DISALLOW_COPY_AND_ASSIGN(URLRequestJobFactoryImpl);
+};
+
+} // namespace net
+
+#endif // NET_URL_REQUEST_URL_REQUEST_JOB_FACTORY_IMPL_H_
diff --git a/net/url_request/url_request_job_factory_unittest.cc b/net/url_request/url_request_job_factory_impl_unittest.cc
index 673e007..232b21a 100644
--- a/net/url_request/url_request_job_factory_unittest.cc
+++ b/net/url_request/url_request_job_factory_impl_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "base/bind.h"
#include "base/memory/weak_ptr.h"
@@ -108,7 +108,7 @@ TEST(URLRequestJobFactoryTest, NoProtocolHandler) {
TEST(URLRequestJobFactoryTest, BasicProtocolHandler) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
job_factory.SetProtocolHandler("foo", new DummyProtocolHandler);
@@ -121,7 +121,7 @@ TEST(URLRequestJobFactoryTest, BasicProtocolHandler) {
}
TEST(URLRequestJobFactoryTest, DeleteProtocolHandler) {
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
job_factory.SetProtocolHandler("foo", new DummyProtocolHandler);
@@ -130,7 +130,7 @@ TEST(URLRequestJobFactoryTest, DeleteProtocolHandler) {
TEST(URLRequestJobFactoryTest, BasicInterceptor) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
job_factory.AddInterceptor(new DummyInterceptor);
@@ -144,7 +144,7 @@ TEST(URLRequestJobFactoryTest, BasicInterceptor) {
TEST(URLRequestJobFactoryTest, InterceptorNeedsValidSchemeStill) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
job_factory.AddInterceptor(new DummyInterceptor);
@@ -158,7 +158,7 @@ TEST(URLRequestJobFactoryTest, InterceptorNeedsValidSchemeStill) {
TEST(URLRequestJobFactoryTest, InterceptorOverridesProtocolHandler) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
job_factory.SetProtocolHandler("foo", new DummyProtocolHandler);
@@ -173,7 +173,7 @@ TEST(URLRequestJobFactoryTest, InterceptorOverridesProtocolHandler) {
TEST(URLRequestJobFactoryTest, InterceptorDoesntInterceptUnknownProtocols) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
DummyInterceptor* interceptor = new DummyInterceptor;
@@ -187,7 +187,7 @@ TEST(URLRequestJobFactoryTest, InterceptorDoesntInterceptUnknownProtocols) {
TEST(URLRequestJobFactoryTest, InterceptorInterceptsHandledUnknownProtocols) {
TestDelegate delegate;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
TestURLRequestContext request_context;
request_context.set_job_factory(&job_factory);
DummyInterceptor* interceptor = new DummyInterceptor;
@@ -204,7 +204,7 @@ TEST(URLRequestJobFactoryTest, InterceptorInterceptsHandledUnknownProtocols) {
TEST(URLRequestJobFactoryTest, InterceptorAffectsIsHandledProtocol) {
DummyInterceptor* interceptor = new DummyInterceptor;
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
job_factory.AddInterceptor(interceptor);
EXPECT_FALSE(interceptor->WillHandleProtocol("anything"));
EXPECT_FALSE(job_factory.IsHandledProtocol("anything"));
diff --git a/net/url_request/url_request_test_util.cc b/net/url_request/url_request_test_util.cc
index 5e66c71..53574f7 100644
--- a/net/url_request/url_request_test_util.cc
+++ b/net/url_request/url_request_test_util.cc
@@ -16,7 +16,7 @@
#include "net/base/server_bound_cert_service.h"
#include "net/http/http_network_session.h"
#include "net/http/http_server_properties_impl.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -109,7 +109,7 @@ void TestURLRequestContext::Init() {
if (accept_charset().empty())
set_accept_charset("iso-8859-1,*,utf-8");
if (!job_factory())
- context_storage_.set_job_factory(new net::URLRequestJobFactory);
+ context_storage_.set_job_factory(new net::URLRequestJobFactoryImpl);
}
TestURLRequest::TestURLRequest(const GURL& url,
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 325cdce..406dabf 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -56,7 +56,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_file_dir_job.h"
#include "net/url_request/url_request_http_job.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "net/url_request/url_request_redirect_job.h"
#include "net/url_request/url_request_test_job.h"
#include "net/url_request/url_request_test_util.h"
@@ -438,7 +438,7 @@ class URLRequestTest : public PlatformTest {
protected:
TestNetworkDelegate default_network_delegate_; // must outlive URLRequest
- URLRequestJobFactory job_factory_;
+ URLRequestJobFactoryImpl job_factory_;
TestURLRequestContext default_context_;
};
@@ -4168,7 +4168,7 @@ class URLRequestTestFTP : public URLRequestTest {
TEST_F(URLRequestTestFTP, UnsafePort) {
ASSERT_TRUE(test_server_.Start());
- URLRequestJobFactory job_factory;
+ URLRequestJobFactoryImpl job_factory;
GURL url("ftp://127.0.0.1:7");
FtpProtocolHandler ftp_protocol_handler(
diff --git a/webkit/appcache/appcache_update_job_unittest.cc b/webkit/appcache/appcache_update_job_unittest.cc
index 73f8692..51e6331 100644
--- a/webkit/appcache/appcache_update_job_unittest.cc
+++ b/webkit/appcache/appcache_update_job_unittest.cc
@@ -12,7 +12,7 @@
#include "net/base/net_errors.h"
#include "net/http/http_response_headers.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_job_factory_impl.h"
#include "net/url_request/url_request_test_job.h"
#include "net/url_request/url_request_test_util.h"
#include "webkit/appcache/appcache_group.h"
@@ -561,7 +561,7 @@ class IOThread : public base::Thread {
}
virtual void Init() {
- job_factory_.reset(new net::URLRequestJobFactory);
+ job_factory_.reset(new net::URLRequestJobFactoryImpl);
job_factory_->SetProtocolHandler("http", new MockHttpServerJobFactory);
job_factory_->SetProtocolHandler("https", new MockHttpServerJobFactory);
request_context_.reset(new TestURLRequestContext());
@@ -773,7 +773,7 @@ class AppCacheUpdateJobTest : public testing::Test,
void ManifestRedirectTest() {
ASSERT_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type());
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RedirectFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -1636,7 +1636,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Set some large number of times to return retry.
// Expect 1 manifest fetch and 3 retries.
RetryRequestTestJob::Initialize(5, RetryRequestTestJob::RETRY_AFTER_0, 4);
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -1667,7 +1667,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Set some large number of times to return retry.
// Expect 1 manifest fetch and 0 retries.
RetryRequestTestJob::Initialize(5, RetryRequestTestJob::NO_RETRY_AFTER, 1);
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -1699,7 +1699,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Expect 1 request and 0 retry attempts.
RetryRequestTestJob::Initialize(
5, RetryRequestTestJob::NONZERO_RETRY_AFTER, 1);
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -1730,7 +1730,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Set 2 as the retry limit (does not exceed the max).
// Expect 1 manifest fetch, 2 retries, 1 url fetch, 1 manifest refetch.
RetryRequestTestJob::Initialize(2, RetryRequestTestJob::RETRY_AFTER_0, 5);
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -1761,7 +1761,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Set 1 as the retry limit (does not exceed the max).
// Expect 1 manifest fetch, 1 url fetch, 1 url retry, 1 manifest refetch.
RetryRequestTestJob::Initialize(1, RetryRequestTestJob::RETRY_AFTER_0, 4);
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new RetryRequestTestJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -2603,7 +2603,7 @@ class AppCacheUpdateJobTest : public testing::Test,
void IfModifiedSinceTest() {
ASSERT_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type());
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -2669,7 +2669,7 @@ class AppCacheUpdateJobTest : public testing::Test,
ASSERT_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type());
HttpHeadersRequestTestJob::Initialize("Sat, 29 Oct 1994 19:43:31 GMT", "");
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -2728,7 +2728,7 @@ class AppCacheUpdateJobTest : public testing::Test,
ASSERT_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type());
HttpHeadersRequestTestJob::Initialize("", "\"LadeDade\"");
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -2787,7 +2787,7 @@ class AppCacheUpdateJobTest : public testing::Test,
ASSERT_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type());
HttpHeadersRequestTestJob::Initialize("", "\"LadeDade\"");
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory);
io_thread_->SetNewJobFactory(new_factory);
@@ -2822,7 +2822,7 @@ class AppCacheUpdateJobTest : public testing::Test,
// Verify that code is correct when building multiple extra headers.
HttpHeadersRequestTestJob::Initialize(
"Sat, 29 Oct 1994 19:43:31 GMT", "\"LadeDade\"");
- net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactory);
+ net::URLRequestJobFactory* new_factory(new net::URLRequestJobFactoryImpl);
new_factory->SetProtocolHandler("http", new IfModifiedSinceJobFactory);
io_thread_->SetNewJobFactory(new_factory);
diff --git a/webkit/fileapi/local_file_system_operation_write_unittest.cc b/webkit/fileapi/local_file_system_operation_write_unittest.cc
index cd1950a..04ac98f 100644
--- a/webkit/fileapi/local_file_system_operation_write_unittest.cc
+++ b/webkit/fileapi/local_file_system_operation_write_unittest.cc
@@ -13,7 +13,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_job.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "webkit/blob/blob_data.h"
#include "webkit/blob/blob_storage_controller.h"
@@ -192,7 +192,7 @@ class TestURLRequestContext : public net::URLRequestContext {
}
private:
- net::URLRequestJobFactory job_factory_;
+ net::URLRequestJobFactoryImpl job_factory_;
scoped_ptr<webkit_blob::BlobStorageController> blob_storage_controller_;
DISALLOW_COPY_AND_ASSIGN(TestURLRequestContext);
diff --git a/webkit/tools/test_shell/test_shell_request_context.cc b/webkit/tools/test_shell/test_shell_request_context.cc
index 42d73c2..b5b8dd3 100644
--- a/webkit/tools/test_shell/test_shell_request_context.cc
+++ b/webkit/tools/test_shell/test_shell_request_context.cc
@@ -22,7 +22,7 @@
#include "net/proxy/proxy_config_service.h"
#include "net/proxy/proxy_config_service_fixed.h"
#include "net/proxy/proxy_service.h"
-#include "net/url_request/url_request_job_factory.h"
+#include "net/url_request/url_request_job_factory_impl.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h"
#include "webkit/blob/blob_storage_controller.h"
@@ -120,7 +120,7 @@ void TestShellRequestContext::Init(
file_system_context_ = static_cast<SimpleFileSystem*>(
WebKit::webKitPlatformSupport()->fileSystem())->file_system_context();
- net::URLRequestJobFactory* job_factory = new net::URLRequestJobFactory;
+ net::URLRequestJobFactory* job_factory = new net::URLRequestJobFactoryImpl();
job_factory->SetProtocolHandler(
"blob",
new webkit_blob::BlobProtocolHandler(