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 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 } | 188 } |
189 | 189 |
190 void HeadlessBrowserTest::FinishAsynchronousTest() { | 190 void HeadlessBrowserTest::FinishAsynchronousTest() { |
191 run_loop_->Quit(); | 191 run_loop_->Quit(); |
192 } | 192 } |
193 | 193 |
194 HeadlessAsyncDevTooledBrowserTest::HeadlessAsyncDevTooledBrowserTest() | 194 HeadlessAsyncDevTooledBrowserTest::HeadlessAsyncDevTooledBrowserTest() |
195 : browser_context_(nullptr), | 195 : browser_context_(nullptr), |
196 web_contents_(nullptr), | 196 web_contents_(nullptr), |
197 devtools_client_(HeadlessDevToolsClient::Create()), | 197 devtools_client_(HeadlessDevToolsClient::Create()), |
| 198 browser_devtools_client_(HeadlessDevToolsClient::Create()), |
198 render_process_exited_(false) {} | 199 render_process_exited_(false) {} |
199 | 200 |
200 HeadlessAsyncDevTooledBrowserTest::~HeadlessAsyncDevTooledBrowserTest() {} | 201 HeadlessAsyncDevTooledBrowserTest::~HeadlessAsyncDevTooledBrowserTest() {} |
201 | 202 |
202 void HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady() { | 203 void HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady() { |
203 EXPECT_TRUE(web_contents_->GetDevToolsTarget()); | 204 EXPECT_TRUE(web_contents_->GetDevToolsTarget()); |
204 web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); | 205 web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); |
205 RunDevTooledTest(); | 206 RunDevTooledTest(); |
206 } | 207 } |
207 | 208 |
(...skipping 12 matching lines...) Expand all Loading... |
220 HeadlessBrowserContext::Builder builder = | 221 HeadlessBrowserContext::Builder builder = |
221 browser()->CreateBrowserContextBuilder(); | 222 browser()->CreateBrowserContextBuilder(); |
222 builder.SetProtocolHandlers(GetProtocolHandlers()); | 223 builder.SetProtocolHandlers(GetProtocolHandlers()); |
223 if (GetTabSocketType() != HeadlessWebContents::Builder::TabSocketType::NONE) { | 224 if (GetTabSocketType() != HeadlessWebContents::Builder::TabSocketType::NONE) { |
224 builder.EnableUnsafeNetworkAccessWithMojoBindings(true); | 225 builder.EnableUnsafeNetworkAccessWithMojoBindings(true); |
225 builder.AddTabSocketMojoBindings(); | 226 builder.AddTabSocketMojoBindings(); |
226 } | 227 } |
227 browser_context_ = builder.Build(); | 228 browser_context_ = builder.Build(); |
228 | 229 |
229 browser()->SetDefaultBrowserContext(browser_context_); | 230 browser()->SetDefaultBrowserContext(browser_context_); |
| 231 browser()->GetDevToolsTarget()->AttachClient(browser_devtools_client_.get()); |
230 | 232 |
231 web_contents_ = browser_context_->CreateWebContentsBuilder() | 233 web_contents_ = browser_context_->CreateWebContentsBuilder() |
232 .SetTabSocketType(GetTabSocketType()) | 234 .SetTabSocketType(GetTabSocketType()) |
233 .Build(); | 235 .Build(); |
234 web_contents_->AddObserver(this); | 236 web_contents_->AddObserver(this); |
235 | 237 |
236 RunAsynchronousTest(); | 238 RunAsynchronousTest(); |
237 | 239 |
238 if (!render_process_exited_) | 240 if (!render_process_exited_) |
239 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); | 241 web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); |
240 web_contents_->RemoveObserver(this); | 242 web_contents_->RemoveObserver(this); |
241 web_contents_->Close(); | 243 web_contents_->Close(); |
242 web_contents_ = nullptr; | 244 web_contents_ = nullptr; |
| 245 browser()->GetDevToolsTarget()->DetachClient(browser_devtools_client_.get()); |
243 browser_context_->Close(); | 246 browser_context_->Close(); |
244 browser_context_ = nullptr; | 247 browser_context_ = nullptr; |
245 } | 248 } |
246 | 249 |
247 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { | 250 ProtocolHandlerMap HeadlessAsyncDevTooledBrowserTest::GetProtocolHandlers() { |
248 return ProtocolHandlerMap(); | 251 return ProtocolHandlerMap(); |
249 } | 252 } |
250 | 253 |
251 HeadlessWebContents::Builder::TabSocketType | 254 HeadlessWebContents::Builder::TabSocketType |
252 HeadlessAsyncDevTooledBrowserTest::GetTabSocketType() { | 255 HeadlessAsyncDevTooledBrowserTest::GetTabSocketType() { |
253 return HeadlessWebContents::Builder::TabSocketType::NONE; | 256 return HeadlessWebContents::Builder::TabSocketType::NONE; |
254 } | 257 } |
255 | 258 |
256 bool HeadlessAsyncDevTooledBrowserTest:: | 259 bool HeadlessAsyncDevTooledBrowserTest:: |
257 GetCreateTabSocketOnlyForIsolatedWorld() { | 260 GetCreateTabSocketOnlyForIsolatedWorld() { |
258 return false; | 261 return false; |
259 } | 262 } |
260 | 263 |
261 } // namespace headless | 264 } // namespace headless |
OLD | NEW |