| 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 |