| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef SERVICES_UI_WS_TEST_UTILS_H_ | 5 #ifndef SERVICES_UI_WS_TEST_UTILS_H_ |
| 6 #define SERVICES_UI_WS_TEST_UTILS_H_ | 6 #define SERVICES_UI_WS_TEST_UTILS_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 bool got_on_no_more_displays_ = false; | 498 bool got_on_no_more_displays_ = false; |
| 499 // All TestWindowTreeBinding objects created via CreateWindowTreeBinding. | 499 // All TestWindowTreeBinding objects created via CreateWindowTreeBinding. |
| 500 // These are owned by the corresponding WindowTree. | 500 // These are owned by the corresponding WindowTree. |
| 501 std::vector<TestWindowTreeBinding*> bindings_; | 501 std::vector<TestWindowTreeBinding*> bindings_; |
| 502 | 502 |
| 503 DISALLOW_COPY_AND_ASSIGN(TestWindowServerDelegate); | 503 DISALLOW_COPY_AND_ASSIGN(TestWindowServerDelegate); |
| 504 }; | 504 }; |
| 505 | 505 |
| 506 // ----------------------------------------------------------------------------- | 506 // ----------------------------------------------------------------------------- |
| 507 | 507 |
| 508 // Helper class which creates and sets up the necessary objects for tests that |
| 509 // use the WindowServer. |
| 510 class WindowServerTestHelper { |
| 511 public: |
| 512 WindowServerTestHelper(); |
| 513 ~WindowServerTestHelper(); |
| 514 |
| 515 WindowServer* window_server() { return window_server_.get(); } |
| 516 int32_t cursor_id() const { return cursor_id_; } |
| 517 |
| 518 TestWindowServerDelegate* window_server_delegate() { |
| 519 return &window_server_delegate_; |
| 520 } |
| 521 base::MessageLoop* message_loop() { return &message_loop_; } |
| 522 |
| 523 private: |
| 524 int32_t cursor_id_; |
| 525 TestPlatformDisplayFactory platform_display_factory_; |
| 526 TestWindowServerDelegate window_server_delegate_; |
| 527 std::unique_ptr<WindowServer> window_server_; |
| 528 base::MessageLoop message_loop_; |
| 529 |
| 530 DISALLOW_COPY_AND_ASSIGN(WindowServerTestHelper); |
| 531 }; |
| 532 |
| 533 // ----------------------------------------------------------------------------- |
| 534 |
| 508 // Helper class which owns all of the necessary objects to test event targeting | 535 // Helper class which owns all of the necessary objects to test event targeting |
| 509 // of ServerWindow objects. | 536 // of ServerWindow objects. |
| 510 class WindowEventTargetingHelper { | 537 class WindowEventTargetingHelper { |
| 511 public: | 538 public: |
| 512 WindowEventTargetingHelper(); | 539 WindowEventTargetingHelper(); |
| 513 ~WindowEventTargetingHelper(); | 540 ~WindowEventTargetingHelper(); |
| 514 | 541 |
| 515 // Creates |window| as an embeded window of the primary tree. This window is a | 542 // Creates |window| as an embeded window of the primary tree. This window is a |
| 516 // root window of its own tree, with bounds |window_bounds|. The bounds of the | 543 // root window of its own tree, with bounds |window_bounds|. The bounds of the |
| 517 // root window of |display_| are defined by |root_window_bounds|. | 544 // root window of |display_| are defined by |root_window_bounds|. |
| 518 ServerWindow* CreatePrimaryTree(const gfx::Rect& root_window_bounds, | 545 ServerWindow* CreatePrimaryTree(const gfx::Rect& root_window_bounds, |
| 519 const gfx::Rect& window_bounds); | 546 const gfx::Rect& window_bounds); |
| 520 // Creates a secondary tree, embedded as a child of |embed_window|. The | 547 // Creates a secondary tree, embedded as a child of |embed_window|. The |
| 521 // resulting |window| is setup for event targeting, with bounds | 548 // resulting |window| is setup for event targeting, with bounds |
| 522 // |window_bounds|. | 549 // |window_bounds|. |
| 523 void CreateSecondaryTree(ServerWindow* embed_window, | 550 void CreateSecondaryTree(ServerWindow* embed_window, |
| 524 const gfx::Rect& window_bounds, | 551 const gfx::Rect& window_bounds, |
| 525 TestWindowTreeClient** out_client, | 552 TestWindowTreeClient** out_client, |
| 526 WindowTree** window_tree, | 553 WindowTree** window_tree, |
| 527 ServerWindow** window); | 554 ServerWindow** window); |
| 528 // Sets the task runner for |message_loop_| | 555 // Sets the task runner for |message_loop_| |
| 529 void SetTaskRunner(scoped_refptr<base::SingleThreadTaskRunner> task_runner); | 556 void SetTaskRunner(scoped_refptr<base::SingleThreadTaskRunner> task_runner); |
| 530 | 557 |
| 531 int32_t cursor_id() { return cursor_id_; } | 558 int32_t cursor_id() const { return ws_test_helper_.cursor_id(); } |
| 532 Display* display() { return display_; } | 559 Display* display() { return display_; } |
| 533 TestWindowTreeBinding* last_binding() { | 560 TestWindowTreeBinding* last_binding() { |
| 534 return window_server_delegate_.last_binding(); | 561 return ws_test_helper_.window_server_delegate()->last_binding(); |
| 535 } | 562 } |
| 536 TestWindowTreeClient* last_window_tree_client() { | 563 TestWindowTreeClient* last_window_tree_client() { |
| 537 return window_server_delegate_.last_client(); | 564 return ws_test_helper_.window_server_delegate()->last_client(); |
| 538 } | 565 } |
| 539 TestWindowTreeClient* wm_client() { return wm_client_; } | 566 TestWindowTreeClient* wm_client() { return wm_client_; } |
| 540 WindowServer* window_server() { return window_server_.get(); } | 567 WindowServer* window_server() { return ws_test_helper_.window_server(); } |
| 541 | 568 |
| 542 private: | 569 private: |
| 570 WindowServerTestHelper ws_test_helper_; |
| 543 // TestWindowTreeClient that is used for the WM client. Owned by | 571 // TestWindowTreeClient that is used for the WM client. Owned by |
| 544 // |window_server_delegate_| | 572 // |window_server_delegate_| |
| 545 TestWindowTreeClient* wm_client_; | 573 TestWindowTreeClient* wm_client_; |
| 546 int32_t cursor_id_; | |
| 547 TestPlatformDisplayFactory platform_display_factory_; | |
| 548 TestWindowServerDelegate window_server_delegate_; | |
| 549 // Owned by WindowServer | 574 // Owned by WindowServer |
| 550 TestDisplayBinding* display_binding_; | 575 TestDisplayBinding* display_binding_; |
| 551 // Owned by WindowServer's DisplayManager. | 576 // Owned by WindowServer's DisplayManager. |
| 552 Display* display_; | 577 Display* display_; |
| 553 scoped_refptr<SurfacesState> surfaces_state_; | 578 scoped_refptr<SurfacesState> surfaces_state_; |
| 554 std::unique_ptr<WindowServer> window_server_; | |
| 555 // Needed to Bind to |wm_client_| | |
| 556 base::MessageLoop message_loop_; | |
| 557 | 579 |
| 558 DISALLOW_COPY_AND_ASSIGN(WindowEventTargetingHelper); | 580 DISALLOW_COPY_AND_ASSIGN(WindowEventTargetingHelper); |
| 559 }; | 581 }; |
| 560 | 582 |
| 561 // ----------------------------------------------------------------------------- | 583 // ----------------------------------------------------------------------------- |
| 562 | 584 |
| 563 // Returns the first and only root of |tree|. If |tree| has zero or more than | 585 // Returns the first and only root of |tree|. If |tree| has zero or more than |
| 564 // one root returns null. | 586 // one root returns null. |
| 565 ServerWindow* FirstRoot(WindowTree* tree); | 587 ServerWindow* FirstRoot(WindowTree* tree); |
| 566 | 588 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 577 ServerWindow* NewWindowInTree(WindowTree* tree, ClientWindowId* client_id); | 599 ServerWindow* NewWindowInTree(WindowTree* tree, ClientWindowId* client_id); |
| 578 ServerWindow* NewWindowInTreeWithParent(WindowTree* tree, | 600 ServerWindow* NewWindowInTreeWithParent(WindowTree* tree, |
| 579 ServerWindow* parent, | 601 ServerWindow* parent, |
| 580 ClientWindowId* client_id); | 602 ClientWindowId* client_id); |
| 581 | 603 |
| 582 } // namespace test | 604 } // namespace test |
| 583 } // namespace ws | 605 } // namespace ws |
| 584 } // namespace ui | 606 } // namespace ui |
| 585 | 607 |
| 586 #endif // SERVICES_UI_WS_TEST_UTILS_H_ | 608 #endif // SERVICES_UI_WS_TEST_UTILS_H_ |
| OLD | NEW |