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 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 | 98 |
99 if (resource_context_) { | 99 if (resource_context_) { |
100 content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE, | 100 content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE, |
101 resource_context_.release()); | 101 resource_context_.release()); |
102 } | 102 } |
103 } | 103 } |
104 | 104 |
105 // static | 105 // static |
106 HeadlessBrowserContextImpl* HeadlessBrowserContextImpl::From( | 106 HeadlessBrowserContextImpl* HeadlessBrowserContextImpl::From( |
107 HeadlessBrowserContext* browser_context) { | 107 HeadlessBrowserContext* browser_context) { |
108 return reinterpret_cast<HeadlessBrowserContextImpl*>(browser_context); | 108 return static_cast<HeadlessBrowserContextImpl*>(browser_context); |
109 } | 109 } |
110 | 110 |
111 // static | 111 // static |
| 112 HeadlessBrowserContextImpl* HeadlessBrowserContextImpl::From( |
| 113 content::BrowserContext* browser_context) { |
| 114 return static_cast<HeadlessBrowserContextImpl*>(browser_context); |
| 115 } |
| 116 |
| 117 // static |
112 std::unique_ptr<HeadlessBrowserContextImpl> HeadlessBrowserContextImpl::Create( | 118 std::unique_ptr<HeadlessBrowserContextImpl> HeadlessBrowserContextImpl::Create( |
113 HeadlessBrowserContext::Builder* builder) { | 119 HeadlessBrowserContext::Builder* builder) { |
114 return base::WrapUnique(new HeadlessBrowserContextImpl( | 120 return base::WrapUnique(new HeadlessBrowserContextImpl( |
115 builder->browser_, std::move(builder->options_))); | 121 builder->browser_, std::move(builder->options_))); |
116 } | 122 } |
117 | 123 |
118 HeadlessWebContents::Builder | 124 HeadlessWebContents::Builder |
119 HeadlessBrowserContextImpl::CreateWebContentsBuilder() { | 125 HeadlessBrowserContextImpl::CreateWebContentsBuilder() { |
120 DCHECK(browser_->BrowserMainThread()->BelongsToCurrentThread()); | 126 DCHECK(browser_->BrowserMainThread()->BelongsToCurrentThread()); |
121 return HeadlessWebContents::Builder(this); | 127 return HeadlessWebContents::Builder(this); |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 return *this; | 362 return *this; |
357 } | 363 } |
358 | 364 |
359 HeadlessBrowserContext::Builder& | 365 HeadlessBrowserContext::Builder& |
360 HeadlessBrowserContext::Builder::EnableUnsafeNetworkAccessWithMojoBindings( | 366 HeadlessBrowserContext::Builder::EnableUnsafeNetworkAccessWithMojoBindings( |
361 bool enable_http_and_https_if_mojo_used) { | 367 bool enable_http_and_https_if_mojo_used) { |
362 enable_http_and_https_if_mojo_used_ = enable_http_and_https_if_mojo_used; | 368 enable_http_and_https_if_mojo_used_ = enable_http_and_https_if_mojo_used; |
363 return *this; | 369 return *this; |
364 } | 370 } |
365 | 371 |
| 372 HeadlessBrowserContext::Builder& |
| 373 HeadlessBrowserContext::Builder::SetOverrideWebPreferencesCallback( |
| 374 base::Callback<void(WebPreferences*)> callback) { |
| 375 options_->override_web_preferences_callback_ = std::move(callback); |
| 376 return *this; |
| 377 } |
| 378 |
366 HeadlessBrowserContext* HeadlessBrowserContext::Builder::Build() { | 379 HeadlessBrowserContext* HeadlessBrowserContext::Builder::Build() { |
367 if (!mojo_bindings_.empty()) { | 380 if (!mojo_bindings_.empty()) { |
368 std::unique_ptr<InMemoryProtocolHandler> headless_mojom_protocol_handler( | 381 std::unique_ptr<InMemoryProtocolHandler> headless_mojom_protocol_handler( |
369 new InMemoryProtocolHandler()); | 382 new InMemoryProtocolHandler()); |
370 for (const MojoBindings& binding : mojo_bindings_) { | 383 for (const MojoBindings& binding : mojo_bindings_) { |
371 headless_mojom_protocol_handler->InsertResponse( | 384 headless_mojom_protocol_handler->InsertResponse( |
372 binding.mojom_name, | 385 binding.mojom_name, |
373 InMemoryProtocolHandler::Response(binding.js_bindings, | 386 InMemoryProtocolHandler::Response(binding.js_bindings, |
374 "application/javascript")); | 387 "application/javascript")); |
375 } | 388 } |
(...skipping 18 matching lines...) Expand all Loading... |
394 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings() {} | 407 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings() {} |
395 | 408 |
396 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings( | 409 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings( |
397 const std::string& mojom_name, | 410 const std::string& mojom_name, |
398 const std::string& js_bindings) | 411 const std::string& js_bindings) |
399 : mojom_name(mojom_name), js_bindings(js_bindings) {} | 412 : mojom_name(mojom_name), js_bindings(js_bindings) {} |
400 | 413 |
401 HeadlessBrowserContext::Builder::MojoBindings::~MojoBindings() {} | 414 HeadlessBrowserContext::Builder::MojoBindings::~MojoBindings() {} |
402 | 415 |
403 } // namespace headless | 416 } // namespace headless |
OLD | NEW |