| Index: headless/lib/browser/headless_browser_context_impl.cc
|
| diff --git a/headless/lib/browser/headless_browser_context_impl.cc b/headless/lib/browser/headless_browser_context_impl.cc
|
| index d680daa5a66f40cd94005e357c1d84a3825690a6..09ee140058bc3bfa5ab621260dc2977541aad901 100644
|
| --- a/headless/lib/browser/headless_browser_context_impl.cc
|
| +++ b/headless/lib/browser/headless_browser_context_impl.cc
|
| @@ -29,6 +29,10 @@
|
|
|
| namespace headless {
|
|
|
| +namespace {
|
| +const char kHeadlessMojomProtocol[] = "headless-mojom";
|
| +}
|
| +
|
| // Contains net::URLRequestContextGetter required for resource loading.
|
| // Must be destructed on the IO thread as per content::ResourceContext
|
| // requirements.
|
| @@ -410,6 +414,19 @@
|
|
|
| HeadlessBrowserContext* HeadlessBrowserContext::Builder::Build() {
|
| if (!mojo_bindings_.empty()) {
|
| + std::unique_ptr<InMemoryProtocolHandler> headless_mojom_protocol_handler(
|
| + new InMemoryProtocolHandler());
|
| + for (const MojoBindings& binding : mojo_bindings_) {
|
| + headless_mojom_protocol_handler->InsertResponse(
|
| + binding.mojom_name,
|
| + InMemoryProtocolHandler::Response(binding.js_bindings,
|
| + "application/javascript"));
|
| + }
|
| + DCHECK(options_->protocol_handlers_.find(kHeadlessMojomProtocol) ==
|
| + options_->protocol_handlers_.end());
|
| + options_->protocol_handlers_[kHeadlessMojomProtocol] =
|
| + std::move(headless_mojom_protocol_handler);
|
| +
|
| // Unless you know what you're doing it's unsafe to allow http/https for a
|
| // context with mojo bindings.
|
| if (!enable_http_and_https_if_mojo_used_) {
|
|
|