Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: headless/lib/browser/headless_url_request_context_getter.cc

Issue 2977693003: Use TaskRunner passed in to URLRequestContextBuilder only for the cache (Closed)
Patch Set: Actually, don't need to set the thread everywhere Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "headless/lib/browser/headless_url_request_context_getter.h" 5 #include "headless/lib/browser/headless_url_request_context_getter.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 11 matching lines...) Expand all
22 22
23 HeadlessURLRequestContextGetter::HeadlessURLRequestContextGetter( 23 HeadlessURLRequestContextGetter::HeadlessURLRequestContextGetter(
24 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 24 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
25 content::ProtocolHandlerMap* protocol_handlers, 25 content::ProtocolHandlerMap* protocol_handlers,
26 ProtocolHandlerMap context_protocol_handlers, 26 ProtocolHandlerMap context_protocol_handlers,
27 content::URLRequestInterceptorScopedVector request_interceptors, 27 content::URLRequestInterceptorScopedVector request_interceptors,
28 HeadlessBrowserContextOptions* options, 28 HeadlessBrowserContextOptions* options,
29 net::NetLog* net_log, 29 net::NetLog* net_log,
30 HeadlessBrowserContextImpl* headless_browser_context) 30 HeadlessBrowserContextImpl* headless_browser_context)
31 : io_task_runner_(std::move(io_task_runner)), 31 : io_task_runner_(std::move(io_task_runner)),
32 file_task_runner_(base::CreateSingleThreadTaskRunnerWithTraits(
33 {base::MayBlock(), base::TaskPriority::BACKGROUND})),
34 user_agent_(options->user_agent()), 32 user_agent_(options->user_agent()),
35 host_resolver_rules_(options->host_resolver_rules()), 33 host_resolver_rules_(options->host_resolver_rules()),
36 proxy_config_(options->proxy_config()), 34 proxy_config_(options->proxy_config()),
37 request_interceptors_(std::move(request_interceptors)), 35 request_interceptors_(std::move(request_interceptors)),
38 net_log_(net_log), 36 net_log_(net_log),
39 headless_browser_context_(headless_browser_context) { 37 headless_browser_context_(headless_browser_context) {
40 // Must first be created on the UI thread. 38 // Must first be created on the UI thread.
41 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 39 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
42 40
43 std::swap(protocol_handlers_, *protocol_handlers); 41 std::swap(protocol_handlers_, *protocol_handlers);
(...skipping 19 matching lines...) Expand all
63 net::URLRequestContext* 61 net::URLRequestContext*
64 HeadlessURLRequestContextGetter::GetURLRequestContext() { 62 HeadlessURLRequestContextGetter::GetURLRequestContext() {
65 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); 63 DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
66 if (!url_request_context_) { 64 if (!url_request_context_) {
67 net::URLRequestContextBuilder builder; 65 net::URLRequestContextBuilder builder;
68 // TODO(skyostil): Make language settings configurable. 66 // TODO(skyostil): Make language settings configurable.
69 builder.set_user_agent(user_agent_); 67 builder.set_user_agent(user_agent_);
70 // TODO(skyostil): Make these configurable. 68 // TODO(skyostil): Make these configurable.
71 builder.set_data_enabled(true); 69 builder.set_data_enabled(true);
72 builder.set_file_enabled(true); 70 builder.set_file_enabled(true);
73 builder.SetFileTaskRunner(file_task_runner_);
74 if (proxy_config_) { 71 if (proxy_config_) {
75 builder.set_proxy_service(net::ProxyService::CreateFixed(*proxy_config_)); 72 builder.set_proxy_service(net::ProxyService::CreateFixed(*proxy_config_));
76 } else { 73 } else {
77 builder.set_proxy_config_service(std::move(proxy_config_service_)); 74 builder.set_proxy_config_service(std::move(proxy_config_service_));
78 } 75 }
79 builder.set_network_delegate( 76 builder.set_network_delegate(
80 base::MakeUnique<HeadlessNetworkDelegate>(headless_browser_context_)); 77 base::MakeUnique<HeadlessNetworkDelegate>(headless_browser_context_));
81 78
82 if (!host_resolver_rules_.empty()) { 79 if (!host_resolver_rules_.empty()) {
83 std::unique_ptr<net::HostResolver> host_resolver( 80 std::unique_ptr<net::HostResolver> host_resolver(
(...skipping 21 matching lines...) Expand all
105 scoped_refptr<base::SingleThreadTaskRunner> 102 scoped_refptr<base::SingleThreadTaskRunner>
106 HeadlessURLRequestContextGetter::GetNetworkTaskRunner() const { 103 HeadlessURLRequestContextGetter::GetNetworkTaskRunner() const {
107 return io_task_runner_; 104 return io_task_runner_;
108 } 105 }
109 106
110 net::HostResolver* HeadlessURLRequestContextGetter::host_resolver() const { 107 net::HostResolver* HeadlessURLRequestContextGetter::host_resolver() const {
111 return url_request_context_->host_resolver(); 108 return url_request_context_->host_resolver();
112 } 109 }
113 110
114 } // namespace headless 111 } // namespace headless
OLDNEW
« no previous file with comments | « headless/lib/browser/headless_url_request_context_getter.h ('k') | net/url_request/url_request_context_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698