Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Side by Side Diff: services/ui/ws/window_tree_unittest.cc

Issue 2830703003: [views-mus] Support custom cursors. (Closed)
Patch Set: fix cast_shell_linux Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « services/ui/ws/window_tree_client_unittest.cc ('k') | ui/aura/mus/in_flight_change.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "services/ui/ws/window_tree.h" 5 #include "services/ui/ws/window_tree.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 13 matching lines...) Expand all
24 #include "services/ui/ws/server_window.h" 24 #include "services/ui/ws/server_window.h"
25 #include "services/ui/ws/test_change_tracker.h" 25 #include "services/ui/ws/test_change_tracker.h"
26 #include "services/ui/ws/test_server_window_delegate.h" 26 #include "services/ui/ws/test_server_window_delegate.h"
27 #include "services/ui/ws/test_utils.h" 27 #include "services/ui/ws/test_utils.h"
28 #include "services/ui/ws/window_manager_access_policy.h" 28 #include "services/ui/ws/window_manager_access_policy.h"
29 #include "services/ui/ws/window_manager_display_root.h" 29 #include "services/ui/ws/window_manager_display_root.h"
30 #include "services/ui/ws/window_server.h" 30 #include "services/ui/ws/window_server.h"
31 #include "services/ui/ws/window_server_delegate.h" 31 #include "services/ui/ws/window_server_delegate.h"
32 #include "services/ui/ws/window_tree_binding.h" 32 #include "services/ui/ws/window_tree_binding.h"
33 #include "testing/gtest/include/gtest/gtest.h" 33 #include "testing/gtest/include/gtest/gtest.h"
34 #include "ui/base/cursor/cursor.h"
34 #include "ui/events/event.h" 35 #include "ui/events/event.h"
35 #include "ui/events/event_utils.h" 36 #include "ui/events/event_utils.h"
36 #include "ui/gfx/geometry/rect.h" 37 #include "ui/gfx/geometry/rect.h"
37 38
38 namespace ui { 39 namespace ui {
39 namespace ws { 40 namespace ws {
40 namespace test { 41 namespace test {
41 namespace { 42 namespace {
42 43
43 const UserId kTestUserId1 = "2"; 44 const UserId kTestUserId1 = "2";
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 123
123 } // namespace 124 } // namespace
124 125
125 // ----------------------------------------------------------------------------- 126 // -----------------------------------------------------------------------------
126 127
127 class WindowTreeTest : public testing::Test { 128 class WindowTreeTest : public testing::Test {
128 public: 129 public:
129 WindowTreeTest() {} 130 WindowTreeTest() {}
130 ~WindowTreeTest() override {} 131 ~WindowTreeTest() override {}
131 132
132 ui::mojom::CursorType cursor_id() { 133 ui::CursorType cursor_type() {
133 return window_event_targeting_helper_.cursor(); 134 return window_event_targeting_helper_.cursor_type();
134 } 135 }
135 Display* display() { return window_event_targeting_helper_.display(); } 136 Display* display() { return window_event_targeting_helper_.display(); }
136 TestWindowTreeClient* last_window_tree_client() { 137 TestWindowTreeClient* last_window_tree_client() {
137 return window_event_targeting_helper_.last_window_tree_client(); 138 return window_event_targeting_helper_.last_window_tree_client();
138 } 139 }
139 TestWindowTreeClient* wm_client() { 140 TestWindowTreeClient* wm_client() {
140 return window_event_targeting_helper_.wm_client(); 141 return window_event_targeting_helper_.wm_client();
141 } 142 }
142 WindowServer* window_server() { 143 WindowServer* window_server() {
143 return window_event_targeting_helper_.window_server(); 144 return window_event_targeting_helper_.window_server();
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 TestWindowTreeClient* embed_client = nullptr; 469 TestWindowTreeClient* embed_client = nullptr;
469 WindowTree* tree = nullptr; 470 WindowTree* tree = nullptr;
470 ServerWindow* window = nullptr; 471 ServerWindow* window = nullptr;
471 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window)); 472 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window));
472 473
473 // Like in BasicInputEventTarget, we send a pointer down event to be 474 // Like in BasicInputEventTarget, we send a pointer down event to be
474 // dispatched. This is only to place the mouse cursor over that window though. 475 // dispatched. This is only to place the mouse cursor over that window though.
475 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 476 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
476 477
477 // Set the cursor on the parent as that is where the cursor is picked up from. 478 // Set the cursor on the parent as that is where the cursor is picked up from.
478 window->parent()->SetPredefinedCursor(mojom::CursorType::kIBeam); 479 window->parent()->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
479 480
480 // Because the cursor is over the window when SetCursor was called, we should 481 // Because the cursor is over the window when SetCursor was called, we should
481 // have immediately changed the cursor. 482 // have immediately changed the cursor.
482 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 483 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
483 } 484 }
484 485
485 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) { 486 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) {
486 TestWindowTreeClient* embed_client = nullptr; 487 TestWindowTreeClient* embed_client = nullptr;
487 WindowTree* tree = nullptr; 488 WindowTree* tree = nullptr;
488 ServerWindow* window = nullptr; 489 ServerWindow* window = nullptr;
489 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window)); 490 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window));
490 491
491 // Let's create a pointer event outside the window and then move the pointer 492 // Let's create a pointer event outside the window and then move the pointer
492 // inside. 493 // inside.
493 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 494 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
494 // Set the cursor on the parent as that is where the cursor is picked up from. 495 // Set the cursor on the parent as that is where the cursor is picked up from.
495 window->parent()->SetPredefinedCursor(mojom::CursorType::kIBeam); 496 window->parent()->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
496 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 497 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
497 498
498 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 499 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
499 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 500 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
500 } 501 }
501 502
502 TEST_F(WindowTreeTest, TouchesDontChangeCursor) { 503 TEST_F(WindowTreeTest, TouchesDontChangeCursor) {
503 TestWindowTreeClient* embed_client = nullptr; 504 TestWindowTreeClient* embed_client = nullptr;
504 WindowTree* tree = nullptr; 505 WindowTree* tree = nullptr;
505 ServerWindow* window = nullptr; 506 ServerWindow* window = nullptr;
506 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window)); 507 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window));
507 508
508 // Let's create a pointer event outside the window and then move the pointer 509 // Let's create a pointer event outside the window and then move the pointer
509 // inside. 510 // inside.
510 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 511 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
511 window->SetPredefinedCursor(mojom::CursorType::kIBeam); 512 window->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
512 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 513 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
513 514
514 // With a touch event, we shouldn't update the cursor. 515 // With a touch event, we shouldn't update the cursor.
515 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22)); 516 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22));
516 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 517 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
517 } 518 }
518 519
519 TEST_F(WindowTreeTest, DragOutsideWindow) { 520 TEST_F(WindowTreeTest, DragOutsideWindow) {
520 TestWindowTreeClient* embed_client = nullptr; 521 TestWindowTreeClient* embed_client = nullptr;
521 WindowTree* tree = nullptr; 522 WindowTree* tree = nullptr;
522 ServerWindow* window = nullptr; 523 ServerWindow* window = nullptr;
523 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window)); 524 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window));
524 525
525 // Start with the cursor outside the window. Setting the cursor shouldn't 526 // Start with the cursor outside the window. Setting the cursor shouldn't
526 // change the cursor. 527 // change the cursor.
527 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 528 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
528 // Set the cursor on the parent as that is where the cursor is picked up from. 529 // Set the cursor on the parent as that is where the cursor is picked up from.
529 window->parent()->SetPredefinedCursor(mojom::CursorType::kIBeam); 530 window->parent()->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
530 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 531 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
531 532
532 // Move the pointer to the inside of the window 533 // Move the pointer to the inside of the window
533 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 534 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
534 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 535 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
535 536
536 // Start the drag. 537 // Start the drag.
537 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22)); 538 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22));
538 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 539 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
539 540
540 // Move the cursor (mouse is still down) outside the window. 541 // Move the cursor (mouse is still down) outside the window.
541 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 542 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
542 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 543 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
543 544
544 // Release the cursor. We should now adapt the cursor of the window 545 // Release the cursor. We should now adapt the cursor of the window
545 // underneath the pointer. 546 // underneath the pointer.
546 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5)); 547 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5));
547 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 548 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
548 } 549 }
549 550
550 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) { 551 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) {
551 TestWindowTreeClient* embed_client = nullptr; 552 TestWindowTreeClient* embed_client = nullptr;
552 WindowTree* tree = nullptr; 553 WindowTree* tree = nullptr;
553 ServerWindow* window = nullptr; 554 ServerWindow* window = nullptr;
554 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window)); 555 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(&embed_client, &tree, &window));
555 556
556 // Put the cursor just outside the bounds of the window. 557 // Put the cursor just outside the bounds of the window.
557 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41)); 558 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41));
558 // Sets the cursor on the root as that is where the cursor is picked up from. 559 // Sets the cursor on the root as that is where the cursor is picked up from.
559 window->parent()->SetPredefinedCursor(mojom::CursorType::kIBeam); 560 window->parent()->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
560 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 561 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
561 562
562 // Expand the bounds of the window so they now include where the cursor now 563 // Expand the bounds of the window so they now include where the cursor now
563 // is. 564 // is.
564 window->SetBounds(gfx::Rect(20, 20, 25, 25)); 565 window->SetBounds(gfx::Rect(20, 20, 25, 25));
565 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 566 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
566 567
567 // Contract the bounds again. 568 // Contract the bounds again.
568 window->SetBounds(gfx::Rect(20, 20, 20, 20)); 569 window->SetBounds(gfx::Rect(20, 20, 20, 20));
569 EXPECT_EQ(mojom::CursorType::kPointer, cursor_id()); 570 EXPECT_EQ(ui::CursorType::kPointer, cursor_type());
570 } 571 }
571 572
572 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) { 573 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) {
573 // Setup two trees parented to the root with the same bounds. 574 // Setup two trees parented to the root with the same bounds.
574 ServerWindow* embed_window1 = 575 ServerWindow* embed_window1 =
575 window_event_targeting_helper_.CreatePrimaryTree( 576 window_event_targeting_helper_.CreatePrimaryTree(
576 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 50, 50)); 577 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 50, 50));
577 ServerWindow* embed_window2 = 578 ServerWindow* embed_window2 =
578 window_event_targeting_helper_.CreatePrimaryTree( 579 window_event_targeting_helper_.CreatePrimaryTree(
579 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 50, 50)); 580 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 50, 50));
580 581
581 ASSERT_EQ(embed_window1->parent(), embed_window2->parent()); 582 ASSERT_EQ(embed_window1->parent(), embed_window2->parent());
582 embed_window1->set_event_targeting_policy( 583 embed_window1->set_event_targeting_policy(
583 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); 584 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS);
584 embed_window2->set_event_targeting_policy( 585 embed_window2->set_event_targeting_policy(
585 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); 586 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS);
586 embed_window1->SetPredefinedCursor(mojom::CursorType::kIBeam); 587 embed_window1->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
587 embed_window2->SetPredefinedCursor(mojom::CursorType::kCross); 588 embed_window2->SetCursor(ui::CursorData(ui::CursorType::kCross));
588 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 589 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
589 // Cursor should match that of top-most window, which is |embed_window2|. 590 // Cursor should match that of top-most window, which is |embed_window2|.
590 EXPECT_EQ(mojom::CursorType::kCross, cursor_id()); 591 EXPECT_EQ(ui::CursorType::kCross, cursor_type());
591 // Move |embed_window1| on top, cursor should now match it. 592 // Move |embed_window1| on top, cursor should now match it.
592 embed_window1->parent()->StackChildAtTop(embed_window1); 593 embed_window1->parent()->StackChildAtTop(embed_window1);
593 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 594 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
594 } 595 }
595 596
596 // Assertions around moving cursor between trees with roots. 597 // Assertions around moving cursor between trees with roots.
597 TEST_F(WindowTreeTest, CursorMultipleTrees) { 598 TEST_F(WindowTreeTest, CursorMultipleTrees) {
598 // Setup two trees parented to the root with the same bounds. 599 // Setup two trees parented to the root with the same bounds.
599 ServerWindow* embed_window1 = 600 ServerWindow* embed_window1 =
600 window_event_targeting_helper_.CreatePrimaryTree( 601 window_event_targeting_helper_.CreatePrimaryTree(
601 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 10, 10)); 602 gfx::Rect(0, 0, 200, 200), gfx::Rect(0, 0, 10, 10));
602 ServerWindow* embed_window2 = 603 ServerWindow* embed_window2 =
603 window_event_targeting_helper_.CreatePrimaryTree( 604 window_event_targeting_helper_.CreatePrimaryTree(
604 gfx::Rect(0, 0, 200, 200), gfx::Rect(20, 20, 20, 20)); 605 gfx::Rect(0, 0, 200, 200), gfx::Rect(20, 20, 20, 20));
605 embed_window1->set_event_targeting_policy( 606 embed_window1->set_event_targeting_policy(
606 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); 607 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS);
607 embed_window2->set_event_targeting_policy( 608 embed_window2->set_event_targeting_policy(
608 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); 609 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS);
609 embed_window2->parent()->set_event_targeting_policy( 610 embed_window2->parent()->set_event_targeting_policy(
610 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); 611 mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS);
611 embed_window1->SetPredefinedCursor(mojom::CursorType::kIBeam); 612 embed_window1->SetCursor(ui::CursorData(ui::CursorType::kIBeam));
612 embed_window2->SetPredefinedCursor(mojom::CursorType::kCross); 613 embed_window2->SetCursor(ui::CursorData(ui::CursorType::kCross));
613 embed_window1->parent()->SetPredefinedCursor(mojom::CursorType::kCopy); 614 embed_window1->parent()->SetCursor(ui::CursorData(ui::CursorType::kCopy));
614 615
615 // Create a child of |embed_window1|. 616 // Create a child of |embed_window1|.
616 ServerWindow* embed_window1_child = NewWindowInTreeWithParent( 617 ServerWindow* embed_window1_child = NewWindowInTreeWithParent(
617 window_server()->GetTreeWithRoot(embed_window1), embed_window1); 618 window_server()->GetTreeWithRoot(embed_window1), embed_window1);
618 ASSERT_TRUE(embed_window1_child); 619 ASSERT_TRUE(embed_window1_child);
619 embed_window1_child->SetBounds(gfx::Rect(0, 0, 10, 10)); 620 embed_window1_child->SetBounds(gfx::Rect(0, 0, 10, 10));
620 embed_window1_child->SetVisible(true); 621 embed_window1_child->SetVisible(true);
621 622
622 // Move mouse into |embed_window1|. 623 // Move mouse into |embed_window1|.
623 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 624 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
624 EXPECT_EQ(mojom::CursorType::kIBeam, cursor_id()); 625 EXPECT_EQ(ui::CursorType::kIBeam, cursor_type());
625 626
626 // Move mouse into |embed_window2|. 627 // Move mouse into |embed_window2|.
627 DispatchEventAndAckImmediately(CreateMouseMoveEvent(25, 25)); 628 DispatchEventAndAckImmediately(CreateMouseMoveEvent(25, 25));
628 EXPECT_EQ(mojom::CursorType::kCross, cursor_id()); 629 EXPECT_EQ(ui::CursorType::kCross, cursor_type());
629 630
630 // Move mouse into area between, which should use cursor set on parent. 631 // Move mouse into area between, which should use cursor set on parent.
631 DispatchEventAndAckImmediately(CreateMouseMoveEvent(15, 15)); 632 DispatchEventAndAckImmediately(CreateMouseMoveEvent(15, 15));
632 EXPECT_EQ(mojom::CursorType::kCopy, cursor_id()); 633 EXPECT_EQ(ui::CursorType::kCopy, cursor_type());
633 } 634 }
634 635
635 TEST_F(WindowTreeTest, EventAck) { 636 TEST_F(WindowTreeTest, EventAck) {
636 const ClientWindowId embed_window_id = BuildClientWindowId(wm_tree(), 1); 637 const ClientWindowId embed_window_id = BuildClientWindowId(wm_tree(), 1);
637 EXPECT_TRUE( 638 EXPECT_TRUE(
638 wm_tree()->NewWindow(embed_window_id, ServerWindow::Properties())); 639 wm_tree()->NewWindow(embed_window_id, ServerWindow::Properties()));
639 EXPECT_TRUE(wm_tree()->SetWindowVisibility(embed_window_id, true)); 640 EXPECT_TRUE(wm_tree()->SetWindowVisibility(embed_window_id, true));
640 ASSERT_TRUE(FirstRoot(wm_tree())); 641 ASSERT_TRUE(FirstRoot(wm_tree()));
641 EXPECT_TRUE(wm_tree()->AddWindow(FirstRootId(wm_tree()), embed_window_id)); 642 EXPECT_TRUE(wm_tree()->AddWindow(FirstRootId(wm_tree()), embed_window_id));
642 ASSERT_EQ(1u, display()->root_window()->children().size()); 643 ASSERT_EQ(1u, display()->root_window()->children().size());
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 EXPECT_TRUE(window_manager_tree->DeleteWindow(display_root_id)); 1580 EXPECT_TRUE(window_manager_tree->DeleteWindow(display_root_id));
1580 EXPECT_TRUE(window_manager_tree->roots().empty()); 1581 EXPECT_TRUE(window_manager_tree->roots().empty());
1581 EXPECT_TRUE(WindowManagerStateTestApi(window_manager_state) 1582 EXPECT_TRUE(WindowManagerStateTestApi(window_manager_state)
1582 .window_manager_display_roots() 1583 .window_manager_display_roots()
1583 .empty()); 1584 .empty());
1584 } 1585 }
1585 1586
1586 } // namespace test 1587 } // namespace test
1587 } // namespace ws 1588 } // namespace ws
1588 } // namespace ui 1589 } // namespace ui
OLDNEW
« no previous file with comments | « services/ui/ws/window_tree_client_unittest.cc ('k') | ui/aura/mus/in_flight_change.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698