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_content_browser_client.h" | 5 #include "headless/lib/browser/headless_content_browser_client.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 "content/public/browser/browser_thread.h" | 10 #include "content/public/browser/browser_thread.h" |
11 #include "headless/lib/browser/headless_browser_context.h" | |
12 #include "headless/lib/browser/headless_browser_impl.h" | 11 #include "headless/lib/browser/headless_browser_impl.h" |
13 #include "headless/lib/browser/headless_browser_main_parts.h" | 12 #include "headless/lib/browser/headless_browser_main_parts.h" |
14 | 13 |
15 namespace headless { | 14 namespace headless { |
16 | 15 |
17 HeadlessContentBrowserClient::HeadlessContentBrowserClient( | 16 HeadlessContentBrowserClient::HeadlessContentBrowserClient( |
18 HeadlessBrowserImpl* browser) | 17 HeadlessBrowserImpl* browser) |
19 : browser_(browser) {} | 18 : browser_(browser) {} |
20 | 19 |
21 HeadlessContentBrowserClient::~HeadlessContentBrowserClient() {} | 20 HeadlessContentBrowserClient::~HeadlessContentBrowserClient() {} |
22 | 21 |
23 content::BrowserMainParts* HeadlessContentBrowserClient::CreateBrowserMainParts( | 22 content::BrowserMainParts* HeadlessContentBrowserClient::CreateBrowserMainParts( |
24 const content::MainFunctionParams&) { | 23 const content::MainFunctionParams&) { |
25 std::unique_ptr<HeadlessBrowserMainParts> browser_main_parts = | 24 std::unique_ptr<HeadlessBrowserMainParts> browser_main_parts = |
26 base::WrapUnique(new HeadlessBrowserMainParts(browser_)); | 25 base::WrapUnique(new HeadlessBrowserMainParts(browser_)); |
27 browser_->set_browser_main_parts(browser_main_parts.get()); | 26 browser_->set_browser_main_parts(browser_main_parts.get()); |
28 return browser_main_parts.release(); | 27 return browser_main_parts.release(); |
29 } | 28 } |
30 | 29 |
31 net::URLRequestContextGetter* | |
32 HeadlessContentBrowserClient::CreateRequestContext( | |
33 content::BrowserContext* content_browser_context, | |
34 content::ProtocolHandlerMap* protocol_handlers, | |
35 content::URLRequestInterceptorScopedVector request_interceptors) { | |
36 CHECK(content_browser_context == browser_context()); | |
37 scoped_refptr<HeadlessURLRequestContextGetter> url_request_context_getter( | |
38 new HeadlessURLRequestContextGetter( | |
39 false /* ignore_certificate_errors */, browser_context()->GetPath(), | |
40 content::BrowserThread::GetMessageLoopProxyForThread( | |
41 content::BrowserThread::IO), | |
42 content::BrowserThread::GetMessageLoopProxyForThread( | |
43 content::BrowserThread::FILE), | |
44 protocol_handlers, std::move(request_interceptors), | |
45 nullptr /* net_log */, browser_context()->options())); | |
46 browser_context()->SetURLRequestContextGetter(url_request_context_getter); | |
47 return url_request_context_getter.get(); | |
48 } | |
49 | |
50 HeadlessBrowserContext* HeadlessContentBrowserClient::browser_context() const { | |
51 return browser_->browser_context(); | |
52 } | |
53 | |
54 } // namespace headless | 30 } // namespace headless |
OLD | NEW |