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

Side by Side Diff: components/mus/ws/window_tree_unittest.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 years, 11 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 | « components/mus/ws/window_tree_impl.cc ('k') | components/pdf_viewer/pdf_viewer.cc » ('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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 18 matching lines...) Expand all
29 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" 29 #include "mojo/services/network/public/interfaces/url_loader.mojom.h"
30 #include "mojo/shell/public/interfaces/service_provider.mojom.h" 30 #include "mojo/shell/public/interfaces/service_provider.mojom.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 #include "ui/events/event.h" 32 #include "ui/events/event.h"
33 #include "ui/events/event_utils.h" 33 #include "ui/events/event_utils.h"
34 #include "ui/gfx/geometry/rect.h" 34 #include "ui/gfx/geometry/rect.h"
35 35
36 using mojo::Array; 36 using mojo::Array;
37 using mojo::InterfaceRequest; 37 using mojo::InterfaceRequest;
38 using mojo::String; 38 using mojo::String;
39 using mus::mojom::ERROR_CODE_NONE;
40 using mus::mojom::Event; 39 using mus::mojom::Event;
41 using mus::mojom::EventPtr; 40 using mus::mojom::EventPtr;
42 using mus::mojom::LocationData; 41 using mus::mojom::LocationData;
43 using mus::mojom::PointerData; 42 using mus::mojom::PointerData;
44 using mus::mojom::WindowDataPtr; 43 using mus::mojom::WindowDataPtr;
45 44
46 namespace mus { 45 namespace mus {
47 namespace ws { 46 namespace ws {
48 namespace { 47 namespace {
49 48
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 ConnectionManager* manager) 276 ConnectionManager* manager)
278 : WindowTreeHostConnection(std::move(host_impl), manager) {} 277 : WindowTreeHostConnection(std::move(host_impl), manager) {}
279 ~TestWindowTreeHostConnection() override {} 278 ~TestWindowTreeHostConnection() override {}
280 279
281 private: 280 private:
282 // WindowTreeHostDelegate: 281 // WindowTreeHostDelegate:
283 void OnDisplayInitialized() override { 282 void OnDisplayInitialized() override {
284 connection_manager()->AddHost(this); 283 connection_manager()->AddHost(this);
285 set_window_tree(connection_manager()->EmbedAtWindow( 284 set_window_tree(connection_manager()->EmbedAtWindow(
286 window_tree_host()->root_window(), 285 window_tree_host()->root_window(),
287 mus::mojom::WindowTree::ACCESS_POLICY_EMBED_ROOT, 286 mus::mojom::WindowTree::kAccessPolicyEmbedRoot,
288 mus::mojom::WindowTreeClientPtr())); 287 mus::mojom::WindowTreeClientPtr()));
289 } 288 }
290 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeHostConnection); 289 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeHostConnection);
291 }; 290 };
292 291
293 // ----------------------------------------------------------------------------- 292 // -----------------------------------------------------------------------------
294 // Empty implementation of DisplayManager. 293 // Empty implementation of DisplayManager.
295 class TestDisplayManager : public DisplayManager { 294 class TestDisplayManager : public DisplayManager {
296 public: 295 public:
297 explicit TestDisplayManager(int32_t* cursor_id_storage) 296 explicit TestDisplayManager(int32_t* cursor_id_storage)
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 return delegate_.last_connection(); 403 return delegate_.last_connection();
405 } 404 }
406 405
407 ConnectionManager* connection_manager() { return connection_manager_.get(); } 406 ConnectionManager* connection_manager() { return connection_manager_.get(); }
408 407
409 ServerWindow* GetWindowById(const WindowId& id) { 408 ServerWindow* GetWindowById(const WindowId& id) {
410 return connection_manager_->GetWindow(id); 409 return connection_manager_->GetWindow(id);
411 } 410 }
412 411
413 TestWindowTreeClient* wm_client() { return wm_client_; } 412 TestWindowTreeClient* wm_client() { return wm_client_; }
414 int32_t cursor_id() { return cursor_id_; } 413 mus::mojom::Cursor cursor_id() {
414 return static_cast<mus::mojom::Cursor>(cursor_id_);
415 }
415 416
416 TestWindowTreeHostConnection* host_connection() { return host_connection_; } 417 TestWindowTreeHostConnection* host_connection() { return host_connection_; }
417 418
418 void DispatchEventWithoutAck(const ui::Event& event) { 419 void DispatchEventWithoutAck(const ui::Event& event) {
419 host_connection()->window_tree_host()->OnEvent(event); 420 host_connection()->window_tree_host()->OnEvent(event);
420 } 421 }
421 422
422 void set_window_manager_internal(WindowTreeImpl* connection, 423 void set_window_manager_internal(WindowTreeImpl* connection,
423 mojom::WindowManagerInternal* wm_internal) { 424 mojom::WindowManagerInternal* wm_internal) {
424 connection->window_manager_internal_ = wm_internal; 425 connection->window_manager_internal_ = wm_internal;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(), 488 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(),
488 embed_window_id)); 489 embed_window_id));
489 host_connection()->window_tree_host()->root_window()->SetBounds( 490 host_connection()->window_tree_host()->root_window()->SetBounds(
490 gfx::Rect(0, 0, 100, 100)); 491 gfx::Rect(0, 0, 100, 100));
491 mojom::WindowTreeClientPtr client; 492 mojom::WindowTreeClientPtr client;
492 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request = 493 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request =
493 GetProxy(&client); 494 GetProxy(&client);
494 wm_client()->Bind(std::move(client_request)); 495 wm_client()->Bind(std::move(client_request));
495 ConnectionSpecificId connection_id = 0; 496 ConnectionSpecificId connection_id = 0;
496 wm_connection()->Embed(embed_window_id, std::move(client), 497 wm_connection()->Embed(embed_window_id, std::move(client),
497 mojom::WindowTree::ACCESS_POLICY_DEFAULT, 498 mojom::WindowTree::kAccessPolicyDefault,
498 &connection_id); 499 &connection_id);
499 WindowTreeImpl* connection1 = connection_manager()->GetConnectionWithRoot( 500 WindowTreeImpl* connection1 = connection_manager()->GetConnectionWithRoot(
500 GetWindowById(embed_window_id)); 501 GetWindowById(embed_window_id));
501 ASSERT_TRUE(connection1 != nullptr); 502 ASSERT_TRUE(connection1 != nullptr);
502 ASSERT_NE(connection1, wm_connection()); 503 ASSERT_NE(connection1, wm_connection());
503 504
504 connection_manager() 505 connection_manager()
505 ->GetWindow(embed_window_id) 506 ->GetWindow(embed_window_id)
506 ->SetBounds(gfx::Rect(0, 0, 50, 50)); 507 ->SetBounds(gfx::Rect(0, 0, 50, 50));
507 508
(...skipping 27 matching lines...) Expand all
535 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(), 536 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(),
536 embed_window_id)); 537 embed_window_id));
537 host_connection()->window_tree_host()->root_window()->SetBounds( 538 host_connection()->window_tree_host()->root_window()->SetBounds(
538 gfx::Rect(0, 0, 100, 100)); 539 gfx::Rect(0, 0, 100, 100));
539 mojom::WindowTreeClientPtr client; 540 mojom::WindowTreeClientPtr client;
540 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request = 541 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request =
541 GetProxy(&client); 542 GetProxy(&client);
542 wm_client()->Bind(std::move(client_request)); 543 wm_client()->Bind(std::move(client_request));
543 ConnectionSpecificId connection_id = 0; 544 ConnectionSpecificId connection_id = 0;
544 wm_connection()->Embed(embed_window_id, std::move(client), 545 wm_connection()->Embed(embed_window_id, std::move(client),
545 mojom::WindowTree::ACCESS_POLICY_DEFAULT, 546 mojom::WindowTree::kAccessPolicyDefault,
546 &connection_id); 547 &connection_id);
547 WindowTreeImpl* connection1 = connection_manager()->GetConnectionWithRoot( 548 WindowTreeImpl* connection1 = connection_manager()->GetConnectionWithRoot(
548 GetWindowById(embed_window_id)); 549 GetWindowById(embed_window_id));
549 ASSERT_TRUE(connection1 != nullptr); 550 ASSERT_TRUE(connection1 != nullptr);
550 ASSERT_NE(connection1, wm_connection()); 551 ASSERT_NE(connection1, wm_connection());
551 552
552 connection_manager() 553 connection_manager()
553 ->GetWindow(embed_window_id) 554 ->GetWindow(embed_window_id)
554 ->SetBounds(gfx::Rect(0, 0, 50, 50)); 555 ->SetBounds(gfx::Rect(0, 0, 50, 50));
555 556
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 TestWindowTreeClient* embed_connection = nullptr; 638 TestWindowTreeClient* embed_connection = nullptr;
638 WindowTreeImpl* window_tree_connection = nullptr; 639 WindowTreeImpl* window_tree_connection = nullptr;
639 ServerWindow* window = nullptr; 640 ServerWindow* window = nullptr;
640 EXPECT_NO_FATAL_FAILURE( 641 EXPECT_NO_FATAL_FAILURE(
641 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 642 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
642 643
643 // Like in BasicInputEventTarget, we send a pointer down event to be 644 // Like in BasicInputEventTarget, we send a pointer down event to be
644 // dispatched. This is only to place the mouse cursor over that window though. 645 // dispatched. This is only to place the mouse cursor over that window though.
645 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 646 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
646 647
647 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 648 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
648 649
649 // Because the cursor is over the window when SetCursor was called, we should 650 // Because the cursor is over the window when SetCursor was called, we should
650 // have immediately changed the cursor. 651 // have immediately changed the cursor.
651 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 652 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
652 } 653 }
653 654
654 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) { 655 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) {
655 TestWindowTreeClient* embed_connection = nullptr; 656 TestWindowTreeClient* embed_connection = nullptr;
656 WindowTreeImpl* window_tree_connection = nullptr; 657 WindowTreeImpl* window_tree_connection = nullptr;
657 ServerWindow* window = nullptr; 658 ServerWindow* window = nullptr;
658 EXPECT_NO_FATAL_FAILURE( 659 EXPECT_NO_FATAL_FAILURE(
659 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 660 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
660 661
661 // Let's create a pointer event outside the window and then move the pointer 662 // Let's create a pointer event outside the window and then move the pointer
662 // inside. 663 // inside.
663 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 664 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
664 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 665 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
665 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 666 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
666 667
667 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 668 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
668 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 669 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
669 } 670 }
670 671
671 TEST_F(WindowTreeTest, TouchesDontChangeCursor) { 672 TEST_F(WindowTreeTest, TouchesDontChangeCursor) {
672 TestWindowTreeClient* embed_connection = nullptr; 673 TestWindowTreeClient* embed_connection = nullptr;
673 WindowTreeImpl* window_tree_connection = nullptr; 674 WindowTreeImpl* window_tree_connection = nullptr;
674 ServerWindow* window = nullptr; 675 ServerWindow* window = nullptr;
675 EXPECT_NO_FATAL_FAILURE( 676 EXPECT_NO_FATAL_FAILURE(
676 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 677 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
677 678
678 // Let's create a pointer event outside the window and then move the pointer 679 // Let's create a pointer event outside the window and then move the pointer
679 // inside. 680 // inside.
680 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 681 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
681 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 682 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
682 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 683 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
683 684
684 // With a touch event, we shouldn't update the cursor. 685 // With a touch event, we shouldn't update the cursor.
685 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22)); 686 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22));
686 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 687 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
687 } 688 }
688 689
689 TEST_F(WindowTreeTest, DragOutsideWindow) { 690 TEST_F(WindowTreeTest, DragOutsideWindow) {
690 TestWindowTreeClient* embed_connection = nullptr; 691 TestWindowTreeClient* embed_connection = nullptr;
691 WindowTreeImpl* window_tree_connection = nullptr; 692 WindowTreeImpl* window_tree_connection = nullptr;
692 ServerWindow* window = nullptr; 693 ServerWindow* window = nullptr;
693 EXPECT_NO_FATAL_FAILURE( 694 EXPECT_NO_FATAL_FAILURE(
694 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 695 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
695 696
696 // Start with the cursor outside the window. Setting the cursor shouldn't 697 // Start with the cursor outside the window. Setting the cursor shouldn't
697 // change the cursor. 698 // change the cursor.
698 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 699 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
699 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 700 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
700 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 701 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
701 702
702 // Move the pointer to the inside of the window 703 // Move the pointer to the inside of the window
703 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 704 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
704 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 705 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
705 706
706 // Start the drag. 707 // Start the drag.
707 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22)); 708 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22));
708 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 709 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
709 710
710 // Move the cursor (mouse is still down) outside the window. 711 // Move the cursor (mouse is still down) outside the window.
711 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 712 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
712 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 713 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
713 714
714 // Release the cursor. We should now adapt the cursor of the window 715 // Release the cursor. We should now adapt the cursor of the window
715 // underneath the pointer. 716 // underneath the pointer.
716 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5)); 717 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5));
717 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 718 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
718 } 719 }
719 720
720 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) { 721 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) {
721 TestWindowTreeClient* embed_connection = nullptr; 722 TestWindowTreeClient* embed_connection = nullptr;
722 WindowTreeImpl* window_tree_connection = nullptr; 723 WindowTreeImpl* window_tree_connection = nullptr;
723 ServerWindow* window = nullptr; 724 ServerWindow* window = nullptr;
724 EXPECT_NO_FATAL_FAILURE( 725 EXPECT_NO_FATAL_FAILURE(
725 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 726 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
726 727
727 // Put the cursor just outside the bounds of the window. 728 // Put the cursor just outside the bounds of the window.
728 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41)); 729 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41));
729 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 730 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
730 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 731 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
731 732
732 // Expand the bounds of the window so they now include where the cursor now 733 // Expand the bounds of the window so they now include where the cursor now
733 // is. 734 // is.
734 window->SetBounds(gfx::Rect(20, 20, 25, 25)); 735 window->SetBounds(gfx::Rect(20, 20, 25, 25));
735 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 736 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
736 737
737 // Contract the bounds again. 738 // Contract the bounds again.
738 window->SetBounds(gfx::Rect(20, 20, 20, 20)); 739 window->SetBounds(gfx::Rect(20, 20, 20, 20));
739 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 740 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
740 } 741 }
741 742
742 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) { 743 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) {
743 TestWindowTreeClient* embed_connection = nullptr; 744 TestWindowTreeClient* embed_connection = nullptr;
744 WindowTreeImpl* window_tree_connection = nullptr; 745 WindowTreeImpl* window_tree_connection = nullptr;
745 ServerWindow* window1 = nullptr; 746 ServerWindow* window1 = nullptr;
746 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting( 747 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(
747 &embed_connection, &window_tree_connection, &window1)); 748 &embed_connection, &window_tree_connection, &window1));
748 749
749 // Create a second window right over the first. 750 // Create a second window right over the first.
750 const WindowId embed_window_id(wm_connection()->id(), 1); 751 const WindowId embed_window_id(wm_connection()->id(), 1);
751 const WindowId child2(window_tree_connection->id(), 2); 752 const WindowId child2(window_tree_connection->id(), 2);
752 EXPECT_TRUE( 753 EXPECT_TRUE(
753 window_tree_connection->NewWindow(child2, ServerWindow::Properties())); 754 window_tree_connection->NewWindow(child2, ServerWindow::Properties()));
754 EXPECT_TRUE(window_tree_connection->AddWindow(embed_window_id, child2)); 755 EXPECT_TRUE(window_tree_connection->AddWindow(embed_window_id, child2));
755 window_tree_connection->GetHost( 756 window_tree_connection->GetHost(
756 GetWindowById(WindowId(wm_connection()->id(), 1))) 757 GetWindowById(WindowId(wm_connection()->id(), 1)))
757 ->AddActivationParent(WindowIdToTransportId(embed_window_id)); 758 ->AddActivationParent(WindowIdToTransportId(embed_window_id));
758 ServerWindow* window2 = window_tree_connection->GetWindow(child2); 759 ServerWindow* window2 = window_tree_connection->GetWindow(child2);
759 window2->SetVisible(true); 760 window2->SetVisible(true);
760 window2->SetBounds(gfx::Rect(20, 20, 20, 20)); 761 window2->SetBounds(gfx::Rect(20, 20, 20, 20));
761 EnableHitTest(window2); 762 EnableHitTest(window2);
762 763
763 // Give each window a different cursor. 764 // Give each window a different cursor.
764 window1->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 765 window1->SetPredefinedCursor(mojom::Cursor::IBEAM);
765 window2->SetPredefinedCursor(mojom::Cursor::CURSOR_HAND); 766 window2->SetPredefinedCursor(mojom::Cursor::HAND);
766 767
767 // We expect window2 to be over window1 now. 768 // We expect window2 to be over window1 now.
768 DispatchEventAndAckImmediately(CreateMouseMoveEvent(22, 22)); 769 DispatchEventAndAckImmediately(CreateMouseMoveEvent(22, 22));
769 EXPECT_EQ(mojom::Cursor::CURSOR_HAND, cursor_id()); 770 EXPECT_EQ(mojom::Cursor::HAND, cursor_id());
770 771
771 // But when we put window2 at the bottom, we should adapt window1's cursor. 772 // But when we put window2 at the bottom, we should adapt window1's cursor.
772 window2->parent()->StackChildAtBottom(window2); 773 window2->parent()->StackChildAtBottom(window2);
773 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 774 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
774 } 775 }
775 776
776 TEST_F(WindowTreeTest, EventAck) { 777 TEST_F(WindowTreeTest, EventAck) {
777 const WindowId embed_window_id(wm_connection()->id(), 1); 778 const WindowId embed_window_id(wm_connection()->id(), 1);
778 EXPECT_TRUE( 779 EXPECT_TRUE(
779 wm_connection()->NewWindow(embed_window_id, ServerWindow::Properties())); 780 wm_connection()->NewWindow(embed_window_id, ServerWindow::Properties()));
780 EXPECT_TRUE(wm_connection()->SetWindowVisibility(embed_window_id, true)); 781 EXPECT_TRUE(wm_connection()->SetWindowVisibility(embed_window_id, true));
781 ASSERT_TRUE(FirstRoot(wm_connection())); 782 ASSERT_TRUE(FirstRoot(wm_connection()));
782 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(), 783 EXPECT_TRUE(wm_connection()->AddWindow(FirstRoot(wm_connection())->id(),
783 embed_window_id)); 784 embed_window_id));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 SingleChangeToDescription(*embed_connection->tracker()->changes())); 860 SingleChangeToDescription(*embed_connection->tracker()->changes()));
860 861
861 // Set the visibility from the child using the client assigned id. 862 // Set the visibility from the child using the client assigned id.
862 ASSERT_TRUE(window_tree_connection->SetWindowVisibility( 863 ASSERT_TRUE(window_tree_connection->SetWindowVisibility(
863 embed_window_id2_in_child, false)); 864 embed_window_id2_in_child, false));
864 EXPECT_FALSE(embed_window->visible()); 865 EXPECT_FALSE(embed_window->visible());
865 } 866 }
866 867
867 } // namespace ws 868 } // namespace ws
868 } // namespace mus 869 } // namespace mus
OLDNEW
« no previous file with comments | « components/mus/ws/window_tree_impl.cc ('k') | components/pdf_viewer/pdf_viewer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698