| 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 | 213 |
| 214 FinishAsynchronousTest(); | 214 FinishAsynchronousTest(); |
| 215 render_process_exited_ = true; | 215 render_process_exited_ = true; |
| 216 FAIL() << "Abnormal renderer termination"; | 216 FAIL() << "Abnormal renderer termination"; |
| 217 } | 217 } |
| 218 | 218 |
| 219 void HeadlessAsyncDevTooledBrowserTest::RunTest() { | 219 void HeadlessAsyncDevTooledBrowserTest::RunTest() { |
| 220 HeadlessBrowserContext::Builder builder = | 220 HeadlessBrowserContext::Builder builder = |
| 221 browser()->CreateBrowserContextBuilder(); | 221 browser()->CreateBrowserContextBuilder(); |
| 222 builder.SetProtocolHandlers(GetProtocolHandlers()); | 222 builder.SetProtocolHandlers(GetProtocolHandlers()); |
| 223 if (GetTabSocketType() != HeadlessWebContents::Builder::TabSocketType::NONE) { | 223 if (GetCreateTabSocket()) { |
| 224 builder.EnableUnsafeNetworkAccessWithMojoBindings(true); | 224 builder.EnableUnsafeNetworkAccessWithMojoBindings(true); |
| 225 builder.AddTabSocketMojoBindings(); | 225 builder.AddTabSocketMojoBindings(); |
| 226 } | 226 } |
| 227 browser_context_ = builder.Build(); | 227 browser_context_ = builder.Build(); |
| 228 | 228 |
| 229 browser()->SetDefaultBrowserContext(browser_context_); | 229 browser()->SetDefaultBrowserContext(browser_context_); |
| 230 | 230 |
| 231 web_contents_ = browser_context_->CreateWebContentsBuilder() | 231 web_contents_ = browser_context_->CreateWebContentsBuilder() |
| 232 .SetTabSocketType(GetTabSocketType()) | 232 .CreateTabSocket(GetCreateTabSocket()) |
| 233 .Build(); | 233 .Build(); |
| 234 web_contents_->AddObserver(this); | 234 web_contents_->AddObserver(this); |
| 235 | 235 |
| 236 RunAsynchronousTest(); | 236 RunAsynchronousTest(); |
| 237 | 237 |
| 238 if (!render_process_exited_) | 238 if (!render_process_exited_) |
| 239 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); | 239 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); |
| 240 web_contents_->RemoveObserver(this); | 240 web_contents_->RemoveObserver(this); |
| 241 web_contents_->Close(); | 241 web_contents_->Close(); |
| 242 web_contents_ = nullptr; | 242 web_contents_ = nullptr; |
| 243 browser_context_->Close(); | 243 browser_context_->Close(); |
| 244 browser_context_ = nullptr; | 244 browser_context_ = nullptr; |
| 245 } | 245 } |
| 246 | 246 |
| 247 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { | 247 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { |
| 248 return ProtocolHandlerMap(); | 248 return ProtocolHandlerMap(); |
| 249 } | 249 } |
| 250 | 250 |
| 251 HeadlessWebContents::Builder::TabSocketType | 251 bool HeadlessAsyncDevTooledBrowserTest::GetCreateTabSocket() { |
| 252 HeadlessAsyncDevTooledBrowserTest::GetTabSocketType() { | |
| 253 return HeadlessWebContents::Builder::TabSocketType::NONE; | |
| 254 } | |
| 255 | |
| 256 bool HeadlessAsyncDevTooledBrowserTest:: | |
| 257 GetCreateTabSocketOnlyForIsolatedWorld() { | |
| 258 return false; | 252 return false; |
| 259 } | 253 } |
| 260 | 254 |
| 261 } // namespace headless | 255 } // namespace headless |
| OLD | NEW |