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 |