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

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: 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
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 17 matching lines...) Expand all
28 #include "mojo/converters/geometry/geometry_type_converters.h" 28 #include "mojo/converters/geometry/geometry_type_converters.h"
29 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" 29 #include "mojo/services/network/public/interfaces/url_loader.mojom.h"
30 #include "testing/gtest/include/gtest/gtest.h" 30 #include "testing/gtest/include/gtest/gtest.h"
31 #include "ui/events/event.h" 31 #include "ui/events/event.h"
32 #include "ui/events/event_utils.h" 32 #include "ui/events/event_utils.h"
33 #include "ui/gfx/geometry/rect.h" 33 #include "ui/gfx/geometry/rect.h"
34 34
35 using mojo::Array; 35 using mojo::Array;
36 using mojo::InterfaceRequest; 36 using mojo::InterfaceRequest;
37 using mojo::String; 37 using mojo::String;
38 using mus::mojom::ERROR_CODE_NONE;
39 using mus::mojom::Event; 38 using mus::mojom::Event;
40 using mus::mojom::EventPtr; 39 using mus::mojom::EventPtr;
41 using mus::mojom::LocationData; 40 using mus::mojom::LocationData;
42 using mus::mojom::PointerData; 41 using mus::mojom::PointerData;
43 using mus::mojom::WindowDataPtr; 42 using mus::mojom::WindowDataPtr;
44 43
45 namespace mus { 44 namespace mus {
46 45
47 namespace ws { 46 namespace ws {
48 namespace { 47 namespace {
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 ConnectionManager* manager) 214 ConnectionManager* manager)
216 : WindowTreeHostConnection(std::move(host_impl), manager) {} 215 : WindowTreeHostConnection(std::move(host_impl), manager) {}
217 ~TestWindowTreeHostConnection() override {} 216 ~TestWindowTreeHostConnection() override {}
218 217
219 private: 218 private:
220 // WindowTreeHostDelegate: 219 // WindowTreeHostDelegate:
221 void OnDisplayInitialized() override { 220 void OnDisplayInitialized() override {
222 connection_manager()->AddHost(this); 221 connection_manager()->AddHost(this);
223 set_window_tree(connection_manager()->EmbedAtWindow( 222 set_window_tree(connection_manager()->EmbedAtWindow(
224 window_tree_host()->root_window()->id(), 223 window_tree_host()->root_window()->id(),
225 mus::mojom::WindowTree::ACCESS_POLICY_EMBED_ROOT, 224 mus::mojom::WindowTree::kAccessPolicyEmbedRoot,
226 mus::mojom::WindowTreeClientPtr())); 225 mus::mojom::WindowTreeClientPtr()));
227 } 226 }
228 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeHostConnection); 227 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeHostConnection);
229 }; 228 };
230 229
231 // ----------------------------------------------------------------------------- 230 // -----------------------------------------------------------------------------
232 // Empty implementation of DisplayManager. 231 // Empty implementation of DisplayManager.
233 class TestDisplayManager : public DisplayManager { 232 class TestDisplayManager : public DisplayManager {
234 public: 233 public:
235 explicit TestDisplayManager(int32_t* cursor_id_storage) 234 explicit TestDisplayManager(int32_t* cursor_id_storage)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 return delegate_.last_client(); 332 return delegate_.last_client();
334 } 333 }
335 334
336 TestClientConnection* last_client_connection() { 335 TestClientConnection* last_client_connection() {
337 return delegate_.last_connection(); 336 return delegate_.last_connection();
338 } 337 }
339 338
340 ConnectionManager* connection_manager() { return connection_manager_.get(); } 339 ConnectionManager* connection_manager() { return connection_manager_.get(); }
341 340
342 TestWindowTreeClient* wm_client() { return wm_client_; } 341 TestWindowTreeClient* wm_client() { return wm_client_; }
343 int32_t cursor_id() { return cursor_id_; } 342 mus::mojom::Cursor cursor_id() {
343 return static_cast<mus::mojom::Cursor>(cursor_id_);
344 }
344 345
345 TestWindowTreeHostConnection* host_connection() { return host_connection_; } 346 TestWindowTreeHostConnection* host_connection() { return host_connection_; }
346 347
347 void DispatchEventWithoutAck(const ui::Event& event) { 348 void DispatchEventWithoutAck(const ui::Event& event) {
348 host_connection()->window_tree_host()->OnEvent(event); 349 host_connection()->window_tree_host()->OnEvent(event);
349 } 350 }
350 351
351 void AckPreviousEvent() { 352 void AckPreviousEvent() {
352 host_connection() 353 host_connection()
353 ->window_tree_host() 354 ->window_tree_host()
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 EXPECT_TRUE( 409 EXPECT_TRUE(
409 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id)); 410 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id));
410 host_connection()->window_tree_host()->root_window()->SetBounds( 411 host_connection()->window_tree_host()->root_window()->SetBounds(
411 gfx::Rect(0, 0, 100, 100)); 412 gfx::Rect(0, 0, 100, 100));
412 mojom::WindowTreeClientPtr client; 413 mojom::WindowTreeClientPtr client;
413 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request = 414 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request =
414 GetProxy(&client); 415 GetProxy(&client);
415 wm_client()->Bind(std::move(client_request)); 416 wm_client()->Bind(std::move(client_request));
416 ConnectionSpecificId connection_id = 0; 417 ConnectionSpecificId connection_id = 0;
417 wm_connection()->Embed(embed_window_id, std::move(client), 418 wm_connection()->Embed(embed_window_id, std::move(client),
418 mojom::WindowTree::ACCESS_POLICY_DEFAULT, 419 mojom::WindowTree::kAccessPolicyDefault,
419 &connection_id); 420 &connection_id);
420 WindowTreeImpl* connection1 = 421 WindowTreeImpl* connection1 =
421 connection_manager()->GetConnectionWithRoot(embed_window_id); 422 connection_manager()->GetConnectionWithRoot(embed_window_id);
422 ASSERT_TRUE(connection1 != nullptr); 423 ASSERT_TRUE(connection1 != nullptr);
423 ASSERT_NE(connection1, wm_connection()); 424 ASSERT_NE(connection1, wm_connection());
424 425
425 connection_manager() 426 connection_manager()
426 ->GetWindow(embed_window_id) 427 ->GetWindow(embed_window_id)
427 ->SetBounds(gfx::Rect(0, 0, 50, 50)); 428 ->SetBounds(gfx::Rect(0, 0, 50, 50));
428 429
(...skipping 26 matching lines...) Expand all
455 EXPECT_TRUE( 456 EXPECT_TRUE(
456 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id)); 457 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id));
457 host_connection()->window_tree_host()->root_window()->SetBounds( 458 host_connection()->window_tree_host()->root_window()->SetBounds(
458 gfx::Rect(0, 0, 100, 100)); 459 gfx::Rect(0, 0, 100, 100));
459 mojom::WindowTreeClientPtr client; 460 mojom::WindowTreeClientPtr client;
460 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request = 461 mojo::InterfaceRequest<mojom::WindowTreeClient> client_request =
461 GetProxy(&client); 462 GetProxy(&client);
462 wm_client()->Bind(std::move(client_request)); 463 wm_client()->Bind(std::move(client_request));
463 ConnectionSpecificId connection_id = 0; 464 ConnectionSpecificId connection_id = 0;
464 wm_connection()->Embed(embed_window_id, std::move(client), 465 wm_connection()->Embed(embed_window_id, std::move(client),
465 mojom::WindowTree::ACCESS_POLICY_DEFAULT, 466 mojom::WindowTree::kAccessPolicyDefault,
466 &connection_id); 467 &connection_id);
467 WindowTreeImpl* connection1 = 468 WindowTreeImpl* connection1 =
468 connection_manager()->GetConnectionWithRoot(embed_window_id); 469 connection_manager()->GetConnectionWithRoot(embed_window_id);
469 ASSERT_TRUE(connection1 != nullptr); 470 ASSERT_TRUE(connection1 != nullptr);
470 ASSERT_NE(connection1, wm_connection()); 471 ASSERT_NE(connection1, wm_connection());
471 472
472 connection_manager() 473 connection_manager()
473 ->GetWindow(embed_window_id) 474 ->GetWindow(embed_window_id)
474 ->SetBounds(gfx::Rect(0, 0, 50, 50)); 475 ->SetBounds(gfx::Rect(0, 0, 50, 50));
475 476
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 TestWindowTreeClient* embed_connection = nullptr; 557 TestWindowTreeClient* embed_connection = nullptr;
557 WindowTreeImpl* window_tree_connection = nullptr; 558 WindowTreeImpl* window_tree_connection = nullptr;
558 ServerWindow* window = nullptr; 559 ServerWindow* window = nullptr;
559 EXPECT_NO_FATAL_FAILURE( 560 EXPECT_NO_FATAL_FAILURE(
560 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 561 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
561 562
562 // Like in BasicInputEventTarget, we send a pointer down event to be 563 // Like in BasicInputEventTarget, we send a pointer down event to be
563 // dispatched. This is only to place the mouse cursor over that window though. 564 // dispatched. This is only to place the mouse cursor over that window though.
564 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 565 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
565 566
566 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 567 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
567 568
568 // Because the cursor is over the window when SetCursor was called, we should 569 // Because the cursor is over the window when SetCursor was called, we should
569 // have immediately changed the cursor. 570 // have immediately changed the cursor.
570 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 571 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
571 } 572 }
572 573
573 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) { 574 TEST_F(WindowTreeTest, CursorChangesWhenEnteringWindowWithDifferentCursor) {
574 TestWindowTreeClient* embed_connection = nullptr; 575 TestWindowTreeClient* embed_connection = nullptr;
575 WindowTreeImpl* window_tree_connection = nullptr; 576 WindowTreeImpl* window_tree_connection = nullptr;
576 ServerWindow* window = nullptr; 577 ServerWindow* window = nullptr;
577 EXPECT_NO_FATAL_FAILURE( 578 EXPECT_NO_FATAL_FAILURE(
578 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 579 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
579 580
580 // Let's create a pointer event outside the window and then move the pointer 581 // Let's create a pointer event outside the window and then move the pointer
581 // inside. 582 // inside.
582 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 583 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
583 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 584 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
584 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 585 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
585 586
586 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 587 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
587 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 588 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
588 } 589 }
589 590
590 TEST_F(WindowTreeTest, TouchesDontChangeCursor) { 591 TEST_F(WindowTreeTest, TouchesDontChangeCursor) {
591 TestWindowTreeClient* embed_connection = nullptr; 592 TestWindowTreeClient* embed_connection = nullptr;
592 WindowTreeImpl* window_tree_connection = nullptr; 593 WindowTreeImpl* window_tree_connection = nullptr;
593 ServerWindow* window = nullptr; 594 ServerWindow* window = nullptr;
594 EXPECT_NO_FATAL_FAILURE( 595 EXPECT_NO_FATAL_FAILURE(
595 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 596 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
596 597
597 // Let's create a pointer event outside the window and then move the pointer 598 // Let's create a pointer event outside the window and then move the pointer
598 // inside. 599 // inside.
599 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 600 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
600 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 601 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
601 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 602 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
602 603
603 // With a touch event, we shouldn't update the cursor. 604 // With a touch event, we shouldn't update the cursor.
604 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22)); 605 DispatchEventAndAckImmediately(CreatePointerDownEvent(21, 22));
605 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 606 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
606 } 607 }
607 608
608 TEST_F(WindowTreeTest, DragOutsideWindow) { 609 TEST_F(WindowTreeTest, DragOutsideWindow) {
609 TestWindowTreeClient* embed_connection = nullptr; 610 TestWindowTreeClient* embed_connection = nullptr;
610 WindowTreeImpl* window_tree_connection = nullptr; 611 WindowTreeImpl* window_tree_connection = nullptr;
611 ServerWindow* window = nullptr; 612 ServerWindow* window = nullptr;
612 EXPECT_NO_FATAL_FAILURE( 613 EXPECT_NO_FATAL_FAILURE(
613 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 614 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
614 615
615 // Start with the cursor outside the window. Setting the cursor shouldn't 616 // Start with the cursor outside the window. Setting the cursor shouldn't
616 // change the cursor. 617 // change the cursor.
617 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 618 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
618 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 619 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
619 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 620 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
620 621
621 // Move the pointer to the inside of the window 622 // Move the pointer to the inside of the window
622 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22)); 623 DispatchEventAndAckImmediately(CreateMouseMoveEvent(21, 22));
623 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 624 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
624 625
625 // Start the drag. 626 // Start the drag.
626 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22)); 627 DispatchEventAndAckImmediately(CreateMouseDownEvent(21, 22));
627 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 628 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
628 629
629 // Move the cursor (mouse is still down) outside the window. 630 // Move the cursor (mouse is still down) outside the window.
630 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5)); 631 DispatchEventAndAckImmediately(CreateMouseMoveEvent(5, 5));
631 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 632 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
632 633
633 // Release the cursor. We should now adapt the cursor of the window 634 // Release the cursor. We should now adapt the cursor of the window
634 // underneath the pointer. 635 // underneath the pointer.
635 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5)); 636 DispatchEventAndAckImmediately(CreateMouseUpEvent(5, 5));
636 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 637 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
637 } 638 }
638 639
639 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) { 640 TEST_F(WindowTreeTest, ChangingWindowBoundsChangesCursor) {
640 TestWindowTreeClient* embed_connection = nullptr; 641 TestWindowTreeClient* embed_connection = nullptr;
641 WindowTreeImpl* window_tree_connection = nullptr; 642 WindowTreeImpl* window_tree_connection = nullptr;
642 ServerWindow* window = nullptr; 643 ServerWindow* window = nullptr;
643 EXPECT_NO_FATAL_FAILURE( 644 EXPECT_NO_FATAL_FAILURE(
644 SetupEventTargeting(&embed_connection, &window_tree_connection, &window)); 645 SetupEventTargeting(&embed_connection, &window_tree_connection, &window));
645 646
646 // Put the cursor just outside the bounds of the window. 647 // Put the cursor just outside the bounds of the window.
647 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41)); 648 DispatchEventAndAckImmediately(CreateMouseMoveEvent(41, 41));
648 window->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 649 window->SetPredefinedCursor(mojom::Cursor::IBEAM);
649 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 650 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
650 651
651 // Expand the bounds of the window so they now include where the cursor now 652 // Expand the bounds of the window so they now include where the cursor now
652 // is. 653 // is.
653 window->SetBounds(gfx::Rect(20, 20, 25, 25)); 654 window->SetBounds(gfx::Rect(20, 20, 25, 25));
654 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 655 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
655 656
656 // Contract the bounds again. 657 // Contract the bounds again.
657 window->SetBounds(gfx::Rect(20, 20, 20, 20)); 658 window->SetBounds(gfx::Rect(20, 20, 20, 20));
658 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id()); 659 EXPECT_EQ(mojom::Cursor::CURSOR_NULL, cursor_id());
659 } 660 }
660 661
661 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) { 662 TEST_F(WindowTreeTest, WindowReorderingChangesCursor) {
662 TestWindowTreeClient* embed_connection = nullptr; 663 TestWindowTreeClient* embed_connection = nullptr;
663 WindowTreeImpl* window_tree_connection = nullptr; 664 WindowTreeImpl* window_tree_connection = nullptr;
664 ServerWindow* window1 = nullptr; 665 ServerWindow* window1 = nullptr;
665 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting( 666 EXPECT_NO_FATAL_FAILURE(SetupEventTargeting(
666 &embed_connection, &window_tree_connection, &window1)); 667 &embed_connection, &window_tree_connection, &window1));
667 668
668 // Create a second window right over the first. 669 // Create a second window right over the first.
669 const WindowId embed_window_id(wm_connection()->id(), 1); 670 const WindowId embed_window_id(wm_connection()->id(), 1);
670 const WindowId child2(window_tree_connection->id(), 2); 671 const WindowId child2(window_tree_connection->id(), 2);
671 EXPECT_TRUE( 672 EXPECT_TRUE(
672 window_tree_connection->NewWindow(child2, ServerWindow::Properties())); 673 window_tree_connection->NewWindow(child2, ServerWindow::Properties()));
673 EXPECT_TRUE(window_tree_connection->AddWindow(embed_window_id, child2)); 674 EXPECT_TRUE(window_tree_connection->AddWindow(embed_window_id, child2));
674 window_tree_connection->GetHost()->AddActivationParent( 675 window_tree_connection->GetHost()->AddActivationParent(
675 WindowIdToTransportId(embed_window_id)); 676 WindowIdToTransportId(embed_window_id));
676 ServerWindow* window2 = window_tree_connection->GetWindow(child2); 677 ServerWindow* window2 = window_tree_connection->GetWindow(child2);
677 window2->SetVisible(true); 678 window2->SetVisible(true);
678 window2->SetBounds(gfx::Rect(20, 20, 20, 20)); 679 window2->SetBounds(gfx::Rect(20, 20, 20, 20));
679 EnableHitTest(window2); 680 EnableHitTest(window2);
680 681
681 // Give each window a different cursor. 682 // Give each window a different cursor.
682 window1->SetPredefinedCursor(mojom::Cursor::CURSOR_IBEAM); 683 window1->SetPredefinedCursor(mojom::Cursor::IBEAM);
683 window2->SetPredefinedCursor(mojom::Cursor::CURSOR_HAND); 684 window2->SetPredefinedCursor(mojom::Cursor::HAND);
684 685
685 // We expect window2 to be over window1 now. 686 // We expect window2 to be over window1 now.
686 DispatchEventAndAckImmediately(CreateMouseMoveEvent(22, 22)); 687 DispatchEventAndAckImmediately(CreateMouseMoveEvent(22, 22));
687 EXPECT_EQ(mojom::Cursor::CURSOR_HAND, cursor_id()); 688 EXPECT_EQ(mojom::Cursor::HAND, cursor_id());
688 689
689 // But when we put window2 at the bottom, we should adapt window1's cursor. 690 // But when we put window2 at the bottom, we should adapt window1's cursor.
690 window2->parent()->StackChildAtBottom(window2); 691 window2->parent()->StackChildAtBottom(window2);
691 EXPECT_EQ(mojom::Cursor::CURSOR_IBEAM, cursor_id()); 692 EXPECT_EQ(mojom::Cursor::IBEAM, cursor_id());
692 } 693 }
693 694
694 TEST_F(WindowTreeTest, EventAck) { 695 TEST_F(WindowTreeTest, EventAck) {
695 const WindowId embed_window_id(wm_connection()->id(), 1); 696 const WindowId embed_window_id(wm_connection()->id(), 1);
696 EXPECT_TRUE( 697 EXPECT_TRUE(
697 wm_connection()->NewWindow(embed_window_id, ServerWindow::Properties())); 698 wm_connection()->NewWindow(embed_window_id, ServerWindow::Properties()));
698 EXPECT_TRUE(wm_connection()->SetWindowVisibility(embed_window_id, true)); 699 EXPECT_TRUE(wm_connection()->SetWindowVisibility(embed_window_id, true));
699 EXPECT_TRUE( 700 EXPECT_TRUE(
700 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id)); 701 wm_connection()->AddWindow(*(wm_connection()->root()), embed_window_id));
701 host_connection()->window_tree_host()->root_window()->SetBounds( 702 host_connection()->window_tree_host()->root_window()->SetBounds(
(...skipping 13 matching lines...) Expand all
715 // Ack the first event. That should trigger the dispatch of the second event. 716 // Ack the first event. That should trigger the dispatch of the second event.
716 AckPreviousEvent(); 717 AckPreviousEvent();
717 ASSERT_EQ(1u, wm_client()->tracker()->changes()->size()); 718 ASSERT_EQ(1u, wm_client()->tracker()->changes()->size());
718 EXPECT_EQ("InputEvent window=0,2 event_action=5", 719 EXPECT_EQ("InputEvent window=0,2 event_action=5",
719 ChangesToDescription1(*wm_client()->tracker()->changes())[0]); 720 ChangesToDescription1(*wm_client()->tracker()->changes())[0]);
720 } 721 }
721 722
722 } // namespace ws 723 } // namespace ws
723 724
724 } // namespace mus 725 } // namespace mus
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698