Index: headless/app/headless_shell.cc |
diff --git a/headless/app/headless_shell.cc b/headless/app/headless_shell.cc |
index 5e62e8a8381fd4aca584b259e098c95fa1806b3f..a38c6050b42780bc3ece37ce72e1497e6851c44d 100644 |
--- a/headless/app/headless_shell.cc |
+++ b/headless/app/headless_shell.cc |
@@ -68,6 +68,8 @@ void HeadlessShell::OnStart(HeadlessBrowser* browser) { |
browser_->CreateBrowserContextBuilder(); |
// TODO(eseckler): These switches should also affect BrowserContexts that |
// are created via DevTools later. |
+ DeterministicHttpProtocolHandler* http_handler; |
+ DeterministicHttpProtocolHandler* https_handler; |
if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kDeterministicFetch)) { |
deterministic_dispatcher_.reset( |
@@ -77,13 +79,22 @@ void HeadlessShell::OnStart(HeadlessBrowser* browser) { |
protocol_handlers[url::kHttpScheme] = |
base::MakeUnique<DeterministicHttpProtocolHandler>( |
deterministic_dispatcher_.get(), browser->BrowserIOThread()); |
+ http_handler = static_cast<DeterministicHttpProtocolHandler*>( |
+ protocol_handlers[url::kHttpScheme].get()); |
protocol_handlers[url::kHttpsScheme] = |
base::MakeUnique<DeterministicHttpProtocolHandler>( |
deterministic_dispatcher_.get(), browser->BrowserIOThread()); |
+ https_handler = static_cast<DeterministicHttpProtocolHandler*>( |
+ protocol_handlers[url::kHttpsScheme].get()); |
context_builder.SetProtocolHandlers(std::move(protocol_handlers)); |
} |
browser_context_ = context_builder.Build(); |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kDeterministicFetch)) { |
+ http_handler->SetHeadlessBrowserContext(browser_context_); |
+ https_handler->SetHeadlessBrowserContext(browser_context_); |
+ } |
browser_->SetDefaultBrowserContext(browser_context_); |
HeadlessWebContents::Builder builder( |