| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/test/headless_browser_test.h" | 5 #include "headless/test/headless_browser_test.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 int exit_code) { | 217 int exit_code) { |
| 218 if (status == base::TERMINATION_STATUS_NORMAL_TERMINATION) | 218 if (status == base::TERMINATION_STATUS_NORMAL_TERMINATION) |
| 219 return; | 219 return; |
| 220 | 220 |
| 221 FAIL() << "Abnormal renderer termination"; | 221 FAIL() << "Abnormal renderer termination"; |
| 222 FinishAsynchronousTest(); | 222 FinishAsynchronousTest(); |
| 223 render_process_exited_ = true; | 223 render_process_exited_ = true; |
| 224 } | 224 } |
| 225 | 225 |
| 226 void HeadlessAsyncDevTooledBrowserTest::RunTest() { | 226 void HeadlessAsyncDevTooledBrowserTest::RunTest() { |
| 227 browser_context_ = browser() | 227 HeadlessBrowserContext::Builder builder = |
| 228 ->CreateBrowserContextBuilder() | 228 browser()->CreateBrowserContextBuilder(); |
| 229 .SetProtocolHandlers(GetProtocolHandlers()) | 229 builder.SetProtocolHandlers(GetProtocolHandlers()); |
| 230 .Build(); | 230 if (GetCreateTabSocket()) { |
| 231 builder.EnableUnsafeNetworkAccessWithMojoBindings(true); |
| 232 builder.AddTabSocketMojoBindings(); |
| 233 } |
| 234 browser_context_ = builder.Build(); |
| 235 |
| 231 browser()->SetDefaultBrowserContext(browser_context_); | 236 browser()->SetDefaultBrowserContext(browser_context_); |
| 232 | 237 |
| 233 web_contents_ = browser_context_->CreateWebContentsBuilder().Build(); | 238 web_contents_ = browser_context_->CreateWebContentsBuilder() |
| 239 .CreateTabSocket(GetCreateTabSocket()) |
| 240 .Build(); |
| 234 web_contents_->AddObserver(this); | 241 web_contents_->AddObserver(this); |
| 235 | 242 |
| 236 RunAsynchronousTest(); | 243 RunAsynchronousTest(); |
| 237 | 244 |
| 238 if (!render_process_exited_) | 245 if (!render_process_exited_) |
| 239 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); | 246 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); |
| 240 web_contents_->RemoveObserver(this); | 247 web_contents_->RemoveObserver(this); |
| 241 web_contents_->Close(); | 248 web_contents_->Close(); |
| 242 web_contents_ = nullptr; | 249 web_contents_ = nullptr; |
| 243 browser_context_->Close(); | 250 browser_context_->Close(); |
| 244 browser_context_ = nullptr; | 251 browser_context_ = nullptr; |
| 245 } | 252 } |
| 246 | 253 |
| 247 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { | 254 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { |
| 248 return ProtocolHandlerMap(); | 255 return ProtocolHandlerMap(); |
| 249 } | 256 } |
| 250 | 257 |
| 258 bool HeadlessAsyncDevTooledBrowserTest::GetCreateTabSocket() { |
| 259 return false; |
| 260 } |
| 261 |
| 251 } // namespace headless | 262 } // namespace headless |
| OLD | NEW |