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> |
11 | 11 |
12 #include "base/guid.h" | 12 #include "base/guid.h" |
13 #include "base/memory/ptr_util.h" | 13 #include "base/memory/ptr_util.h" |
14 #include "base/path_service.h" | 14 #include "base/path_service.h" |
15 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
16 #include "content/public/browser/resource_context.h" | 16 #include "content/public/browser/resource_context.h" |
17 #include "content/public/browser/storage_partition.h" | 17 #include "content/public/browser/storage_partition.h" |
| 18 #include "headless/grit/headless_lib_resources.h" |
18 #include "headless/lib/browser/headless_browser_context_options.h" | 19 #include "headless/lib/browser/headless_browser_context_options.h" |
19 #include "headless/lib/browser/headless_browser_impl.h" | 20 #include "headless/lib/browser/headless_browser_impl.h" |
20 #include "headless/lib/browser/headless_permission_manager.h" | 21 #include "headless/lib/browser/headless_permission_manager.h" |
21 #include "headless/lib/browser/headless_url_request_context_getter.h" | 22 #include "headless/lib/browser/headless_url_request_context_getter.h" |
22 #include "headless/public/util/black_hole_protocol_handler.h" | 23 #include "headless/public/util/black_hole_protocol_handler.h" |
23 #include "headless/public/util/in_memory_protocol_handler.h" | 24 #include "headless/public/util/in_memory_protocol_handler.h" |
24 #include "net/url_request/url_request_context.h" | 25 #include "net/url_request/url_request_context.h" |
| 26 #include "ui/base/resource/resource_bundle.h" |
25 | 27 |
26 namespace headless { | 28 namespace headless { |
27 | 29 |
28 namespace { | 30 namespace { |
29 const char kHeadlessMojomProtocol[] = "headless-mojom"; | 31 const char kHeadlessMojomProtocol[] = "headless-mojom"; |
30 } | 32 } |
31 | 33 |
32 // Contains net::URLRequestContextGetter required for resource loading. | 34 // Contains net::URLRequestContextGetter required for resource loading. |
33 // Must be destructed on the IO thread as per content::ResourceContext | 35 // Must be destructed on the IO thread as per content::ResourceContext |
34 // requirements. | 36 // requirements. |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 | 361 |
360 HeadlessBrowserContext::Builder& | 362 HeadlessBrowserContext::Builder& |
361 HeadlessBrowserContext::Builder::AddJsMojoBindings( | 363 HeadlessBrowserContext::Builder::AddJsMojoBindings( |
362 const std::string& mojom_name, | 364 const std::string& mojom_name, |
363 const std::string& js_bindings) { | 365 const std::string& js_bindings) { |
364 mojo_bindings_.emplace_back(mojom_name, js_bindings); | 366 mojo_bindings_.emplace_back(mojom_name, js_bindings); |
365 return *this; | 367 return *this; |
366 } | 368 } |
367 | 369 |
368 HeadlessBrowserContext::Builder& | 370 HeadlessBrowserContext::Builder& |
| 371 HeadlessBrowserContext::Builder::AddTabSocketMojoBindings() { |
| 372 std::string js_bindings = |
| 373 ui::ResourceBundle::GetSharedInstance() |
| 374 .GetRawDataResource(IDR_HEADLESS_TAB_SOCKET_MOJOM_JS) |
| 375 .as_string(); |
| 376 mojo_bindings_.emplace_back("headless/lib/tab_socket.mojom", js_bindings); |
| 377 return *this; |
| 378 } |
| 379 |
| 380 HeadlessBrowserContext::Builder& |
369 HeadlessBrowserContext::Builder::EnableUnsafeNetworkAccessWithMojoBindings( | 381 HeadlessBrowserContext::Builder::EnableUnsafeNetworkAccessWithMojoBindings( |
370 bool enable_http_and_https_if_mojo_used) { | 382 bool enable_http_and_https_if_mojo_used) { |
371 enable_http_and_https_if_mojo_used_ = enable_http_and_https_if_mojo_used; | 383 enable_http_and_https_if_mojo_used_ = enable_http_and_https_if_mojo_used; |
372 return *this; | 384 return *this; |
373 } | 385 } |
374 | 386 |
375 HeadlessBrowserContext::Builder& | 387 HeadlessBrowserContext::Builder& |
376 HeadlessBrowserContext::Builder::SetOverrideWebPreferencesCallback( | 388 HeadlessBrowserContext::Builder::SetOverrideWebPreferencesCallback( |
377 base::Callback<void(WebPreferences*)> callback) { | 389 base::Callback<void(WebPreferences*)> callback) { |
378 options_->override_web_preferences_callback_ = std::move(callback); | 390 options_->override_web_preferences_callback_ = std::move(callback); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings() {} | 422 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings() {} |
411 | 423 |
412 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings( | 424 HeadlessBrowserContext::Builder::MojoBindings::MojoBindings( |
413 const std::string& mojom_name, | 425 const std::string& mojom_name, |
414 const std::string& js_bindings) | 426 const std::string& js_bindings) |
415 : mojom_name(mojom_name), js_bindings(js_bindings) {} | 427 : mojom_name(mojom_name), js_bindings(js_bindings) {} |
416 | 428 |
417 HeadlessBrowserContext::Builder::MojoBindings::~MojoBindings() {} | 429 HeadlessBrowserContext::Builder::MojoBindings::~MojoBindings() {} |
418 | 430 |
419 } // namespace headless | 431 } // namespace headless |
OLD | NEW |