| Index: services/ui/ws/display_unittest.cc
|
| diff --git a/services/ui/ws/display_unittest.cc b/services/ui/ws/display_unittest.cc
|
| index 56f8f513a0b7dec9d028406c7ae4aac0bbcb9eb7..252db739934824f3f7604a5232992004893e30da 100644
|
| --- a/services/ui/ws/display_unittest.cc
|
| +++ b/services/ui/ws/display_unittest.cc
|
| @@ -55,37 +55,33 @@ WindowManagerState* GetWindowManagerStateForUser(Display* display,
|
|
|
| class DisplayTest : public testing::Test {
|
| public:
|
| - DisplayTest() : cursor_id_(0), platform_display_factory_(&cursor_id_) {}
|
| + DisplayTest() {}
|
| ~DisplayTest() override {}
|
|
|
| + WindowServer* window_server() { return ws_test_helper_.window_server(); }
|
| + TestWindowServerDelegate* window_server_delegate() {
|
| + return ws_test_helper_.window_server_delegate();
|
| + }
|
| +
|
| protected:
|
| // testing::Test:
|
| void SetUp() override {
|
| - PlatformDisplay::set_factory_for_testing(&platform_display_factory_);
|
| - window_server_.reset(new WindowServer(&window_server_delegate_));
|
| - window_server_delegate_.set_window_server(window_server_.get());
|
| - window_server_->user_id_tracker()->AddUserId(kTestId1);
|
| - window_server_->user_id_tracker()->AddUserId(kTestId2);
|
| + window_server()->user_id_tracker()->AddUserId(kTestId1);
|
| + window_server()->user_id_tracker()->AddUserId(kTestId2);
|
| }
|
|
|
| - protected:
|
| - int32_t cursor_id_;
|
| - TestPlatformDisplayFactory platform_display_factory_;
|
| - TestWindowServerDelegate window_server_delegate_;
|
| - std::unique_ptr<WindowServer> window_server_;
|
| - base::MessageLoop message_loop_;
|
| -
|
| private:
|
| + WindowServerTestHelper ws_test_helper_;
|
| DISALLOW_COPY_AND_ASSIGN(DisplayTest);
|
| };
|
|
|
| TEST_F(DisplayTest, CallsCreateDefaultDisplays) {
|
| const int kNumHostsToCreate = 2;
|
| - window_server_delegate_.set_num_displays_to_create(kNumHostsToCreate);
|
| + window_server_delegate()->set_num_displays_to_create(kNumHostsToCreate);
|
|
|
| - DisplayManager* display_manager = window_server_->display_manager();
|
| + DisplayManager* display_manager = window_server()->display_manager();
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
| // The first register should trigger creation of the default
|
| // Displays. There should be kNumHostsToCreate Displays.
|
| @@ -101,7 +97,7 @@ TEST_F(DisplayTest, CallsCreateDefaultDisplays) {
|
|
|
| // Add another registry, should trigger creation of another wm.
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId2);
|
| for (Display* display : display_manager->displays()) {
|
| ASSERT_EQ(2u, display->num_window_manger_states());
|
| @@ -118,54 +114,54 @@ TEST_F(DisplayTest, CallsCreateDefaultDisplays) {
|
| }
|
|
|
| TEST_F(DisplayTest, Destruction) {
|
| - window_server_delegate_.set_num_displays_to_create(1);
|
| + window_server_delegate()->set_num_displays_to_create(1);
|
|
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
|
|
| // Add another registry, should trigger creation of another wm.
|
| - DisplayManager* display_manager = window_server_->display_manager();
|
| + DisplayManager* display_manager = window_server()->display_manager();
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId2);
|
| ASSERT_EQ(1u, display_manager->displays().size());
|
| Display* display = *display_manager->displays().begin();
|
| ASSERT_EQ(2u, display->num_window_manger_states());
|
| // There should be two trees, one for each windowmanager.
|
| - EXPECT_EQ(2u, window_server_->num_trees());
|
| + EXPECT_EQ(2u, window_server()->num_trees());
|
|
|
| {
|
| WindowManagerState* state = GetWindowManagerStateForUser(display, kTestId1);
|
| // Destroy the tree associated with |state|. Should result in deleting
|
| // |state|.
|
| - window_server_->DestroyTree(state->window_tree());
|
| + window_server()->DestroyTree(state->window_tree());
|
| ASSERT_EQ(1u, display->num_window_manger_states());
|
| EXPECT_FALSE(GetWindowManagerStateForUser(display, kTestId1));
|
| EXPECT_EQ(1u, display_manager->displays().size());
|
| - EXPECT_EQ(1u, window_server_->num_trees());
|
| + EXPECT_EQ(1u, window_server()->num_trees());
|
| }
|
|
|
| - EXPECT_FALSE(window_server_delegate_.got_on_no_more_displays());
|
| - window_server_->display_manager()->DestroyDisplay(display);
|
| + EXPECT_FALSE(window_server_delegate()->got_on_no_more_displays());
|
| + window_server()->display_manager()->DestroyDisplay(display);
|
| // There is still one tree left.
|
| - EXPECT_EQ(1u, window_server_->num_trees());
|
| - EXPECT_TRUE(window_server_delegate_.got_on_no_more_displays());
|
| + EXPECT_EQ(1u, window_server()->num_trees());
|
| + EXPECT_TRUE(window_server_delegate()->got_on_no_more_displays());
|
| }
|
|
|
| TEST_F(DisplayTest, EventStateResetOnUserSwitch) {
|
| - window_server_delegate_.set_num_displays_to_create(1);
|
| + window_server_delegate()->set_num_displays_to_create(1);
|
|
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId2);
|
|
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId1);
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
|
|
|
| - DisplayManager* display_manager = window_server_->display_manager();
|
| + DisplayManager* display_manager = window_server()->display_manager();
|
| ASSERT_EQ(1u, display_manager->displays().size());
|
| Display* display = *display_manager->displays().begin();
|
| WindowManagerState* active_wms =
|
| @@ -185,7 +181,7 @@ TEST_F(DisplayTest, EventStateResetOnUserSwitch) {
|
|
|
| // Switch the user. Should trigger resetting state in old event dispatcher
|
| // and update state in new event dispatcher.
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId2);
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId2);
|
| EXPECT_NE(
|
| active_wms,
|
| display->GetActiveWindowManagerDisplayRoot()->window_manager_state());
|
| @@ -202,15 +198,15 @@ TEST_F(DisplayTest, EventStateResetOnUserSwitch) {
|
|
|
| // Verifies capture fails when wm is inactive and succeeds when wm is active.
|
| TEST_F(DisplayTest, SetCaptureFromWindowManager) {
|
| - window_server_delegate_.set_num_displays_to_create(1);
|
| + window_server_delegate()->set_num_displays_to_create(1);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId2);
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId1);
|
| - DisplayManager* display_manager = window_server_->display_manager();
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
|
| + DisplayManager* display_manager = window_server()->display_manager();
|
| ASSERT_EQ(1u, display_manager->displays().size());
|
| Display* display = *display_manager->displays().begin();
|
| WindowManagerState* wms_for_id2 =
|
| @@ -229,24 +225,24 @@ TEST_F(DisplayTest, SetCaptureFromWindowManager) {
|
| EXPECT_FALSE(tree->SetCapture(child_window_id));
|
|
|
| // Make the second user active and verify capture works.
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId2);
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId2);
|
| EXPECT_TRUE(wms_for_id2->IsActive());
|
| EXPECT_TRUE(tree->SetCapture(child_window_id));
|
| }
|
|
|
| TEST_F(DisplayTest, FocusFailsForInactiveUser) {
|
| - window_server_delegate_.set_num_displays_to_create(1);
|
| + window_server_delegate()->set_num_displays_to_create(1);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
| TestWindowTreeClient* window_tree_client1 =
|
| - window_server_delegate_.last_client();
|
| + window_server_delegate()->last_client();
|
| ASSERT_TRUE(window_tree_client1);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId2);
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId1);
|
| - DisplayManager* display_manager = window_server_->display_manager();
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
|
| + DisplayManager* display_manager = window_server()->display_manager();
|
| ASSERT_EQ(1u, display_manager->displays().size());
|
| Display* display = *display_manager->displays().begin();
|
| WindowManagerState* wms_for_id2 =
|
| @@ -275,14 +271,14 @@ TEST_F(DisplayTest, FocusFailsForInactiveUser) {
|
|
|
| // Verifies a single tree is used for multiple displays.
|
| TEST_F(DisplayTest, MultipleDisplays) {
|
| - window_server_delegate_.set_num_displays_to_create(2);
|
| + window_server_delegate()->set_num_displays_to_create(2);
|
| WindowManagerWindowTreeFactorySetTestApi(
|
| - window_server_->window_manager_window_tree_factory_set())
|
| + window_server()->window_manager_window_tree_factory_set())
|
| .Add(kTestId1);
|
| - window_server_->user_id_tracker()->SetActiveUserId(kTestId1);
|
| - ASSERT_EQ(1u, window_server_delegate_.bindings()->size());
|
| + window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
|
| + ASSERT_EQ(1u, window_server_delegate()->bindings()->size());
|
| TestWindowTreeBinding* window_tree_binding =
|
| - (*window_server_delegate_.bindings())[0];
|
| + (*window_server_delegate()->bindings())[0];
|
| WindowTree* tree = window_tree_binding->tree();
|
| ASSERT_EQ(2u, tree->roots().size());
|
| std::set<const ServerWindow*> roots = tree->roots();
|
|
|