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 "chrome/test/chromedriver/net/url_request_context_getter.h" | 5 #include "chrome/test/chromedriver/net/url_request_context_getter.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "net/proxy/proxy_config_service.h" | 9 #include "net/proxy/proxy_config_service_fixed.h" |
10 #include "net/url_request/url_request_context.h" | 10 #include "net/url_request/url_request_context.h" |
11 #include "net/url_request/url_request_context_builder.h" | 11 #include "net/url_request/url_request_context_builder.h" |
12 | 12 |
13 namespace { | |
14 | |
15 // Config getter that always returns direct settings. | |
16 class ProxyConfigServiceDirect : public net::ProxyConfigService { | |
17 public: | |
18 // Overridden from ProxyConfigService: | |
19 virtual void AddObserver(Observer* observer) OVERRIDE {} | |
20 virtual void RemoveObserver(Observer* observer) OVERRIDE {} | |
21 virtual ConfigAvailability GetLatestProxyConfig( | |
22 net::ProxyConfig* config) OVERRIDE { | |
23 *config = net::ProxyConfig::CreateDirect(); | |
24 return CONFIG_VALID; | |
25 } | |
26 }; | |
27 | |
28 } // namespace | |
29 | |
30 URLRequestContextGetter::URLRequestContextGetter( | 13 URLRequestContextGetter::URLRequestContextGetter( |
31 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) | 14 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) |
32 : network_task_runner_(network_task_runner) { | 15 : network_task_runner_(network_task_runner) { |
33 } | 16 } |
34 | 17 |
35 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { | 18 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { |
36 CHECK(network_task_runner_->BelongsToCurrentThread()); | 19 CHECK(network_task_runner_->BelongsToCurrentThread()); |
37 if (!url_request_context_) { | 20 if (!url_request_context_) { |
38 net::URLRequestContextBuilder builder; | 21 net::URLRequestContextBuilder builder; |
39 // net::HttpServer fails to parse headers if user-agent header is blank. | 22 // net::HttpServer fails to parse headers if user-agent header is blank. |
40 builder.set_user_agent("chromedriver"); | 23 builder.set_user_agent("chromedriver"); |
41 builder.DisableHttpCache(); | 24 builder.DisableHttpCache(); |
42 builder.set_proxy_config_service(new ProxyConfigServiceDirect()); | 25 builder.set_proxy_config_service( |
| 26 new net::ProxyConfigServiceFixed(net::ProxyConfig::CreateDirect())); |
43 url_request_context_.reset(builder.Build()); | 27 url_request_context_.reset(builder.Build()); |
44 } | 28 } |
45 return url_request_context_.get(); | 29 return url_request_context_.get(); |
46 } | 30 } |
47 | 31 |
48 scoped_refptr<base::SingleThreadTaskRunner> | 32 scoped_refptr<base::SingleThreadTaskRunner> |
49 URLRequestContextGetter::GetNetworkTaskRunner() const { | 33 URLRequestContextGetter::GetNetworkTaskRunner() const { |
50 return network_task_runner_; | 34 return network_task_runner_; |
51 } | 35 } |
52 | 36 |
53 URLRequestContextGetter::~URLRequestContextGetter() {} | 37 URLRequestContextGetter::~URLRequestContextGetter() {} |
OLD | NEW |