| 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 |