Chromium Code Reviews| 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 "chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.h" | 5 #include "chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.h" |
| 6 | 6 |
| 7 #include <algorithm> | |
| 8 | |
| 7 #include "ash/wm/window_state.h" | 9 #include "ash/wm/window_state.h" |
| 8 #include "base/bind.h" | 10 #include "base/bind.h" |
| 9 #include "base/callback.h" | 11 #include "base/callback.h" |
| 10 #include "base/command_line.h" | 12 #include "base/command_line.h" |
| 11 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
| 12 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
| 13 #include "chrome/browser/chrome_notification_types.h" | 15 #include "chrome/browser/chrome_notification_types.h" |
| 14 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
| 15 #include "chrome/browser/ui/browser_commands.h" | 17 #include "chrome/browser/ui/browser_commands.h" |
| 16 #include "chrome/browser/ui/browser_iterator.h" | 18 #include "chrome/browser/ui/browser_iterator.h" |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 41 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" | 43 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" |
| 42 #endif | 44 #endif |
| 43 | 45 |
| 44 #if defined(USE_ASH) | 46 #if defined(USE_ASH) |
| 45 #include "ash/ash_switches.h" | 47 #include "ash/ash_switches.h" |
| 46 #include "ash/display/display_controller.h" | 48 #include "ash/display/display_controller.h" |
| 47 #include "ash/display/display_manager.h" | 49 #include "ash/display/display_manager.h" |
| 48 #include "ash/shell.h" | 50 #include "ash/shell.h" |
| 49 #include "ash/test/cursor_manager_test_api.h" | 51 #include "ash/test/cursor_manager_test_api.h" |
| 50 #include "ash/wm/coordinate_conversion.h" | 52 #include "ash/wm/coordinate_conversion.h" |
| 51 #include "ash/wm/window_state.h" | |
| 52 #include "ash/wm/window_util.h" | 53 #include "ash/wm/window_util.h" |
| 53 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" | 54 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" |
| 54 #include "ui/aura/client/screen_position_client.h" | 55 #include "ui/aura/client/screen_position_client.h" |
| 55 #include "ui/aura/test/event_generator.h" | 56 #include "ui/aura/test/event_generator.h" |
| 56 #include "ui/aura/window_event_dispatcher.h" | 57 #include "ui/aura/window_event_dispatcher.h" |
| 57 #endif | 58 #endif |
| 58 | 59 |
| 59 using content::WebContents; | 60 using content::WebContents; |
| 60 | 61 |
| 61 namespace test { | 62 namespace test { |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 327 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 328 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 328 | 329 |
| 329 Tab* tab1 = tab_strip->tab_at(1); | 330 Tab* tab1 = tab_strip->tab_at(1); |
| 330 gfx::Point tab_1_center(tab1->width() / 2, tab1->height() / 2); | 331 gfx::Point tab_1_center(tab1->width() / 2, tab1->height() / 2); |
| 331 | 332 |
| 332 ui::GestureEvent gesture_begin(ui::ET_GESTURE_BEGIN, tab_1_center.x(), | 333 ui::GestureEvent gesture_begin(ui::ET_GESTURE_BEGIN, tab_1_center.x(), |
| 333 tab_1_center.x(), 0, base::TimeDelta(), | 334 tab_1_center.x(), 0, base::TimeDelta(), |
| 334 ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0.0f, 0.0f), 0); | 335 ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0.0f, 0.0f), 0); |
| 335 tab_strip->MaybeStartDrag(tab1, gesture_begin, | 336 tab_strip->MaybeStartDrag(tab1, gesture_begin, |
| 336 tab_strip->GetSelectionModel()); | 337 tab_strip->GetSelectionModel()); |
| 337 //tab_strip->tab_at(1)->OnGestureEvent(&gesture_begin); | |
| 338 EXPECT_TRUE(TabDragController::IsActive()); | 338 EXPECT_TRUE(TabDragController::IsActive()); |
| 339 | 339 |
| 340 ui::GestureEvent gesture_end(ui::ET_GESTURE_END, tab_1_center.x(), | 340 ui::GestureEvent gesture_end(ui::ET_GESTURE_END, tab_1_center.x(), |
| 341 tab_1_center.x(), 0, base::TimeDelta(), | 341 tab_1_center.x(), 0, base::TimeDelta(), |
| 342 ui::GestureEventDetails(ui::ET_GESTURE_END, 0.0f, 0.0f), 0); | 342 ui::GestureEventDetails(ui::ET_GESTURE_END, 0.0f, 0.0f), 0); |
| 343 tab_strip->OnGestureEvent(&gesture_end); | 343 tab_strip->OnGestureEvent(&gesture_end); |
| 344 EXPECT_FALSE(TabDragController::IsActive()); | 344 EXPECT_FALSE(TabDragController::IsActive()); |
| 345 EXPECT_FALSE(tab_strip->IsDragSessionActive()); | 345 EXPECT_FALSE(tab_strip->IsDragSessionActive()); |
| 346 } | 346 } |
| 347 | 347 |
| 348 #endif | 348 #endif |
| 349 | 349 |
| 350 class DetachToBrowserTabDragControllerTest | 350 class DetachToBrowserTabDragControllerTest |
| 351 : public TabDragControllerTest, | 351 : public TabDragControllerTest, |
| 352 public ::testing::WithParamInterface<const char*> { | 352 public ::testing::WithParamInterface<const char*> { |
| 353 public: | 353 public: |
| 354 DetachToBrowserTabDragControllerTest() {} | 354 DetachToBrowserTabDragControllerTest() {} |
| 355 | 355 |
| 356 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 356 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 357 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 357 #if defined(OS_CHROMEOS) |
| 358 if (!docked_windows_enabled()) { | 358 if (!docked_windows_enabled()) { |
| 359 CommandLine::ForCurrentProcess()->AppendSwitch( | 359 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 360 ash::switches::kAshDisableDockedWindows); | 360 ash::switches::kAshDisableDockedWindows); |
| 361 } | 361 } |
| 362 #endif | 362 #endif |
| 363 } | 363 } |
| 364 | 364 |
| 365 virtual void SetUpOnMainThread() OVERRIDE { | 365 virtual void SetUpOnMainThread() OVERRIDE { |
| 366 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 366 #if defined(OS_CHROMEOS) |
| 367 event_generator_.reset(new aura::test::EventGenerator( | 367 event_generator_.reset(new aura::test::EventGenerator( |
| 368 ash::Shell::GetPrimaryRootWindow())); | 368 ash::Shell::GetPrimaryRootWindow())); |
| 369 #endif | 369 #endif |
| 370 } | 370 } |
| 371 | 371 |
| 372 virtual void TearDownOnMainThread() OVERRIDE { | |
| 373 #if defined(OS_CHROMEOS) | |
| 374 event_generator_.reset(); | |
| 375 #endif | |
| 376 } | |
|
pkotwicz
2014/05/28 15:00:33
Can this new code be removed?
jonross
2014/05/28 15:45:13
Done.
| |
| 377 | |
| 372 InputSource input_source() const { | 378 InputSource input_source() const { |
| 373 return strstr(GetParam(), "mouse") ? | 379 return strstr(GetParam(), "mouse") ? |
| 374 INPUT_SOURCE_MOUSE : INPUT_SOURCE_TOUCH; | 380 INPUT_SOURCE_MOUSE : INPUT_SOURCE_TOUCH; |
| 375 } | 381 } |
| 376 | 382 |
| 377 bool docked_windows_enabled() const { | 383 bool docked_windows_enabled() const { |
| 378 return (strstr(GetParam(), "docked") != NULL); | 384 return (strstr(GetParam(), "docked") != NULL); |
| 379 } | 385 } |
| 380 | 386 |
| 381 // Set root window from a point in screen coordinates | 387 // Set root window from a point in screen coordinates |
| 382 void SetEventGeneratorRootWindow(const gfx::Point& point) { | 388 void SetEventGeneratorRootWindow(const gfx::Point& point) { |
| 383 if (input_source() == INPUT_SOURCE_MOUSE) | 389 if (input_source() == INPUT_SOURCE_MOUSE) |
| 384 return; | 390 return; |
| 385 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 391 #if defined(OS_CHROMEOS) |
| 386 event_generator_.reset(new aura::test::EventGenerator( | 392 event_generator_.reset(new aura::test::EventGenerator( |
| 387 new ScreenEventGeneratorDelegate(ash::wm::GetRootWindowAt(point)))); | 393 new ScreenEventGeneratorDelegate(ash::wm::GetRootWindowAt(point)))); |
| 388 #endif | 394 #endif |
| 389 } | 395 } |
| 390 | 396 |
| 391 // The following methods update one of the mouse or touch input depending upon | 397 // The following methods update one of the mouse or touch input depending upon |
| 392 // the InputSource. | 398 // the InputSource. |
| 393 bool PressInput(const gfx::Point& location) { | 399 bool PressInput(const gfx::Point& location) { |
| 394 if (input_source() == INPUT_SOURCE_MOUSE) { | 400 if (input_source() == INPUT_SOURCE_MOUSE) { |
| 395 return ui_test_utils::SendMouseMoveSync(location) && | 401 return ui_test_utils::SendMouseMoveSync(location) && |
| 396 ui_test_utils::SendMouseEventsSync( | 402 ui_test_utils::SendMouseEventsSync( |
| 397 ui_controls::LEFT, ui_controls::DOWN); | 403 ui_controls::LEFT, ui_controls::DOWN); |
| 398 } | 404 } |
| 399 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 405 #if defined(OS_CHROMEOS) |
| 400 event_generator_->set_current_location(location); | 406 event_generator_->set_current_location(location); |
| 401 event_generator_->PressTouch(); | 407 event_generator_->PressTouch(); |
| 402 #else | 408 #else |
| 403 NOTREACHED(); | 409 NOTREACHED(); |
| 404 #endif | 410 #endif |
| 405 return true; | 411 return true; |
| 406 } | 412 } |
| 407 | 413 |
| 408 bool PressInput2() { | 414 bool PressInput2() { |
| 409 // Second touch input is only used for touch sequence tests. | 415 // Second touch input is only used for touch sequence tests. |
| 410 EXPECT_EQ(INPUT_SOURCE_TOUCH, input_source()); | 416 EXPECT_EQ(INPUT_SOURCE_TOUCH, input_source()); |
| 411 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 417 #if defined(OS_CHROMEOS) |
| 412 event_generator_->set_current_location( | 418 event_generator_->set_current_location( |
| 413 event_generator_->current_location()); | 419 event_generator_->current_location()); |
| 414 event_generator_->PressTouchId(1); | 420 event_generator_->PressTouchId(1); |
| 415 #else | 421 #else |
| 416 NOTREACHED(); | 422 NOTREACHED(); |
| 417 #endif | 423 #endif |
| 418 return true; | 424 return true; |
| 419 } | 425 } |
| 420 | 426 |
| 421 bool DragInputTo(const gfx::Point& location) { | 427 bool DragInputTo(const gfx::Point& location) { |
| 422 if (input_source() == INPUT_SOURCE_MOUSE) | 428 if (input_source() == INPUT_SOURCE_MOUSE) |
| 423 return ui_test_utils::SendMouseMoveSync(location); | 429 return ui_test_utils::SendMouseMoveSync(location); |
| 424 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 430 #if defined(OS_CHROMEOS) |
| 425 event_generator_->MoveTouch(location); | 431 event_generator_->MoveTouch(location); |
| 426 #else | 432 #else |
| 427 NOTREACHED(); | 433 NOTREACHED(); |
| 428 #endif | 434 #endif |
| 429 return true; | 435 return true; |
| 430 } | 436 } |
| 431 | 437 |
| 432 bool DragInputToAsync(const gfx::Point& location) { | 438 bool DragInputToAsync(const gfx::Point& location) { |
| 433 if (input_source() == INPUT_SOURCE_MOUSE) | 439 if (input_source() == INPUT_SOURCE_MOUSE) |
| 434 return ui_controls::SendMouseMove(location.x(), location.y()); | 440 return ui_controls::SendMouseMove(location.x(), location.y()); |
| 435 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 441 #if defined(OS_CHROMEOS) |
| 436 event_generator_->MoveTouch(location); | 442 event_generator_->MoveTouch(location); |
| 437 #else | 443 #else |
| 438 NOTREACHED(); | 444 NOTREACHED(); |
| 439 #endif | 445 #endif |
| 440 return true; | 446 return true; |
| 441 } | 447 } |
| 442 | 448 |
| 443 bool DragInputToNotifyWhenDone(int x, | 449 bool DragInputToNotifyWhenDone(int x, |
| 444 int y, | 450 int y, |
| 445 const base::Closure& task) { | 451 const base::Closure& task) { |
| 446 if (input_source() == INPUT_SOURCE_MOUSE) | 452 if (input_source() == INPUT_SOURCE_MOUSE) |
| 447 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); | 453 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); |
| 448 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 454 #if defined(OS_CHROMEOS) |
| 449 base::MessageLoop::current()->PostTask(FROM_HERE, task); | 455 base::MessageLoop::current()->PostTask(FROM_HERE, task); |
| 450 event_generator_->MoveTouch(gfx::Point(x, y)); | 456 event_generator_->MoveTouch(gfx::Point(x, y)); |
| 451 #else | 457 #else |
| 452 NOTREACHED(); | 458 NOTREACHED(); |
| 453 #endif | 459 #endif |
| 454 return true; | 460 return true; |
| 455 } | 461 } |
| 456 | 462 |
| 457 bool DragInputToDelayedNotifyWhenDone(int x, | 463 bool DragInputToDelayedNotifyWhenDone(int x, |
| 458 int y, | 464 int y, |
| 459 const base::Closure& task, | 465 const base::Closure& task, |
| 460 base::TimeDelta delay) { | 466 base::TimeDelta delay) { |
| 461 if (input_source() == INPUT_SOURCE_MOUSE) | 467 if (input_source() == INPUT_SOURCE_MOUSE) |
| 462 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); | 468 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); |
| 463 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 469 #if defined(OS_CHROMEOS) |
| 464 base::MessageLoop::current()->PostDelayedTask(FROM_HERE, task, delay); | 470 base::MessageLoop::current()->PostDelayedTask(FROM_HERE, task, delay); |
| 465 event_generator_->MoveTouch(gfx::Point(x, y)); | 471 event_generator_->MoveTouch(gfx::Point(x, y)); |
| 466 #else | 472 #else |
| 467 NOTREACHED(); | 473 NOTREACHED(); |
| 468 #endif | 474 #endif |
| 469 return true; | 475 return true; |
| 470 } | 476 } |
| 471 | 477 |
| 472 bool DragInput2ToNotifyWhenDone(int x, | 478 bool DragInput2ToNotifyWhenDone(int x, |
| 473 int y, | 479 int y, |
| 474 const base::Closure& task) { | 480 const base::Closure& task) { |
| 475 if (input_source() == INPUT_SOURCE_MOUSE) | 481 if (input_source() == INPUT_SOURCE_MOUSE) |
| 476 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); | 482 return ui_controls::SendMouseMoveNotifyWhenDone(x, y, task); |
| 477 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 483 #if defined(OS_CHROMEOS) |
| 478 base::MessageLoop::current()->PostTask(FROM_HERE, task); | 484 base::MessageLoop::current()->PostTask(FROM_HERE, task); |
| 479 event_generator_->MoveTouchId(gfx::Point(x, y), 1); | 485 event_generator_->MoveTouchId(gfx::Point(x, y), 1); |
| 480 #else | 486 #else |
| 481 NOTREACHED(); | 487 NOTREACHED(); |
| 482 #endif | 488 #endif |
| 483 return true; | 489 return true; |
| 484 } | 490 } |
| 485 | 491 |
| 486 bool ReleaseInput() { | 492 bool ReleaseInput() { |
| 487 if (input_source() == INPUT_SOURCE_MOUSE) { | 493 if (input_source() == INPUT_SOURCE_MOUSE) { |
| 488 return ui_test_utils::SendMouseEventsSync( | 494 return ui_test_utils::SendMouseEventsSync( |
| 489 ui_controls::LEFT, ui_controls::UP); | 495 ui_controls::LEFT, ui_controls::UP); |
| 490 } | 496 } |
| 491 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 497 #if defined(OS_CHROMEOS) |
| 492 event_generator_->ReleaseTouch(); | 498 event_generator_->ReleaseTouch(); |
| 493 #else | 499 #else |
| 494 NOTREACHED(); | 500 NOTREACHED(); |
| 495 #endif | 501 #endif |
| 496 return true; | 502 return true; |
| 497 } | 503 } |
| 498 | 504 |
| 499 bool ReleaseInput2() { | 505 bool ReleaseInput2() { |
| 500 if (input_source() == INPUT_SOURCE_MOUSE) { | 506 if (input_source() == INPUT_SOURCE_MOUSE) { |
| 501 return ui_test_utils::SendMouseEventsSync( | 507 return ui_test_utils::SendMouseEventsSync( |
| 502 ui_controls::LEFT, ui_controls::UP); | 508 ui_controls::LEFT, ui_controls::UP); |
| 503 } | 509 } |
| 504 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 510 #if defined(OS_CHROMEOS) |
| 505 event_generator_->ReleaseTouchId(1); | 511 event_generator_->ReleaseTouchId(1); |
| 506 #else | 512 #else |
| 507 NOTREACHED(); | 513 NOTREACHED(); |
| 508 #endif | 514 #endif |
| 509 return true; | 515 return true; |
| 510 } | 516 } |
| 511 | 517 |
| 512 bool ReleaseMouseAsync() { | 518 bool ReleaseMouseAsync() { |
| 513 return input_source() == INPUT_SOURCE_MOUSE && | 519 return input_source() == INPUT_SOURCE_MOUSE && |
| 514 ui_controls::SendMouseEvents(ui_controls::LEFT, ui_controls::UP); | 520 ui_controls::SendMouseEvents(ui_controls::LEFT, ui_controls::UP); |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 529 } | 535 } |
| 530 } | 536 } |
| 531 | 537 |
| 532 void AddBlankTabAndShow(Browser* browser) { | 538 void AddBlankTabAndShow(Browser* browser) { |
| 533 InProcessBrowserTest::AddBlankTabAndShow(browser); | 539 InProcessBrowserTest::AddBlankTabAndShow(browser); |
| 534 } | 540 } |
| 535 | 541 |
| 536 Browser* browser() const { return InProcessBrowserTest::browser(); } | 542 Browser* browser() const { return InProcessBrowserTest::browser(); } |
| 537 | 543 |
| 538 private: | 544 private: |
| 539 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 545 #if defined(OS_CHROMEOS) |
| 540 scoped_ptr<aura::test::EventGenerator> event_generator_; | 546 scoped_ptr<aura::test::EventGenerator> event_generator_; |
| 541 #endif | 547 #endif |
| 542 | 548 |
| 543 DISALLOW_COPY_AND_ASSIGN(DetachToBrowserTabDragControllerTest); | 549 DISALLOW_COPY_AND_ASSIGN(DetachToBrowserTabDragControllerTest); |
| 544 }; | 550 }; |
| 545 | 551 |
| 546 // Creates a browser with two tabs, drags the second to the first. | 552 // Creates a browser with two tabs, drags the second to the first. |
| 547 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, DragInSameWindow) { | 553 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, DragInSameWindow) { |
| 548 // TODO(sky): this won't work with touch as it requires a long press. | 554 // TODO(sky): this won't work with touch as it requires a long press. |
| 549 if (input_source() == INPUT_SOURCE_TOUCH) { | 555 if (input_source() == INPUT_SOURCE_TOUCH) { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 644 EXPECT_FALSE(tab_strip2->GetWidget()->HasCapture()); | 650 EXPECT_FALSE(tab_strip2->GetWidget()->HasCapture()); |
| 645 } | 651 } |
| 646 | 652 |
| 647 namespace { | 653 namespace { |
| 648 | 654 |
| 649 void DetachToOwnWindowStep2(DetachToBrowserTabDragControllerTest* test) { | 655 void DetachToOwnWindowStep2(DetachToBrowserTabDragControllerTest* test) { |
| 650 if (test->input_source() == INPUT_SOURCE_TOUCH) | 656 if (test->input_source() == INPUT_SOURCE_TOUCH) |
| 651 ASSERT_TRUE(test->ReleaseInput()); | 657 ASSERT_TRUE(test->ReleaseInput()); |
| 652 } | 658 } |
| 653 | 659 |
| 654 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 660 #if defined(OS_CHROMEOS) |
| 655 bool IsWindowPositionManaged(aura::Window* window) { | 661 bool IsWindowPositionManaged(aura::Window* window) { |
| 656 return ash::wm::GetWindowState(window)->window_position_managed(); | 662 return ash::wm::GetWindowState(window)->window_position_managed(); |
| 657 } | 663 } |
| 658 bool HasUserChangedWindowPositionOrSize(aura::Window* window) { | 664 bool HasUserChangedWindowPositionOrSize(aura::Window* window) { |
| 659 return ash::wm::GetWindowState(window)->bounds_changed_by_user(); | 665 return ash::wm::GetWindowState(window)->bounds_changed_by_user(); |
| 660 } | 666 } |
| 661 #else | 667 #else |
| 662 bool IsWindowPositionManaged(gfx::NativeWindow window) { | 668 bool IsWindowPositionManaged(gfx::NativeWindow window) { |
| 663 return true; | 669 return true; |
| 664 } | 670 } |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 911 Browser* new_browser = browser_list->get(1); | 917 Browser* new_browser = browser_list->get(1); |
| 912 // This ends up closing the source window. | 918 // This ends up closing the source window. |
| 913 delete tab; | 919 delete tab; |
| 914 // Cancel the drag. | 920 // Cancel the drag. |
| 915 ui_controls::SendKeyPress(new_browser->window()->GetNativeWindow(), | 921 ui_controls::SendKeyPress(new_browser->window()->GetNativeWindow(), |
| 916 ui::VKEY_ESCAPE, false, false, false, false); | 922 ui::VKEY_ESCAPE, false, false, false, false); |
| 917 } | 923 } |
| 918 | 924 |
| 919 } // namespace | 925 } // namespace |
| 920 | 926 |
| 921 #if defined(OS_CHROMEOS) | 927 #if defined(OS_CHROMEOS) || defined(OS_LINUX) |
| 922 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | 928 // TODO(sky,sad): Disabled as it fails due to resize locks with a real |
| 923 // compositor. crbug.com/331924 | 929 // compositor. crbug.com/331924 |
| 924 #define MAYBE_DeleteSourceDetached DISABLED_DeleteSourceDetached | 930 #define MAYBE_DeleteSourceDetached DISABLED_DeleteSourceDetached |
| 925 #else | 931 #else |
| 926 #define MAYBE_DeleteSourceDetached DeleteSourceDetached | 932 #define MAYBE_DeleteSourceDetached DeleteSourceDetached |
| 927 #endif | 933 #endif |
| 928 // Detaches a tab and while detached deletes a tab from the source so that the | 934 // Detaches a tab and while detached deletes a tab from the source so that the |
| 929 // source window closes then presses escape to cancel the drag. | 935 // source window closes then presses escape to cancel the drag. |
| 930 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, | 936 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, |
| 931 MAYBE_DeleteSourceDetached) { | 937 MAYBE_DeleteSourceDetached) { |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 961 void PressEscapeWhileDetachedStep2(const BrowserList* browser_list) { | 967 void PressEscapeWhileDetachedStep2(const BrowserList* browser_list) { |
| 962 ASSERT_EQ(2u, browser_list->size()); | 968 ASSERT_EQ(2u, browser_list->size()); |
| 963 Browser* new_browser = browser_list->get(1); | 969 Browser* new_browser = browser_list->get(1); |
| 964 ui_controls::SendKeyPress( | 970 ui_controls::SendKeyPress( |
| 965 new_browser->window()->GetNativeWindow(), ui::VKEY_ESCAPE, false, false, | 971 new_browser->window()->GetNativeWindow(), ui::VKEY_ESCAPE, false, false, |
| 966 false, false); | 972 false, false); |
| 967 } | 973 } |
| 968 | 974 |
| 969 } // namespace | 975 } // namespace |
| 970 | 976 |
| 971 #if defined(OS_CHROMEOS) | 977 #if defined(OS_CHROMEOS) || defined(OS_LINUX) |
| 972 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | 978 // TODO(sky,sad): Disabled as it fails due to resize locks with a real |
| 973 // compositor. crbug.com/331924 | 979 // compositor. crbug.com/331924 |
| 974 #define MAYBE_PressEscapeWhileDetached DISABLED_PressEscapeWhileDetached | 980 #define MAYBE_PressEscapeWhileDetached DISABLED_PressEscapeWhileDetached |
| 975 #else | 981 #else |
| 976 #define MAYBE_PressEscapeWhileDetached PressEscapeWhileDetached | 982 #define MAYBE_PressEscapeWhileDetached PressEscapeWhileDetached |
| 977 #endif | 983 #endif |
| 978 // This is disabled until NativeViewHost::Detach really detaches. | 984 // This is disabled until NativeViewHost::Detach really detaches. |
| 979 // Detaches a tab and while detached presses escape to revert the drag. | 985 // Detaches a tab and while detached presses escape to revert the drag. |
| 980 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, | 986 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, |
| 981 MAYBE_PressEscapeWhileDetached) { | 987 MAYBE_PressEscapeWhileDetached) { |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1334 const BrowserList* browser_list) { | 1340 const BrowserList* browser_list) { |
| 1335 ASSERT_TRUE(TabDragController::IsActive()); | 1341 ASSERT_TRUE(TabDragController::IsActive()); |
| 1336 ASSERT_EQ(2u, browser_list->size()); | 1342 ASSERT_EQ(2u, browser_list->size()); |
| 1337 | 1343 |
| 1338 // Add another tab. This should trigger exiting the nested loop. | 1344 // Add another tab. This should trigger exiting the nested loop. |
| 1339 test->AddBlankTabAndShow(browser_list->GetLastActive()); | 1345 test->AddBlankTabAndShow(browser_list->GetLastActive()); |
| 1340 } | 1346 } |
| 1341 | 1347 |
| 1342 } // namespace | 1348 } // namespace |
| 1343 | 1349 |
| 1344 #if defined(OS_CHROMEOS) | 1350 #if defined(OS_CHROMEOS) || defined(OS_LINUX) |
| 1345 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | 1351 // TODO(sky,sad): Disabled as it fails due to resize locks with a real |
| 1346 // compositor. crbug.com/331924 | 1352 // compositor. crbug.com/331924 |
| 1347 #define MAYBE_CancelOnNewTabWhenDragging DISABLED_CancelOnNewTabWhenDragging | 1353 #define MAYBE_CancelOnNewTabWhenDragging DISABLED_CancelOnNewTabWhenDragging |
| 1348 #else | 1354 #else |
| 1349 #define MAYBE_CancelOnNewTabWhenDragging CancelOnNewTabWhenDragging | 1355 #define MAYBE_CancelOnNewTabWhenDragging CancelOnNewTabWhenDragging |
| 1350 #endif | 1356 #endif |
| 1351 // Adds another tab, detaches into separate window, adds another tab and | 1357 // Adds another tab, detaches into separate window, adds another tab and |
| 1352 // verifies the run loop ends. | 1358 // verifies the run loop ends. |
| 1353 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, | 1359 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, |
| 1354 MAYBE_CancelOnNewTabWhenDragging) { | 1360 MAYBE_CancelOnNewTabWhenDragging) { |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 1369 // Should be two windows and not dragging. | 1375 // Should be two windows and not dragging. |
| 1370 ASSERT_FALSE(TabDragController::IsActive()); | 1376 ASSERT_FALSE(TabDragController::IsActive()); |
| 1371 ASSERT_EQ(2u, native_browser_list->size()); | 1377 ASSERT_EQ(2u, native_browser_list->size()); |
| 1372 for (chrome::BrowserIterator it; !it.done(); it.Next()) { | 1378 for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
| 1373 EXPECT_FALSE(GetIsDragged(*it)); | 1379 EXPECT_FALSE(GetIsDragged(*it)); |
| 1374 // Should not be maximized | 1380 // Should not be maximized |
| 1375 EXPECT_FALSE(it->window()->IsMaximized()); | 1381 EXPECT_FALSE(it->window()->IsMaximized()); |
| 1376 } | 1382 } |
| 1377 } | 1383 } |
| 1378 | 1384 |
| 1379 #if defined(USE_ASH) && !defined(OS_WIN) // TODO(win_ash) | 1385 #if defined(OS_CHROMEOS) |
| 1380 | 1386 // TODO(sky,sad): A number of tests below are disabled as they fail due to |
| 1387 // resize locks with a real compositor. crbug.com/331924 | |
| 1381 namespace { | 1388 namespace { |
| 1382 | 1389 |
| 1383 void DragInMaximizedWindowStep2(DetachToBrowserTabDragControllerTest* test, | 1390 void DragInMaximizedWindowStep2(DetachToBrowserTabDragControllerTest* test, |
| 1384 Browser* browser, | 1391 Browser* browser, |
| 1385 TabStrip* tab_strip, | 1392 TabStrip* tab_strip, |
| 1386 const BrowserList* browser_list) { | 1393 const BrowserList* browser_list) { |
| 1387 // There should be another browser. | 1394 // There should be another browser. |
| 1388 ASSERT_EQ(2u, browser_list->size()); | 1395 ASSERT_EQ(2u, browser_list->size()); |
| 1389 Browser* new_browser = browser_list->get(1); | 1396 Browser* new_browser = browser_list->get(1); |
| 1390 EXPECT_NE(browser, new_browser); | 1397 EXPECT_NE(browser, new_browser); |
| 1391 ASSERT_TRUE(new_browser->window()->IsActive()); | 1398 ASSERT_TRUE(new_browser->window()->IsActive()); |
| 1392 TabStrip* tab_strip2 = GetTabStripForBrowser(new_browser); | 1399 TabStrip* tab_strip2 = GetTabStripForBrowser(new_browser); |
| 1393 | 1400 |
| 1394 ASSERT_TRUE(tab_strip2->IsDragSessionActive()); | 1401 ASSERT_TRUE(tab_strip2->IsDragSessionActive()); |
| 1395 ASSERT_FALSE(tab_strip->IsDragSessionActive()); | 1402 ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| 1396 | 1403 |
| 1397 // Both windows should be visible. | 1404 // Both windows should be visible. |
| 1398 EXPECT_TRUE(tab_strip->GetWidget()->IsVisible()); | 1405 EXPECT_TRUE(tab_strip->GetWidget()->IsVisible()); |
| 1399 EXPECT_TRUE(tab_strip2->GetWidget()->IsVisible()); | 1406 EXPECT_TRUE(tab_strip2->GetWidget()->IsVisible()); |
| 1400 | 1407 |
| 1401 // Stops dragging. | 1408 // Stops dragging. |
| 1402 ASSERT_TRUE(test->ReleaseInput()); | 1409 ASSERT_TRUE(test->ReleaseInput()); |
| 1403 } | 1410 } |
| 1404 | 1411 |
| 1405 } // namespace | 1412 } // namespace |
| 1406 | 1413 |
| 1407 #if defined(OS_CHROMEOS) | |
| 1408 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1409 // compositor. crbug.com/331924 | |
| 1410 #define MAYBE_DragInMaximizedWindow DISABLED_DragInMaximizedWindow | |
| 1411 #else | |
| 1412 #define MAYBE_DragInMaximizedWindow DragInMaximizedWindow | |
| 1413 #endif | |
| 1414 // Creates a browser with two tabs, maximizes it, drags the tab out. | 1414 // Creates a browser with two tabs, maximizes it, drags the tab out. |
| 1415 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, | 1415 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest, |
| 1416 MAYBE_DragInMaximizedWindow) { | 1416 DISABLED_DragInMaximizedWindow) { |
| 1417 AddTabAndResetBrowser(browser()); | 1417 AddTabAndResetBrowser(browser()); |
| 1418 browser()->window()->Maximize(); | 1418 browser()->window()->Maximize(); |
| 1419 | 1419 |
| 1420 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1420 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1421 | 1421 |
| 1422 // Move to the first tab and drag it enough so that it detaches. | 1422 // Move to the first tab and drag it enough so that it detaches. |
| 1423 gfx::Point tab_0_center( | 1423 gfx::Point tab_0_center( |
| 1424 GetCenterInScreenCoordinates(tab_strip->tab_at(0))); | 1424 GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| 1425 ASSERT_TRUE(PressInput(tab_0_center)); | 1425 ASSERT_TRUE(PressInput(tab_0_center)); |
| 1426 ASSERT_TRUE(DragInputToNotifyWhenDone( | 1426 ASSERT_TRUE(DragInputToNotifyWhenDone( |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1490 void DragSingleTabToSeparateWindowInSecondDisplayStep2( | 1490 void DragSingleTabToSeparateWindowInSecondDisplayStep2( |
| 1491 DetachToBrowserTabDragControllerTest* test, | 1491 DetachToBrowserTabDragControllerTest* test, |
| 1492 const gfx::Point& target_point) { | 1492 const gfx::Point& target_point) { |
| 1493 ASSERT_TRUE(test->DragInputToNotifyWhenDone( | 1493 ASSERT_TRUE(test->DragInputToNotifyWhenDone( |
| 1494 target_point.x(), target_point.y(), | 1494 target_point.x(), target_point.y(), |
| 1495 base::Bind(&DragSingleTabToSeparateWindowInSecondDisplayStep3, test))); | 1495 base::Bind(&DragSingleTabToSeparateWindowInSecondDisplayStep3, test))); |
| 1496 } | 1496 } |
| 1497 | 1497 |
| 1498 } // namespace | 1498 } // namespace |
| 1499 | 1499 |
| 1500 #if defined(OS_CHROMEOS) | |
| 1501 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1502 // compositor. crbug.com/331924 | |
| 1503 #define MAYBE_DragSingleTabToSeparateWindowInSecondDisplay \ | |
| 1504 DISABLED_DragSingleTabToSeparateWindowInSecondDisplay | |
| 1505 #else | |
| 1506 #define MAYBE_DragSingleTabToSeparateWindowInSecondDisplay \ | |
| 1507 DragSingleTabToSeparateWindowInSecondDisplay | |
| 1508 #endif | |
| 1509 // Drags from browser to a second display and releases input. | 1500 // Drags from browser to a second display and releases input. |
| 1510 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, | 1501 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 1511 MAYBE_DragSingleTabToSeparateWindowInSecondDisplay) { | 1502 DISABLED_DragSingleTabToSeparateWindowInSecondDisplay) { |
| 1512 // Add another tab. | 1503 // Add another tab. |
| 1513 AddTabAndResetBrowser(browser()); | 1504 AddTabAndResetBrowser(browser()); |
| 1514 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1505 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1515 | 1506 |
| 1516 // Move to the first tab and drag it enough so that it detaches. | 1507 // Move to the first tab and drag it enough so that it detaches. |
| 1517 // Then drag it to the final destination on the second screen. | 1508 // Then drag it to the final destination on the second screen. |
| 1518 gfx::Point tab_0_center(GetCenterInScreenCoordinates(tab_strip->tab_at(0))); | 1509 gfx::Point tab_0_center(GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| 1519 ASSERT_TRUE(PressInput(tab_0_center)); | 1510 ASSERT_TRUE(PressInput(tab_0_center)); |
| 1520 ASSERT_TRUE(DragInputToNotifyWhenDone( | 1511 ASSERT_TRUE(DragInputToNotifyWhenDone( |
| 1521 tab_0_center.x(), tab_0_center.y() + GetDetachY(tab_strip), | 1512 tab_0_center.x(), tab_0_center.y() + GetDetachY(tab_strip), |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1572 GetCenterInScreenCoordinates(target_tab_strip->tab_at(0))); | 1563 GetCenterInScreenCoordinates(target_tab_strip->tab_at(0))); |
| 1573 | 1564 |
| 1574 // Move it close to the beginning of the target tabstrip. | 1565 // Move it close to the beginning of the target tabstrip. |
| 1575 target_point.set_x( | 1566 target_point.set_x( |
| 1576 target_point.x() - target_tab_strip->tab_at(0)->width() / 2 + 10); | 1567 target_point.x() - target_tab_strip->tab_at(0)->width() / 2 + 10); |
| 1577 ASSERT_TRUE(test->DragInputToAsync(target_point)); | 1568 ASSERT_TRUE(test->DragInputToAsync(target_point)); |
| 1578 } | 1569 } |
| 1579 | 1570 |
| 1580 } // namespace | 1571 } // namespace |
| 1581 | 1572 |
| 1582 #if defined(OS_CHROMEOS) | |
| 1583 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1584 // compositor. crbug.com/331924 | |
| 1585 #define MAYBE_DragTabToWindowInSeparateDisplay \ | |
| 1586 DISABLED_DragTabToWindowInSeparateDisplay | |
| 1587 #else | |
| 1588 #define MAYBE_DragTabToWindowInSeparateDisplay DragTabToWindowInSeparateDisplay | |
| 1589 #endif | |
| 1590 // Drags from browser to another browser on a second display and releases input. | 1573 // Drags from browser to another browser on a second display and releases input. |
| 1591 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, | 1574 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 1592 MAYBE_DragTabToWindowInSeparateDisplay) { | 1575 DISABLED_DragTabToWindowInSeparateDisplay) { |
| 1593 // Add another tab. | 1576 // Add another tab. |
| 1594 AddTabAndResetBrowser(browser()); | 1577 AddTabAndResetBrowser(browser()); |
| 1595 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1578 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1596 | 1579 |
| 1597 // Create another browser. | 1580 // Create another browser. |
| 1598 Browser* browser2 = CreateBrowser(browser()->profile()); | 1581 Browser* browser2 = CreateBrowser(browser()->profile()); |
| 1599 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); | 1582 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); |
| 1600 ResetIDs(browser2->tab_strip_model(), 100); | 1583 ResetIDs(browser2->tab_strip_model(), 100); |
| 1601 | 1584 |
| 1602 // Move the second browser to the second display. | 1585 // Move the second browser to the second display. |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 1630 ASSERT_FALSE(tab_strip->IsDragSessionActive()); | 1613 ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| 1631 ASSERT_FALSE(TabDragController::IsActive()); | 1614 ASSERT_FALSE(TabDragController::IsActive()); |
| 1632 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); | 1615 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); |
| 1633 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); | 1616 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); |
| 1634 | 1617 |
| 1635 // Both windows should not be maximized | 1618 // Both windows should not be maximized |
| 1636 EXPECT_FALSE(browser()->window()->IsMaximized()); | 1619 EXPECT_FALSE(browser()->window()->IsMaximized()); |
| 1637 EXPECT_FALSE(browser2->window()->IsMaximized()); | 1620 EXPECT_FALSE(browser2->window()->IsMaximized()); |
| 1638 } | 1621 } |
| 1639 | 1622 |
| 1640 #if defined(OS_CHROMEOS) | |
| 1641 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1642 // compositor. crbug.com/331924 | |
| 1643 #define MAYBE_DragTabToWindowOnSecondDisplay \ | |
| 1644 DISABLED_DragTabToWindowOnSecondDisplay | |
| 1645 #else | |
| 1646 #define MAYBE_DragTabToWindowOnSecondDisplay DragTabToWindowOnSecondDisplay | |
| 1647 #endif | |
| 1648 // Drags from browser to another browser on a second display and releases input. | 1623 // Drags from browser to another browser on a second display and releases input. |
| 1649 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, | 1624 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 1650 MAYBE_DragTabToWindowOnSecondDisplay) { | 1625 DISABLED_DragTabToWindowOnSecondDisplay) { |
| 1651 // Add another tab. | 1626 // Add another tab. |
| 1652 AddTabAndResetBrowser(browser()); | 1627 AddTabAndResetBrowser(browser()); |
| 1653 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1628 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1654 | 1629 |
| 1655 // Create another browser. | 1630 // Create another browser. |
| 1656 Browser* browser2 = CreateBrowser(browser()->profile()); | 1631 Browser* browser2 = CreateBrowser(browser()->profile()); |
| 1657 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); | 1632 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); |
| 1658 ResetIDs(browser2->tab_strip_model(), 100); | 1633 ResetIDs(browser2->tab_strip_model(), 100); |
| 1659 | 1634 |
| 1660 // Move both browsers to the second display. | 1635 // Move both browsers to the second display. |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1700 ASSERT_FALSE(tab_strip->IsDragSessionActive()); | 1675 ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| 1701 ASSERT_FALSE(TabDragController::IsActive()); | 1676 ASSERT_FALSE(TabDragController::IsActive()); |
| 1702 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); | 1677 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); |
| 1703 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); | 1678 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); |
| 1704 | 1679 |
| 1705 // Both windows should not be maximized | 1680 // Both windows should not be maximized |
| 1706 EXPECT_FALSE(browser()->window()->IsMaximized()); | 1681 EXPECT_FALSE(browser()->window()->IsMaximized()); |
| 1707 EXPECT_FALSE(browser2->window()->IsMaximized()); | 1682 EXPECT_FALSE(browser2->window()->IsMaximized()); |
| 1708 } | 1683 } |
| 1709 | 1684 |
| 1710 #if defined(OS_CHROMEOS) | |
| 1711 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1712 // compositor. crbug.com/331924 | |
| 1713 #define MAYBE_DragMaxTabToNonMaxWindowInSeparateDisplay \ | |
| 1714 DISABLED_DragMaxTabToNonMaxWindowInSeparateDisplay | |
| 1715 #else | |
| 1716 #define MAYBE_DragMaxTabToNonMaxWindowInSeparateDisplay \ | |
| 1717 DragMaxTabToNonMaxWindowInSeparateDisplay | |
| 1718 #endif | |
| 1719 // Drags from a maximized browser to another non-maximized browser on a second | 1685 // Drags from a maximized browser to another non-maximized browser on a second |
| 1720 // display and releases input. | 1686 // display and releases input. |
| 1721 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, | 1687 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 1722 MAYBE_DragMaxTabToNonMaxWindowInSeparateDisplay) { | 1688 DISABLED_DragMaxTabToNonMaxWindowInSeparateDisplay) { |
| 1723 // Add another tab. | 1689 // Add another tab. |
| 1724 AddTabAndResetBrowser(browser()); | 1690 AddTabAndResetBrowser(browser()); |
| 1725 browser()->window()->Maximize(); | 1691 browser()->window()->Maximize(); |
| 1726 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1692 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1727 | 1693 |
| 1728 // Create another browser on the second display. | 1694 // Create another browser on the second display. |
| 1729 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); | 1695 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); |
| 1730 ASSERT_EQ(2u, roots.size()); | 1696 ASSERT_EQ(2u, roots.size()); |
| 1731 aura::Window* first_root = roots[0]; | 1697 aura::Window* first_root = roots[0]; |
| 1732 aura::Window* second_root = roots[1]; | 1698 aura::Window* second_root = roots[1]; |
| 1733 gfx::Rect work_area = gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow( | 1699 gfx::Rect work_area = gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow( |
| 1734 second_root).work_area(); | 1700 second_root).work_area(); |
| 1735 work_area.Inset(20,20,20,60); | 1701 work_area.Inset(20, 20, 20, 60); |
| 1736 Browser::CreateParams params(browser()->profile(), | 1702 Browser::CreateParams params(browser()->profile(), |
| 1737 browser()->host_desktop_type()); | 1703 browser()->host_desktop_type()); |
| 1738 params.initial_show_state = ui::SHOW_STATE_NORMAL; | 1704 params.initial_show_state = ui::SHOW_STATE_NORMAL; |
| 1739 params.initial_bounds = work_area; | 1705 params.initial_bounds = work_area; |
| 1740 Browser* browser2 = new Browser(params); | 1706 Browser* browser2 = new Browser(params); |
| 1741 AddBlankTabAndShow(browser2); | 1707 AddBlankTabAndShow(browser2); |
| 1742 | 1708 |
| 1743 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); | 1709 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); |
| 1744 ResetIDs(browser2->tab_strip_model(), 100); | 1710 ResetIDs(browser2->tab_strip_model(), 100); |
| 1745 | 1711 |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 1776 ASSERT_FALSE(tab_strip->IsDragSessionActive()); | 1742 ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| 1777 ASSERT_FALSE(TabDragController::IsActive()); | 1743 ASSERT_FALSE(TabDragController::IsActive()); |
| 1778 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); | 1744 EXPECT_EQ("0 100", IDString(browser2->tab_strip_model())); |
| 1779 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); | 1745 EXPECT_EQ("1", IDString(browser()->tab_strip_model())); |
| 1780 | 1746 |
| 1781 // Source browser should still be maximized, target should not | 1747 // Source browser should still be maximized, target should not |
| 1782 EXPECT_TRUE(browser()->window()->IsMaximized()); | 1748 EXPECT_TRUE(browser()->window()->IsMaximized()); |
| 1783 EXPECT_FALSE(browser2->window()->IsMaximized()); | 1749 EXPECT_FALSE(browser2->window()->IsMaximized()); |
| 1784 } | 1750 } |
| 1785 | 1751 |
| 1786 // Immersive fullscreen is Ash only. However, Windows Ash does not support | |
| 1787 // multiple displays. | |
| 1788 #if defined(OS_CHROMEOS) | |
| 1789 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1790 // compositor. crbug.com/331924 | |
| 1791 #define MAYBE_DragTabToImmersiveBrowserOnSeparateDisplay \ | |
| 1792 DISABLED_DragTabToImmersiveBrowserOnSeparateDisplay | |
| 1793 // Drags from a restored browser to an immersive fullscreen browser on a | 1752 // Drags from a restored browser to an immersive fullscreen browser on a |
| 1794 // second display and releases input. | 1753 // second display and releases input. |
| 1795 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, | 1754 IN_PROC_BROWSER_TEST_P(DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 1796 MAYBE_DragTabToImmersiveBrowserOnSeparateDisplay) { | 1755 DISABLED_DragTabToImmersiveBrowserOnSeparateDisplay) { |
| 1797 // Add another tab. | 1756 // Add another tab. |
| 1798 AddTabAndResetBrowser(browser()); | 1757 AddTabAndResetBrowser(browser()); |
| 1799 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1758 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1800 | 1759 |
| 1801 // Create another browser. | 1760 // Create another browser. |
| 1802 Browser* browser2 = CreateBrowser(browser()->profile()); | 1761 Browser* browser2 = CreateBrowser(browser()->profile()); |
| 1803 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); | 1762 TabStrip* tab_strip2 = GetTabStripForBrowser(browser2); |
| 1804 ResetIDs(browser2->tab_strip_model(), 100); | 1763 ResetIDs(browser2->tab_strip_model(), 100); |
| 1805 | 1764 |
| 1806 // Move the second browser to the second display. | 1765 // Move the second browser to the second display. |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1859 // The first browser window should not be in immersive fullscreen. | 1818 // The first browser window should not be in immersive fullscreen. |
| 1860 // browser2 should still be in immersive fullscreen, but the top chrome should | 1819 // browser2 should still be in immersive fullscreen, but the top chrome should |
| 1861 // no longer be revealed. | 1820 // no longer be revealed. |
| 1862 BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser()); | 1821 BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser()); |
| 1863 EXPECT_FALSE(browser_view->immersive_mode_controller()->IsEnabled()); | 1822 EXPECT_FALSE(browser_view->immersive_mode_controller()->IsEnabled()); |
| 1864 | 1823 |
| 1865 EXPECT_TRUE(immersive_controller2->IsEnabled()); | 1824 EXPECT_TRUE(immersive_controller2->IsEnabled()); |
| 1866 EXPECT_FALSE(immersive_controller2->IsRevealed()); | 1825 EXPECT_FALSE(immersive_controller2->IsRevealed()); |
| 1867 EXPECT_TRUE(tab_strip2->IsImmersiveStyle()); | 1826 EXPECT_TRUE(tab_strip2->IsImmersiveStyle()); |
| 1868 } | 1827 } |
| 1869 #endif // OS_CHROMEOS | |
| 1870 | 1828 |
| 1871 // Subclass of DetachToBrowserTabDragControllerTest that | 1829 // Subclass of DetachToBrowserTabDragControllerTest that |
| 1872 // creates multiple displays with different device scale factors. | 1830 // creates multiple displays with different device scale factors. |
| 1873 class DifferentDeviceScaleFactorDisplayTabDragControllerTest | 1831 class DifferentDeviceScaleFactorDisplayTabDragControllerTest |
| 1874 : public DetachToBrowserTabDragControllerTest { | 1832 : public DetachToBrowserTabDragControllerTest { |
| 1875 public: | 1833 public: |
| 1876 DifferentDeviceScaleFactorDisplayTabDragControllerTest() {} | 1834 DifferentDeviceScaleFactorDisplayTabDragControllerTest() {} |
| 1877 virtual ~DifferentDeviceScaleFactorDisplayTabDragControllerTest() {} | 1835 virtual ~DifferentDeviceScaleFactorDisplayTabDragControllerTest() {} |
| 1878 | 1836 |
| 1879 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 1837 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1939 } else { | 1897 } else { |
| 1940 // Finishes a serise of CursorDeviceScaleFactorStep calls and ends drag. | 1898 // Finishes a serise of CursorDeviceScaleFactorStep calls and ends drag. |
| 1941 EXPECT_EQ(1.0f, test->GetCursorDeviceScaleFactor()); | 1899 EXPECT_EQ(1.0f, test->GetCursorDeviceScaleFactor()); |
| 1942 ASSERT_TRUE(ui_test_utils::SendMouseEventsSync( | 1900 ASSERT_TRUE(ui_test_utils::SendMouseEventsSync( |
| 1943 ui_controls::LEFT, ui_controls::UP)); | 1901 ui_controls::LEFT, ui_controls::UP)); |
| 1944 } | 1902 } |
| 1945 } | 1903 } |
| 1946 | 1904 |
| 1947 } // namespace | 1905 } // namespace |
| 1948 | 1906 |
| 1949 #if defined(OS_CHROMEOS) | |
| 1950 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 1951 // compositor. crbug.com/331924 | |
| 1952 #define MAYBE_CursorDeviceScaleFactor DISABLED_CursorDeviceScaleFactor | |
| 1953 #else | |
| 1954 #define MAYBE_CursorDeviceScaleFactor CursorDeviceScaleFactor | |
| 1955 #endif | |
| 1956 // Verifies cursor's device scale factor is updated when a tab is moved across | 1907 // Verifies cursor's device scale factor is updated when a tab is moved across |
| 1957 // displays with different device scale factors (http://crbug.com/154183). | 1908 // displays with different device scale factors (http://crbug.com/154183). |
| 1958 IN_PROC_BROWSER_TEST_P(DifferentDeviceScaleFactorDisplayTabDragControllerTest, | 1909 IN_PROC_BROWSER_TEST_P(DifferentDeviceScaleFactorDisplayTabDragControllerTest, |
| 1959 MAYBE_CursorDeviceScaleFactor) { | 1910 DISABLED_CursorDeviceScaleFactor) { |
| 1960 // Add another tab. | 1911 // Add another tab. |
| 1961 AddTabAndResetBrowser(browser()); | 1912 AddTabAndResetBrowser(browser()); |
| 1962 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 1913 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 1963 | 1914 |
| 1964 // Move the second browser to the second display. | 1915 // Move the second browser to the second display. |
| 1965 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); | 1916 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); |
| 1966 ASSERT_EQ(2u, roots.size()); | 1917 ASSERT_EQ(2u, roots.size()); |
| 1967 | 1918 |
| 1968 // Move to the first tab and drag it enough so that it detaches. | 1919 // Move to the first tab and drag it enough so that it detaches. |
| 1969 gfx::Point tab_0_center(GetCenterInScreenCoordinates(tab_strip->tab_at(0))); | 1920 gfx::Point tab_0_center(GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2040 new_browser->window()->GetNativeWindow()->GetRootWindow()); | 1991 new_browser->window()->GetNativeWindow()->GetRootWindow()); |
| 2041 | 1992 |
| 2042 ASSERT_TRUE(test->DragTabAndExecuteTaskWhenDone( | 1993 ASSERT_TRUE(test->DragTabAndExecuteTaskWhenDone( |
| 2043 final_destination, | 1994 final_destination, |
| 2044 base::Bind(&CancelDragTabToWindowInSeparateDisplayStep3, | 1995 base::Bind(&CancelDragTabToWindowInSeparateDisplayStep3, |
| 2045 tab_strip, browser_list))); | 1996 tab_strip, browser_list))); |
| 2046 } | 1997 } |
| 2047 | 1998 |
| 2048 } // namespace | 1999 } // namespace |
| 2049 | 2000 |
| 2050 #if defined(OS_CHROMEOS) || defined(OS_LINUX) | |
| 2051 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 2052 // compositor. crbug.com/331924 | |
| 2053 #define MAYBE_CancelDragTabToWindowIn2ndDisplay \ | |
| 2054 DISABLED_CancelDragTabToWindowIn2ndDisplay | |
| 2055 #else | |
| 2056 #define MAYBE_CancelDragTabToWindowIn2ndDisplay \ | |
| 2057 CancelDragTabToWindowIn2ndDisplay | |
| 2058 #endif | |
| 2059 // Drags from browser to a second display and releases input. | 2001 // Drags from browser to a second display and releases input. |
| 2060 IN_PROC_BROWSER_TEST_F( | 2002 IN_PROC_BROWSER_TEST_F( |
| 2061 DetachToBrowserInSeparateDisplayAndCancelTabDragControllerTest, | 2003 DetachToBrowserInSeparateDisplayAndCancelTabDragControllerTest, |
| 2062 MAYBE_CancelDragTabToWindowIn2ndDisplay) { | 2004 DISABLED_CancelDragTabToWindowIn2ndDisplay) { |
| 2063 // Add another tab. | 2005 // Add another tab. |
| 2064 AddTabAndResetBrowser(browser()); | 2006 AddTabAndResetBrowser(browser()); |
| 2065 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 2007 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 2066 | 2008 |
| 2067 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); | 2009 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| 2068 | 2010 |
| 2069 // Move the second browser to the second display. | 2011 // Move the second browser to the second display. |
| 2070 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); | 2012 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); |
| 2071 ASSERT_EQ(2u, roots.size()); | 2013 ASSERT_EQ(2u, roots.size()); |
| 2072 gfx::Point final_destination = | 2014 gfx::Point final_destination = |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 2087 ASSERT_EQ(1u, native_browser_list->size()); | 2029 ASSERT_EQ(1u, native_browser_list->size()); |
| 2088 ASSERT_FALSE(tab_strip->IsDragSessionActive()); | 2030 ASSERT_FALSE(tab_strip->IsDragSessionActive()); |
| 2089 ASSERT_FALSE(TabDragController::IsActive()); | 2031 ASSERT_FALSE(TabDragController::IsActive()); |
| 2090 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); | 2032 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| 2091 | 2033 |
| 2092 // Release the mouse | 2034 // Release the mouse |
| 2093 ASSERT_TRUE(ui_test_utils::SendMouseEventsSync( | 2035 ASSERT_TRUE(ui_test_utils::SendMouseEventsSync( |
| 2094 ui_controls::LEFT, ui_controls::UP)); | 2036 ui_controls::LEFT, ui_controls::UP)); |
| 2095 } | 2037 } |
| 2096 | 2038 |
| 2097 #if defined(OS_CHROMEOS) || defined(OS_LINUX) | |
| 2098 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 2099 // compositor. crbug.com/331924 | |
| 2100 #define MAYBE_CancelDragTabToWindowIn1stDisplay \ | |
| 2101 DISABLED_CancelDragTabToWindowIn1stDisplay | |
| 2102 #else | |
| 2103 #define MAYBE_CancelDragTabToWindowIn1stDisplay \ | |
| 2104 CancelDragTabToWindowIn1stDisplay | |
| 2105 #endif | |
| 2106 // Drags from browser from a second display to primary and releases input. | 2039 // Drags from browser from a second display to primary and releases input. |
| 2107 IN_PROC_BROWSER_TEST_F( | 2040 IN_PROC_BROWSER_TEST_F( |
| 2108 DetachToBrowserInSeparateDisplayAndCancelTabDragControllerTest, | 2041 DetachToBrowserInSeparateDisplayAndCancelTabDragControllerTest, |
| 2109 MAYBE_CancelDragTabToWindowIn1stDisplay) { | 2042 DISABLED_CancelDragTabToWindowIn1stDisplay) { |
| 2110 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); | 2043 aura::Window::Windows roots = ash::Shell::GetAllRootWindows(); |
| 2111 ASSERT_EQ(2u, roots.size()); | 2044 ASSERT_EQ(2u, roots.size()); |
| 2112 | 2045 |
| 2113 // Add another tab. | 2046 // Add another tab. |
| 2114 AddTabAndResetBrowser(browser()); | 2047 AddTabAndResetBrowser(browser()); |
| 2115 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 2048 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 2116 | 2049 |
| 2117 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); | 2050 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| 2118 EXPECT_EQ(roots[0], browser()->window()->GetNativeWindow()->GetRootWindow()); | 2051 EXPECT_EQ(roots[0], browser()->window()->GetNativeWindow()->GetRootWindow()); |
| 2119 | 2052 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2155 ASSERT_TRUE(TabDragController::IsActive()); | 2088 ASSERT_TRUE(TabDragController::IsActive()); |
| 2156 ASSERT_EQ(2u, test->native_browser_list->size()); | 2089 ASSERT_EQ(2u, test->native_browser_list->size()); |
| 2157 Browser* new_browser = test->native_browser_list->get(1); | 2090 Browser* new_browser = test->native_browser_list->get(1); |
| 2158 ASSERT_TRUE(new_browser->window()->IsActive()); | 2091 ASSERT_TRUE(new_browser->window()->IsActive()); |
| 2159 | 2092 |
| 2160 ASSERT_TRUE(test->PressInput2()); | 2093 ASSERT_TRUE(test->PressInput2()); |
| 2161 } | 2094 } |
| 2162 | 2095 |
| 2163 } // namespace | 2096 } // namespace |
| 2164 | 2097 |
| 2165 #if defined(OS_CHROMEOS) | |
| 2166 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 2167 // compositor. crbug.com/331924 | |
| 2168 #define MAYBE_PressSecondFingerWhileDetached DISABLED_PressSecondFingerWhileDeta ched | |
| 2169 #else | |
| 2170 #define MAYBE_PressSecondFingerWhileDetached PressSecondFingerWhileDetached | |
| 2171 #endif | |
| 2172 // Detaches a tab and while detached presses a second finger. | 2098 // Detaches a tab and while detached presses a second finger. |
| 2173 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTestTouch, | 2099 IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTestTouch, |
| 2174 MAYBE_PressSecondFingerWhileDetached) { | 2100 DISABLED_PressSecondFingerWhileDetached) { |
| 2175 gfx::Rect bounds(browser()->window()->GetBounds()); | 2101 gfx::Rect bounds(browser()->window()->GetBounds()); |
| 2176 // Add another tab. | 2102 // Add another tab. |
| 2177 AddTabAndResetBrowser(browser()); | 2103 AddTabAndResetBrowser(browser()); |
| 2178 TabStrip* tab_strip = GetTabStripForBrowser(browser()); | 2104 TabStrip* tab_strip = GetTabStripForBrowser(browser()); |
| 2179 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); | 2105 EXPECT_EQ("0 1", IDString(browser()->tab_strip_model())); |
| 2180 | 2106 |
| 2181 // Move to the first tab and drag it enough so that it detaches. | 2107 // Move to the first tab and drag it enough so that it detaches. |
| 2182 gfx::Point tab_0_center( | 2108 gfx::Point tab_0_center( |
| 2183 GetCenterInScreenCoordinates(tab_strip->tab_at(0))); | 2109 GetCenterInScreenCoordinates(tab_strip->tab_at(0))); |
| 2184 ASSERT_TRUE(PressInput(tab_0_center)); | 2110 ASSERT_TRUE(PressInput(tab_0_center)); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2227 ASSERT_TRUE(test->DragInputToNotifyWhenDone( | 2153 ASSERT_TRUE(test->DragInputToNotifyWhenDone( |
| 2228 target_point.x(), target_point.y(), | 2154 target_point.x(), target_point.y(), |
| 2229 base::Bind(&DetachToDockedWindowNextStep, | 2155 base::Bind(&DetachToDockedWindowNextStep, |
| 2230 test, | 2156 test, |
| 2231 gfx::Point(target_point.x(), 1 + target_point.y()), | 2157 gfx::Point(target_point.x(), 1 + target_point.y()), |
| 2232 iteration - 1))); | 2158 iteration - 1))); |
| 2233 } | 2159 } |
| 2234 | 2160 |
| 2235 } // namespace | 2161 } // namespace |
| 2236 | 2162 |
| 2237 #if defined(OS_CHROMEOS) | |
| 2238 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | |
| 2239 // compositor. crbug.com/331924 | |
| 2240 #define MAYBE_DetachToDockedWindowFromMaximizedWindow \ | |
| 2241 DISABLED_DetachToDockedWindowFromMaximizedWindow | |
| 2242 #else | |
| 2243 #define MAYBE_DetachToDockedWindowFromMaximizedWindow \ | |
| 2244 DetachToDockedWindowFromMaximizedWindow | |
| 2245 #endif | |
| 2246 // Drags from browser to separate window, docks that window and releases mouse. | 2163 // Drags from browser to separate window, docks that window and releases mouse. |
| 2247 IN_PROC_BROWSER_TEST_P(DetachToDockedTabDragControllerTest, | 2164 IN_PROC_BROWSER_TEST_P(DetachToDockedTabDragControllerTest, |
| 2248 MAYBE_DetachToDockedWindowFromMaximizedWindow) { | 2165 DISABLED_DetachToDockedWindowFromMaximizedWindow) { |
| 2249 // TODO(sky,sad): Disabled as it fails due to resize locks with a real | 2166 // TODO(sky,sad): Disabled as it fails due to resize locks with a real |
| 2250 // compositor. crbug.com/331924 | 2167 // compositor. crbug.com/331924 |
| 2251 if (docked_windows_enabled()) { | 2168 if (docked_windows_enabled()) { |
| 2252 VLOG(1) << "Test is DISABLED for docked windows."; | 2169 VLOG(1) << "Test is DISABLED for docked windows."; |
| 2253 return; | 2170 return; |
| 2254 } | 2171 } |
| 2255 | 2172 |
| 2256 // Maximize the initial browser window. | 2173 // Maximize the initial browser window. |
| 2257 browser()->window()->Maximize(); | 2174 browser()->window()->Maximize(); |
| 2258 ASSERT_TRUE(browser()->window()->IsMaximized()); | 2175 ASSERT_TRUE(browser()->window()->IsMaximized()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2308 // The new window should be docked and not snapped if docking is allowed. | 2225 // The new window should be docked and not snapped if docking is allowed. |
| 2309 EXPECT_TRUE(window_state->IsDocked()); | 2226 EXPECT_TRUE(window_state->IsDocked()); |
| 2310 EXPECT_FALSE(window_state->IsSnapped()); | 2227 EXPECT_FALSE(window_state->IsSnapped()); |
| 2311 } else { | 2228 } else { |
| 2312 // The new window should be snapped and not docked if docking is disabled. | 2229 // The new window should be snapped and not docked if docking is disabled. |
| 2313 EXPECT_FALSE(window_state->IsDocked()); | 2230 EXPECT_FALSE(window_state->IsDocked()); |
| 2314 EXPECT_TRUE(window_state->IsSnapped()); | 2231 EXPECT_TRUE(window_state->IsSnapped()); |
| 2315 } | 2232 } |
| 2316 } | 2233 } |
| 2317 | 2234 |
| 2318 | 2235 #endif // OS_CHROMEOS |
| 2319 #endif | |
| 2320 | 2236 |
| 2321 #if defined(USE_ASH) && defined(OS_CHROMEOS) // TODO(win_ash,linux_ash) | 2237 #if defined(USE_ASH) && defined(OS_CHROMEOS) // TODO(win_ash,linux_ash) |
| 2322 INSTANTIATE_TEST_CASE_P(TabDragging, | 2238 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2323 DetachToBrowserInSeparateDisplayTabDragControllerTest, | 2239 DetachToBrowserInSeparateDisplayTabDragControllerTest, |
| 2324 ::testing::Values("mouse", "touch")); | 2240 ::testing::Values("mouse", "touch")); |
| 2325 INSTANTIATE_TEST_CASE_P(TabDragging, | 2241 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2326 DifferentDeviceScaleFactorDisplayTabDragControllerTest, | 2242 DifferentDeviceScaleFactorDisplayTabDragControllerTest, |
| 2327 ::testing::Values("mouse")); | 2243 ::testing::Values("mouse")); |
| 2328 INSTANTIATE_TEST_CASE_P(TabDragging, | 2244 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2329 DetachToBrowserTabDragControllerTest, | 2245 DetachToBrowserTabDragControllerTest, |
| 2330 ::testing::Values("mouse", "touch")); | 2246 ::testing::Values("mouse", "touch")); |
| 2331 INSTANTIATE_TEST_CASE_P(TabDragging, | 2247 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2332 DetachToDockedTabDragControllerTest, | 2248 DetachToDockedTabDragControllerTest, |
| 2333 ::testing::Values("mouse", "mouse docked")); | 2249 ::testing::Values("mouse", "mouse docked")); |
| 2334 INSTANTIATE_TEST_CASE_P(TabDragging, | 2250 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2335 DetachToBrowserTabDragControllerTestTouch, | 2251 DetachToBrowserTabDragControllerTestTouch, |
| 2336 ::testing::Values("touch", "touch docked")); | 2252 ::testing::Values("touch", "touch docked")); |
| 2337 #elif defined(USE_ASH) && !defined(OS_LINUX) // TODO(linux_ash) | 2253 #elif defined(USE_ASH) |
| 2338 INSTANTIATE_TEST_CASE_P(TabDragging, | 2254 INSTANTIATE_TEST_CASE_P(TabDragging, |
| 2339 DetachToBrowserTabDragControllerTest, | 2255 DetachToBrowserTabDragControllerTest, |
| 2340 ::testing::Values("mouse")); | 2256 ::testing::Values("mouse")); |
| 2341 #endif | 2257 #endif |
| OLD | NEW |