OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sync/test/accounts_client/url_request_context_getter.h" | 5 #include "sync/test/accounts_client/url_request_context_getter.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
| 9 #include "base/threading/worker_pool.h" |
9 #include "net/proxy/proxy_config_service.h" | 10 #include "net/proxy/proxy_config_service.h" |
10 #include "net/url_request/url_request_context.h" | 11 #include "net/url_request/url_request_context.h" |
11 #include "net/url_request/url_request_context_builder.h" | 12 #include "net/url_request/url_request_context_builder.h" |
12 | 13 |
13 namespace { | 14 namespace { |
14 | 15 |
15 // Config getter that always returns direct settings. | 16 // Config getter that always returns direct settings. |
16 class ProxyConfigServiceDirect : public net::ProxyConfigService { | 17 class ProxyConfigServiceDirect : public net::ProxyConfigService { |
17 public: | 18 public: |
18 // Overridden from ProxyConfigService: | 19 // Overridden from ProxyConfigService: |
19 virtual void AddObserver(Observer* observer) OVERRIDE {} | 20 virtual void AddObserver(Observer* observer) OVERRIDE {} |
20 virtual void RemoveObserver(Observer* observer) OVERRIDE {} | 21 virtual void RemoveObserver(Observer* observer) OVERRIDE {} |
21 virtual ConfigAvailability GetLatestProxyConfig( | 22 virtual ConfigAvailability GetLatestProxyConfig( |
22 net::ProxyConfig* config) OVERRIDE { | 23 net::ProxyConfig* config) OVERRIDE { |
23 *config = net::ProxyConfig::CreateDirect(); | 24 *config = net::ProxyConfig::CreateDirect(); |
24 return CONFIG_VALID; | 25 return CONFIG_VALID; |
25 } | 26 } |
26 }; | 27 }; |
27 | 28 |
28 } // namespace | 29 } // namespace |
29 | 30 |
30 URLRequestContextGetter::URLRequestContextGetter( | 31 URLRequestContextGetter::URLRequestContextGetter( |
31 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) | 32 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) |
32 : network_task_runner_(network_task_runner) { | 33 : network_task_runner_(network_task_runner) { |
33 } | 34 } |
34 | 35 |
35 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { | 36 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { |
36 CHECK(network_task_runner_->BelongsToCurrentThread()); | 37 CHECK(network_task_runner_->BelongsToCurrentThread()); |
37 if (!url_request_context_) { | 38 if (!url_request_context_) { |
38 net::URLRequestContextBuilder builder; | 39 net::URLRequestContextBuilder builder( |
| 40 base::WorkerPool::GetTaskRunner(true /* task_is_slow */)); |
39 // net::HttpServer fails to parse headers if user-agent header is blank. | 41 // net::HttpServer fails to parse headers if user-agent header is blank. |
40 builder.set_user_agent("sync-test-accounts-client"); | 42 builder.set_user_agent("sync-test-accounts-client"); |
41 builder.DisableHttpCache(); | 43 builder.DisableHttpCache(); |
42 #if defined(OS_LINUX) || defined(OS_ANDROID) | 44 #if defined(OS_LINUX) || defined(OS_ANDROID) |
43 builder.set_proxy_config_service(new ProxyConfigServiceDirect()); | 45 builder.set_proxy_config_service(new ProxyConfigServiceDirect()); |
44 #endif | 46 #endif |
45 url_request_context_.reset(builder.Build()); | 47 url_request_context_.reset(builder.Build()); |
46 } | 48 } |
47 return url_request_context_.get(); | 49 return url_request_context_.get(); |
48 } | 50 } |
49 | 51 |
50 scoped_refptr<base::SingleThreadTaskRunner> | 52 scoped_refptr<base::SingleThreadTaskRunner> |
51 URLRequestContextGetter::GetNetworkTaskRunner() const { | 53 URLRequestContextGetter::GetNetworkTaskRunner() const { |
52 return network_task_runner_; | 54 return network_task_runner_; |
53 } | 55 } |
54 | 56 |
55 URLRequestContextGetter::~URLRequestContextGetter() {} | 57 URLRequestContextGetter::~URLRequestContextGetter() {} |
OLD | NEW |