OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "chrome/browser/chrome_notification_types.h" | 6 #include "chrome/browser/chrome_notification_types.h" |
7 #include "chrome/browser/devtools/devtools_window.h" | 7 #include "chrome/browser/devtools/devtools_window.h" |
8 #include "chrome/browser/search/search.h" | 8 #include "chrome/browser/search/search.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_commands.h" | 10 #include "chrome/browser/ui/browser_commands.h" |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 GURL page1("data:text/html,hello world1"); | 336 GURL page1("data:text/html,hello world1"); |
337 ui_test_utils::WindowedTabAddedNotificationObserver observer1( | 337 ui_test_utils::WindowedTabAddedNotificationObserver observer1( |
338 content::NotificationService::AllSources()); | 338 content::NotificationService::AllSources()); |
339 chrome::ShowSingletonTab(browser(), page1); | 339 chrome::ShowSingletonTab(browser(), page1); |
340 observer1.Wait(); | 340 observer1.Wait(); |
341 tab_count++; | 341 tab_count++; |
342 host_count++; | 342 host_count++; |
343 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 343 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
344 EXPECT_EQ(host_count, RenderProcessHostCount()); | 344 EXPECT_EQ(host_count, RenderProcessHostCount()); |
345 | 345 |
346 // DevTools start in docked mode (no new tab), in a separate process. | 346 // Start DevTools in docked mode (no new tab). |
347 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Inspect()); | 347 // It should be in a separate process. |
| 348 DevToolsWindow* docked_devtools = DevToolsWindow::ToggleDevToolsWindow( |
| 349 browser(), DevToolsToggleAction::Inspect()); |
| 350 docked_devtools->SetIsDockedAndShowImmediatelyForTest(true); |
348 host_count++; | 351 host_count++; |
349 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 352 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
350 EXPECT_EQ(host_count, RenderProcessHostCount()); | 353 EXPECT_EQ(host_count, RenderProcessHostCount()); |
351 | 354 |
352 RenderViewHost* devtools = FindFirstDevToolsHost(); | 355 RenderViewHost* devtools = FindFirstDevToolsHost(); |
353 DCHECK(devtools); | 356 DCHECK(devtools); |
354 | 357 |
355 // DevTools start in a separate process. | 358 // DevTools start in a separate process. |
356 DevToolsWindow::ToggleDevToolsWindow( | 359 DevToolsWindow::OpenDevToolsWindow(devtools, DevToolsToggleAction::Inspect()); |
357 devtools, true, DevToolsToggleAction::Inspect()); | |
358 host_count++; | 360 host_count++; |
359 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 361 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
360 EXPECT_EQ(host_count, RenderProcessHostCount()); | 362 EXPECT_EQ(host_count, RenderProcessHostCount()); |
361 | 363 |
362 // close docked devtools | 364 // close docked devtools |
363 content::WindowedNotificationObserver close_observer( | 365 content::WindowedNotificationObserver close_observer( |
364 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 366 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
365 content::Source<WebContents>(WebContents::FromRenderViewHost(devtools))); | 367 content::Source<WebContents>(WebContents::FromRenderViewHost(devtools))); |
366 | 368 |
367 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); | 369 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); |
(...skipping 16 matching lines...) Expand all Loading... |
384 GURL page1("data:text/html,hello world1"); | 386 GURL page1("data:text/html,hello world1"); |
385 ui_test_utils::WindowedTabAddedNotificationObserver observer1( | 387 ui_test_utils::WindowedTabAddedNotificationObserver observer1( |
386 content::NotificationService::AllSources()); | 388 content::NotificationService::AllSources()); |
387 chrome::ShowSingletonTab(browser(), page1); | 389 chrome::ShowSingletonTab(browser(), page1); |
388 observer1.Wait(); | 390 observer1.Wait(); |
389 tab_count++; | 391 tab_count++; |
390 host_count++; | 392 host_count++; |
391 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 393 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
392 EXPECT_EQ(host_count, RenderProcessHostCount()); | 394 EXPECT_EQ(host_count, RenderProcessHostCount()); |
393 | 395 |
394 // DevTools start in docked mode (no new tab), in a separate process. | 396 // Start DevTools in docked mode (no new tab). |
395 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Inspect()); | 397 // It should be in a separate process. |
| 398 DevToolsWindow* docked_devtools = DevToolsWindow::ToggleDevToolsWindow( |
| 399 browser(), DevToolsToggleAction::Inspect()); |
| 400 docked_devtools->SetIsDockedAndShowImmediatelyForTest(true); |
396 host_count++; | 401 host_count++; |
397 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 402 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
398 EXPECT_EQ(host_count, RenderProcessHostCount()); | 403 EXPECT_EQ(host_count, RenderProcessHostCount()); |
399 | 404 |
400 RenderViewHost* devtools = FindFirstDevToolsHost(); | 405 RenderViewHost* devtools = FindFirstDevToolsHost(); |
401 DCHECK(devtools); | 406 DCHECK(devtools); |
402 | 407 |
403 // DevTools start in a separate process. | 408 // DevTools start in a separate process. |
404 DevToolsWindow::ToggleDevToolsWindow( | 409 DevToolsWindow::OpenDevToolsWindow(devtools, DevToolsToggleAction::Inspect()); |
405 devtools, true, DevToolsToggleAction::Inspect()); | |
406 host_count++; | 410 host_count++; |
407 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 411 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
408 EXPECT_EQ(host_count, RenderProcessHostCount()); | 412 EXPECT_EQ(host_count, RenderProcessHostCount()); |
409 | 413 |
410 // close docked devtools | 414 // close docked devtools |
411 content::WindowedNotificationObserver close_observer( | 415 content::WindowedNotificationObserver close_observer( |
412 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 416 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
413 content::Source<content::WebContents>( | 417 content::Source<content::WebContents>( |
414 WebContents::FromRenderViewHost(devtools))); | 418 WebContents::FromRenderViewHost(devtools))); |
415 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); | 419 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 chrome::NOTIFICATION_BROWSER_CLOSED, | 475 chrome::NOTIFICATION_BROWSER_CLOSED, |
472 content::NotificationService::AllSources()); | 476 content::NotificationService::AllSources()); |
473 | 477 |
474 // Kill the renderer process, simulating a crash. This should the ProcessDied | 478 // Kill the renderer process, simulating a crash. This should the ProcessDied |
475 // method to be called. Alternatively, RenderProcessHost::OnChannelError can | 479 // method to be called. Alternatively, RenderProcessHost::OnChannelError can |
476 // be called to directly force a call to ProcessDied. | 480 // be called to directly force a call to ProcessDied. |
477 base::KillProcess(wc1->GetRenderProcessHost()->GetHandle(), -1, true); | 481 base::KillProcess(wc1->GetRenderProcessHost()->GetHandle(), -1, true); |
478 | 482 |
479 observer.Wait(); | 483 observer.Wait(); |
480 } | 484 } |
OLD | NEW |