| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_browser_context_impl.h" | 5 #include "headless/lib/browser/headless_browser_context_impl.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 CHECK(url_request_context_getter_); | 60 CHECK(url_request_context_getter_); |
| 61 return url_request_context_getter_->GetURLRequestContext()->host_resolver(); | 61 return url_request_context_getter_->GetURLRequestContext()->host_resolver(); |
| 62 } | 62 } |
| 63 | 63 |
| 64 net::URLRequestContext* HeadlessResourceContext::GetRequestContext() { | 64 net::URLRequestContext* HeadlessResourceContext::GetRequestContext() { |
| 65 CHECK(url_request_context_getter_); | 65 CHECK(url_request_context_getter_); |
| 66 return url_request_context_getter_->GetURLRequestContext(); | 66 return url_request_context_getter_->GetURLRequestContext(); |
| 67 } | 67 } |
| 68 | 68 |
| 69 HeadlessBrowserContextImpl::HeadlessBrowserContextImpl( | 69 HeadlessBrowserContextImpl::HeadlessBrowserContextImpl( |
| 70 ProtocolHandlerMap protocol_handlers, |
| 70 HeadlessBrowser::Options* options) | 71 HeadlessBrowser::Options* options) |
| 71 : resource_context_(new HeadlessResourceContext), options_(options) { | 72 : protocol_handlers_(std::move(protocol_handlers)), |
| 73 options_(options), |
| 74 resource_context_(new HeadlessResourceContext) { |
| 72 InitWhileIOAllowed(); | 75 InitWhileIOAllowed(); |
| 73 } | 76 } |
| 74 | 77 |
| 75 HeadlessBrowserContextImpl::~HeadlessBrowserContextImpl() { | 78 HeadlessBrowserContextImpl::~HeadlessBrowserContextImpl() { |
| 76 if (resource_context_) { | 79 if (resource_context_) { |
| 77 content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE, | 80 content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE, |
| 78 resource_context_.release()); | 81 resource_context_.release()); |
| 79 } | 82 } |
| 80 } | 83 } |
| 81 | 84 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 | 149 |
| 147 net::URLRequestContextGetter* HeadlessBrowserContextImpl::CreateRequestContext( | 150 net::URLRequestContextGetter* HeadlessBrowserContextImpl::CreateRequestContext( |
| 148 content::ProtocolHandlerMap* protocol_handlers, | 151 content::ProtocolHandlerMap* protocol_handlers, |
| 149 content::URLRequestInterceptorScopedVector request_interceptors) { | 152 content::URLRequestInterceptorScopedVector request_interceptors) { |
| 150 scoped_refptr<HeadlessURLRequestContextGetter> url_request_context_getter( | 153 scoped_refptr<HeadlessURLRequestContextGetter> url_request_context_getter( |
| 151 new HeadlessURLRequestContextGetter( | 154 new HeadlessURLRequestContextGetter( |
| 152 content::BrowserThread::GetMessageLoopProxyForThread( | 155 content::BrowserThread::GetMessageLoopProxyForThread( |
| 153 content::BrowserThread::IO), | 156 content::BrowserThread::IO), |
| 154 content::BrowserThread::GetMessageLoopProxyForThread( | 157 content::BrowserThread::GetMessageLoopProxyForThread( |
| 155 content::BrowserThread::FILE), | 158 content::BrowserThread::FILE), |
| 156 protocol_handlers, std::move(request_interceptors), options())); | 159 protocol_handlers, std::move(protocol_handlers_), |
| 160 std::move(request_interceptors), options())); |
| 157 resource_context_->set_url_request_context_getter(url_request_context_getter); | 161 resource_context_->set_url_request_context_getter(url_request_context_getter); |
| 158 return url_request_context_getter.get(); | 162 return url_request_context_getter.get(); |
| 159 } | 163 } |
| 160 | 164 |
| 161 net::URLRequestContextGetter* | 165 net::URLRequestContextGetter* |
| 162 HeadlessBrowserContextImpl::CreateRequestContextForStoragePartition( | 166 HeadlessBrowserContextImpl::CreateRequestContextForStoragePartition( |
| 163 const base::FilePath& partition_path, | 167 const base::FilePath& partition_path, |
| 164 bool in_memory, | 168 bool in_memory, |
| 165 content::ProtocolHandlerMap* protocol_handlers, | 169 content::ProtocolHandlerMap* protocol_handlers, |
| 166 content::URLRequestInterceptorScopedVector request_interceptors) { | 170 content::URLRequestInterceptorScopedVector request_interceptors) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 184 options_ = options; | 188 options_ = options; |
| 185 } | 189 } |
| 186 | 190 |
| 187 HeadlessBrowserContext::Builder::Builder(HeadlessBrowserImpl* browser) | 191 HeadlessBrowserContext::Builder::Builder(HeadlessBrowserImpl* browser) |
| 188 : browser_(browser) {} | 192 : browser_(browser) {} |
| 189 | 193 |
| 190 HeadlessBrowserContext::Builder::~Builder() = default; | 194 HeadlessBrowserContext::Builder::~Builder() = default; |
| 191 | 195 |
| 192 HeadlessBrowserContext::Builder::Builder(Builder&&) = default; | 196 HeadlessBrowserContext::Builder::Builder(Builder&&) = default; |
| 193 | 197 |
| 198 HeadlessBrowserContext::Builder& |
| 199 HeadlessBrowserContext::Builder::SetProtocolHandlers( |
| 200 ProtocolHandlerMap protocol_handlers) { |
| 201 protocol_handlers_ = std::move(protocol_handlers); |
| 202 return *this; |
| 203 } |
| 204 |
| 194 std::unique_ptr<HeadlessBrowserContext> | 205 std::unique_ptr<HeadlessBrowserContext> |
| 195 HeadlessBrowserContext::Builder::Build() { | 206 HeadlessBrowserContext::Builder::Build() { |
| 196 return base::WrapUnique(new HeadlessBrowserContextImpl(browser_->options())); | 207 return base::WrapUnique(new HeadlessBrowserContextImpl( |
| 208 std::move(protocol_handlers_), browser_->options())); |
| 197 } | 209 } |
| 198 | 210 |
| 199 } // namespace headless | 211 } // namespace headless |
| OLD | NEW |