| 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* devtools_on_self = DevToolsWindow::OpenDevToolsWindow( |
| 357 devtools, true, DevToolsToggleAction::Inspect()); | 360 devtools, DevToolsToggleAction::Inspect()); |
| 361 devtools_on_self->SetIsDockedAndShowImmediatelyForTest(false); |
| 358 host_count++; | 362 host_count++; |
| 359 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 363 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
| 360 EXPECT_EQ(host_count, RenderProcessHostCount()); | 364 EXPECT_EQ(host_count, RenderProcessHostCount()); |
| 361 | 365 |
| 362 // close docked devtools | 366 // close docked devtools |
| 363 content::WindowedNotificationObserver close_observer( | 367 content::WindowedNotificationObserver close_observer( |
| 364 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 368 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 365 content::Source<WebContents>(WebContents::FromRenderViewHost(devtools))); | 369 content::Source<WebContents>(WebContents::FromRenderViewHost(devtools))); |
| 366 | 370 |
| 367 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); | 371 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 384 GURL page1("data:text/html,hello world1"); | 388 GURL page1("data:text/html,hello world1"); |
| 385 ui_test_utils::WindowedTabAddedNotificationObserver observer1( | 389 ui_test_utils::WindowedTabAddedNotificationObserver observer1( |
| 386 content::NotificationService::AllSources()); | 390 content::NotificationService::AllSources()); |
| 387 chrome::ShowSingletonTab(browser(), page1); | 391 chrome::ShowSingletonTab(browser(), page1); |
| 388 observer1.Wait(); | 392 observer1.Wait(); |
| 389 tab_count++; | 393 tab_count++; |
| 390 host_count++; | 394 host_count++; |
| 391 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 395 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
| 392 EXPECT_EQ(host_count, RenderProcessHostCount()); | 396 EXPECT_EQ(host_count, RenderProcessHostCount()); |
| 393 | 397 |
| 394 // DevTools start in docked mode (no new tab), in a separate process. | 398 // Start DevTools in docked mode (no new tab). |
| 395 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Inspect()); | 399 // It should be in a separate process. |
| 400 DevToolsWindow* docked_devtools = DevToolsWindow::ToggleDevToolsWindow( |
| 401 browser(), DevToolsToggleAction::Inspect()); |
| 402 docked_devtools->SetIsDockedAndShowImmediatelyForTest(true); |
| 396 host_count++; | 403 host_count++; |
| 397 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 404 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
| 398 EXPECT_EQ(host_count, RenderProcessHostCount()); | 405 EXPECT_EQ(host_count, RenderProcessHostCount()); |
| 399 | 406 |
| 400 RenderViewHost* devtools = FindFirstDevToolsHost(); | 407 RenderViewHost* devtools = FindFirstDevToolsHost(); |
| 401 DCHECK(devtools); | 408 DCHECK(devtools); |
| 402 | 409 |
| 403 // DevTools start in a separate process. | 410 // DevTools start in a separate process. |
| 404 DevToolsWindow::ToggleDevToolsWindow( | 411 DevToolsWindow* devtools_on_self = DevToolsWindow::OpenDevToolsWindow( |
| 405 devtools, true, DevToolsToggleAction::Inspect()); | 412 devtools, DevToolsToggleAction::Inspect()); |
| 413 devtools_on_self->SetIsDockedAndShowImmediatelyForTest(false); |
| 406 host_count++; | 414 host_count++; |
| 407 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); | 415 EXPECT_EQ(tab_count, browser()->tab_strip_model()->count()); |
| 408 EXPECT_EQ(host_count, RenderProcessHostCount()); | 416 EXPECT_EQ(host_count, RenderProcessHostCount()); |
| 409 | 417 |
| 410 // close docked devtools | 418 // close docked devtools |
| 411 content::WindowedNotificationObserver close_observer( | 419 content::WindowedNotificationObserver close_observer( |
| 412 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 420 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
| 413 content::Source<content::WebContents>( | 421 content::Source<content::WebContents>( |
| 414 WebContents::FromRenderViewHost(devtools))); | 422 WebContents::FromRenderViewHost(devtools))); |
| 415 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); | 423 chrome::ToggleDevToolsWindow(browser(), DevToolsToggleAction::Toggle()); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 chrome::NOTIFICATION_BROWSER_CLOSED, | 479 chrome::NOTIFICATION_BROWSER_CLOSED, |
| 472 content::NotificationService::AllSources()); | 480 content::NotificationService::AllSources()); |
| 473 | 481 |
| 474 // Kill the renderer process, simulating a crash. This should the ProcessDied | 482 // Kill the renderer process, simulating a crash. This should the ProcessDied |
| 475 // method to be called. Alternatively, RenderProcessHost::OnChannelError can | 483 // method to be called. Alternatively, RenderProcessHost::OnChannelError can |
| 476 // be called to directly force a call to ProcessDied. | 484 // be called to directly force a call to ProcessDied. |
| 477 base::KillProcess(wc1->GetRenderProcessHost()->GetHandle(), -1, true); | 485 base::KillProcess(wc1->GetRenderProcessHost()->GetHandle(), -1, true); |
| 478 | 486 |
| 479 observer.Wait(); | 487 observer.Wait(); |
| 480 } | 488 } |
| OLD | NEW |