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

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

Issue 2326203002: services/ui: Add WindowServerTestHelper. (Closed)
Patch Set: self nit Created 4 years, 3 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/cursor_unittest.cc ('k') | services/ui/ws/test_utils.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 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 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 display->GetWindowManagerDisplayRootForUser(user_id); 48 display->GetWindowManagerDisplayRootForUser(user_id);
49 return display_root ? display_root->window_manager_state() : nullptr; 49 return display_root ? display_root->window_manager_state() : nullptr;
50 } 50 }
51 51
52 } // namespace 52 } // namespace
53 53
54 // ----------------------------------------------------------------------------- 54 // -----------------------------------------------------------------------------
55 55
56 class DisplayTest : public testing::Test { 56 class DisplayTest : public testing::Test {
57 public: 57 public:
58 DisplayTest() : cursor_id_(0), platform_display_factory_(&cursor_id_) {} 58 DisplayTest() {}
59 ~DisplayTest() override {} 59 ~DisplayTest() override {}
60 60
61 WindowServer* window_server() { return ws_test_helper_.window_server(); }
62 TestWindowServerDelegate* window_server_delegate() {
63 return ws_test_helper_.window_server_delegate();
64 }
65
61 protected: 66 protected:
62 // testing::Test: 67 // testing::Test:
63 void SetUp() override { 68 void SetUp() override {
64 PlatformDisplay::set_factory_for_testing(&platform_display_factory_); 69 window_server()->user_id_tracker()->AddUserId(kTestId1);
65 window_server_.reset(new WindowServer(&window_server_delegate_)); 70 window_server()->user_id_tracker()->AddUserId(kTestId2);
66 window_server_delegate_.set_window_server(window_server_.get());
67 window_server_->user_id_tracker()->AddUserId(kTestId1);
68 window_server_->user_id_tracker()->AddUserId(kTestId2);
69 } 71 }
70 72
71 protected:
72 int32_t cursor_id_;
73 TestPlatformDisplayFactory platform_display_factory_;
74 TestWindowServerDelegate window_server_delegate_;
75 std::unique_ptr<WindowServer> window_server_;
76 base::MessageLoop message_loop_;
77
78 private: 73 private:
74 WindowServerTestHelper ws_test_helper_;
79 DISALLOW_COPY_AND_ASSIGN(DisplayTest); 75 DISALLOW_COPY_AND_ASSIGN(DisplayTest);
80 }; 76 };
81 77
82 TEST_F(DisplayTest, CallsCreateDefaultDisplays) { 78 TEST_F(DisplayTest, CallsCreateDefaultDisplays) {
83 const int kNumHostsToCreate = 2; 79 const int kNumHostsToCreate = 2;
84 window_server_delegate_.set_num_displays_to_create(kNumHostsToCreate); 80 window_server_delegate()->set_num_displays_to_create(kNumHostsToCreate);
85 81
86 DisplayManager* display_manager = window_server_->display_manager(); 82 DisplayManager* display_manager = window_server()->display_manager();
87 WindowManagerWindowTreeFactorySetTestApi( 83 WindowManagerWindowTreeFactorySetTestApi(
88 window_server_->window_manager_window_tree_factory_set()) 84 window_server()->window_manager_window_tree_factory_set())
89 .Add(kTestId1); 85 .Add(kTestId1);
90 // The first register should trigger creation of the default 86 // The first register should trigger creation of the default
91 // Displays. There should be kNumHostsToCreate Displays. 87 // Displays. There should be kNumHostsToCreate Displays.
92 EXPECT_EQ(static_cast<size_t>(kNumHostsToCreate), 88 EXPECT_EQ(static_cast<size_t>(kNumHostsToCreate),
93 display_manager->displays().size()); 89 display_manager->displays().size());
94 90
95 // Each host should have a WindowManagerState for kTestId1. 91 // Each host should have a WindowManagerState for kTestId1.
96 for (Display* display : display_manager->displays()) { 92 for (Display* display : display_manager->displays()) {
97 EXPECT_EQ(1u, display->num_window_manger_states()); 93 EXPECT_EQ(1u, display->num_window_manger_states());
98 EXPECT_TRUE(GetWindowManagerStateForUser(display, kTestId1)); 94 EXPECT_TRUE(GetWindowManagerStateForUser(display, kTestId1));
99 EXPECT_FALSE(GetWindowManagerStateForUser(display, kTestId2)); 95 EXPECT_FALSE(GetWindowManagerStateForUser(display, kTestId2));
100 } 96 }
101 97
102 // Add another registry, should trigger creation of another wm. 98 // Add another registry, should trigger creation of another wm.
103 WindowManagerWindowTreeFactorySetTestApi( 99 WindowManagerWindowTreeFactorySetTestApi(
104 window_server_->window_manager_window_tree_factory_set()) 100 window_server()->window_manager_window_tree_factory_set())
105 .Add(kTestId2); 101 .Add(kTestId2);
106 for (Display* display : display_manager->displays()) { 102 for (Display* display : display_manager->displays()) {
107 ASSERT_EQ(2u, display->num_window_manger_states()); 103 ASSERT_EQ(2u, display->num_window_manger_states());
108 WindowManagerDisplayRoot* root1 = 104 WindowManagerDisplayRoot* root1 =
109 display->GetWindowManagerDisplayRootForUser(kTestId1); 105 display->GetWindowManagerDisplayRootForUser(kTestId1);
110 ASSERT_TRUE(root1); 106 ASSERT_TRUE(root1);
111 WindowManagerDisplayRoot* root2 = 107 WindowManagerDisplayRoot* root2 =
112 display->GetWindowManagerDisplayRootForUser(kTestId2); 108 display->GetWindowManagerDisplayRootForUser(kTestId2);
113 ASSERT_TRUE(root2); 109 ASSERT_TRUE(root2);
114 // Verify the two states have different roots. 110 // Verify the two states have different roots.
115 EXPECT_NE(root1, root2); 111 EXPECT_NE(root1, root2);
116 EXPECT_NE(root1->root(), root2->root()); 112 EXPECT_NE(root1->root(), root2->root());
117 } 113 }
118 } 114 }
119 115
120 TEST_F(DisplayTest, Destruction) { 116 TEST_F(DisplayTest, Destruction) {
121 window_server_delegate_.set_num_displays_to_create(1); 117 window_server_delegate()->set_num_displays_to_create(1);
122 118
123 WindowManagerWindowTreeFactorySetTestApi( 119 WindowManagerWindowTreeFactorySetTestApi(
124 window_server_->window_manager_window_tree_factory_set()) 120 window_server()->window_manager_window_tree_factory_set())
125 .Add(kTestId1); 121 .Add(kTestId1);
126 122
127 // Add another registry, should trigger creation of another wm. 123 // Add another registry, should trigger creation of another wm.
128 DisplayManager* display_manager = window_server_->display_manager(); 124 DisplayManager* display_manager = window_server()->display_manager();
129 WindowManagerWindowTreeFactorySetTestApi( 125 WindowManagerWindowTreeFactorySetTestApi(
130 window_server_->window_manager_window_tree_factory_set()) 126 window_server()->window_manager_window_tree_factory_set())
131 .Add(kTestId2); 127 .Add(kTestId2);
132 ASSERT_EQ(1u, display_manager->displays().size()); 128 ASSERT_EQ(1u, display_manager->displays().size());
133 Display* display = *display_manager->displays().begin(); 129 Display* display = *display_manager->displays().begin();
134 ASSERT_EQ(2u, display->num_window_manger_states()); 130 ASSERT_EQ(2u, display->num_window_manger_states());
135 // There should be two trees, one for each windowmanager. 131 // There should be two trees, one for each windowmanager.
136 EXPECT_EQ(2u, window_server_->num_trees()); 132 EXPECT_EQ(2u, window_server()->num_trees());
137 133
138 { 134 {
139 WindowManagerState* state = GetWindowManagerStateForUser(display, kTestId1); 135 WindowManagerState* state = GetWindowManagerStateForUser(display, kTestId1);
140 // Destroy the tree associated with |state|. Should result in deleting 136 // Destroy the tree associated with |state|. Should result in deleting
141 // |state|. 137 // |state|.
142 window_server_->DestroyTree(state->window_tree()); 138 window_server()->DestroyTree(state->window_tree());
143 ASSERT_EQ(1u, display->num_window_manger_states()); 139 ASSERT_EQ(1u, display->num_window_manger_states());
144 EXPECT_FALSE(GetWindowManagerStateForUser(display, kTestId1)); 140 EXPECT_FALSE(GetWindowManagerStateForUser(display, kTestId1));
145 EXPECT_EQ(1u, display_manager->displays().size()); 141 EXPECT_EQ(1u, display_manager->displays().size());
146 EXPECT_EQ(1u, window_server_->num_trees()); 142 EXPECT_EQ(1u, window_server()->num_trees());
147 } 143 }
148 144
149 EXPECT_FALSE(window_server_delegate_.got_on_no_more_displays()); 145 EXPECT_FALSE(window_server_delegate()->got_on_no_more_displays());
150 window_server_->display_manager()->DestroyDisplay(display); 146 window_server()->display_manager()->DestroyDisplay(display);
151 // There is still one tree left. 147 // There is still one tree left.
152 EXPECT_EQ(1u, window_server_->num_trees()); 148 EXPECT_EQ(1u, window_server()->num_trees());
153 EXPECT_TRUE(window_server_delegate_.got_on_no_more_displays()); 149 EXPECT_TRUE(window_server_delegate()->got_on_no_more_displays());
154 } 150 }
155 151
156 TEST_F(DisplayTest, EventStateResetOnUserSwitch) { 152 TEST_F(DisplayTest, EventStateResetOnUserSwitch) {
157 window_server_delegate_.set_num_displays_to_create(1); 153 window_server_delegate()->set_num_displays_to_create(1);
158 154
159 WindowManagerWindowTreeFactorySetTestApi( 155 WindowManagerWindowTreeFactorySetTestApi(
160 window_server_->window_manager_window_tree_factory_set()) 156 window_server()->window_manager_window_tree_factory_set())
161 .Add(kTestId1); 157 .Add(kTestId1);
162 WindowManagerWindowTreeFactorySetTestApi( 158 WindowManagerWindowTreeFactorySetTestApi(
163 window_server_->window_manager_window_tree_factory_set()) 159 window_server()->window_manager_window_tree_factory_set())
164 .Add(kTestId2); 160 .Add(kTestId2);
165 161
166 window_server_->user_id_tracker()->SetActiveUserId(kTestId1); 162 window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
167 163
168 DisplayManager* display_manager = window_server_->display_manager(); 164 DisplayManager* display_manager = window_server()->display_manager();
169 ASSERT_EQ(1u, display_manager->displays().size()); 165 ASSERT_EQ(1u, display_manager->displays().size());
170 Display* display = *display_manager->displays().begin(); 166 Display* display = *display_manager->displays().begin();
171 WindowManagerState* active_wms = 167 WindowManagerState* active_wms =
172 display->GetActiveWindowManagerDisplayRoot()->window_manager_state(); 168 display->GetActiveWindowManagerDisplayRoot()->window_manager_state();
173 ASSERT_TRUE(active_wms); 169 ASSERT_TRUE(active_wms);
174 EXPECT_EQ(kTestId1, active_wms->user_id()); 170 EXPECT_EQ(kTestId1, active_wms->user_id());
175 171
176 static_cast<PlatformDisplayDelegate*>(display)->OnEvent(ui::PointerEvent( 172 static_cast<PlatformDisplayDelegate*>(display)->OnEvent(ui::PointerEvent(
177 ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), 173 ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(20, 25),
178 gfx::Point(20, 25), base::TimeTicks(), 174 gfx::Point(20, 25), base::TimeTicks(),
179 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON))); 175 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON)));
180 176
181 EXPECT_TRUE(EventDispatcherTestApi(active_wms->event_dispatcher()) 177 EXPECT_TRUE(EventDispatcherTestApi(active_wms->event_dispatcher())
182 .AreAnyPointersDown()); 178 .AreAnyPointersDown());
183 EXPECT_EQ(gfx::Point(20, 25), 179 EXPECT_EQ(gfx::Point(20, 25),
184 active_wms->event_dispatcher()->mouse_pointer_last_location()); 180 active_wms->event_dispatcher()->mouse_pointer_last_location());
185 181
186 // Switch the user. Should trigger resetting state in old event dispatcher 182 // Switch the user. Should trigger resetting state in old event dispatcher
187 // and update state in new event dispatcher. 183 // and update state in new event dispatcher.
188 window_server_->user_id_tracker()->SetActiveUserId(kTestId2); 184 window_server()->user_id_tracker()->SetActiveUserId(kTestId2);
189 EXPECT_NE( 185 EXPECT_NE(
190 active_wms, 186 active_wms,
191 display->GetActiveWindowManagerDisplayRoot()->window_manager_state()); 187 display->GetActiveWindowManagerDisplayRoot()->window_manager_state());
192 EXPECT_FALSE(EventDispatcherTestApi(active_wms->event_dispatcher()) 188 EXPECT_FALSE(EventDispatcherTestApi(active_wms->event_dispatcher())
193 .AreAnyPointersDown()); 189 .AreAnyPointersDown());
194 active_wms = 190 active_wms =
195 display->GetActiveWindowManagerDisplayRoot()->window_manager_state(); 191 display->GetActiveWindowManagerDisplayRoot()->window_manager_state();
196 EXPECT_EQ(kTestId2, active_wms->user_id()); 192 EXPECT_EQ(kTestId2, active_wms->user_id());
197 EXPECT_EQ(gfx::Point(20, 25), 193 EXPECT_EQ(gfx::Point(20, 25),
198 active_wms->event_dispatcher()->mouse_pointer_last_location()); 194 active_wms->event_dispatcher()->mouse_pointer_last_location());
199 EXPECT_FALSE(EventDispatcherTestApi(active_wms->event_dispatcher()) 195 EXPECT_FALSE(EventDispatcherTestApi(active_wms->event_dispatcher())
200 .AreAnyPointersDown()); 196 .AreAnyPointersDown());
201 } 197 }
202 198
203 // Verifies capture fails when wm is inactive and succeeds when wm is active. 199 // Verifies capture fails when wm is inactive and succeeds when wm is active.
204 TEST_F(DisplayTest, SetCaptureFromWindowManager) { 200 TEST_F(DisplayTest, SetCaptureFromWindowManager) {
205 window_server_delegate_.set_num_displays_to_create(1); 201 window_server_delegate()->set_num_displays_to_create(1);
206 WindowManagerWindowTreeFactorySetTestApi( 202 WindowManagerWindowTreeFactorySetTestApi(
207 window_server_->window_manager_window_tree_factory_set()) 203 window_server()->window_manager_window_tree_factory_set())
208 .Add(kTestId1); 204 .Add(kTestId1);
209 WindowManagerWindowTreeFactorySetTestApi( 205 WindowManagerWindowTreeFactorySetTestApi(
210 window_server_->window_manager_window_tree_factory_set()) 206 window_server()->window_manager_window_tree_factory_set())
211 .Add(kTestId2); 207 .Add(kTestId2);
212 window_server_->user_id_tracker()->SetActiveUserId(kTestId1); 208 window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
213 DisplayManager* display_manager = window_server_->display_manager(); 209 DisplayManager* display_manager = window_server()->display_manager();
214 ASSERT_EQ(1u, display_manager->displays().size()); 210 ASSERT_EQ(1u, display_manager->displays().size());
215 Display* display = *display_manager->displays().begin(); 211 Display* display = *display_manager->displays().begin();
216 WindowManagerState* wms_for_id2 = 212 WindowManagerState* wms_for_id2 =
217 GetWindowManagerStateForUser(display, kTestId2); 213 GetWindowManagerStateForUser(display, kTestId2);
218 ASSERT_TRUE(wms_for_id2); 214 ASSERT_TRUE(wms_for_id2);
219 EXPECT_FALSE(wms_for_id2->IsActive()); 215 EXPECT_FALSE(wms_for_id2->IsActive());
220 216
221 // Create a child of the root that we can set capture on. 217 // Create a child of the root that we can set capture on.
222 WindowTree* tree = wms_for_id2->window_tree(); 218 WindowTree* tree = wms_for_id2->window_tree();
223 ClientWindowId child_window_id; 219 ClientWindowId child_window_id;
224 ASSERT_TRUE(NewWindowInTree(tree, &child_window_id)); 220 ASSERT_TRUE(NewWindowInTree(tree, &child_window_id));
225 221
226 WindowTreeTestApi(tree).EnableCapture(); 222 WindowTreeTestApi(tree).EnableCapture();
227 223
228 // SetCapture() should fail for user id2 as it is inactive. 224 // SetCapture() should fail for user id2 as it is inactive.
229 EXPECT_FALSE(tree->SetCapture(child_window_id)); 225 EXPECT_FALSE(tree->SetCapture(child_window_id));
230 226
231 // Make the second user active and verify capture works. 227 // Make the second user active and verify capture works.
232 window_server_->user_id_tracker()->SetActiveUserId(kTestId2); 228 window_server()->user_id_tracker()->SetActiveUserId(kTestId2);
233 EXPECT_TRUE(wms_for_id2->IsActive()); 229 EXPECT_TRUE(wms_for_id2->IsActive());
234 EXPECT_TRUE(tree->SetCapture(child_window_id)); 230 EXPECT_TRUE(tree->SetCapture(child_window_id));
235 } 231 }
236 232
237 TEST_F(DisplayTest, FocusFailsForInactiveUser) { 233 TEST_F(DisplayTest, FocusFailsForInactiveUser) {
238 window_server_delegate_.set_num_displays_to_create(1); 234 window_server_delegate()->set_num_displays_to_create(1);
239 WindowManagerWindowTreeFactorySetTestApi( 235 WindowManagerWindowTreeFactorySetTestApi(
240 window_server_->window_manager_window_tree_factory_set()) 236 window_server()->window_manager_window_tree_factory_set())
241 .Add(kTestId1); 237 .Add(kTestId1);
242 TestWindowTreeClient* window_tree_client1 = 238 TestWindowTreeClient* window_tree_client1 =
243 window_server_delegate_.last_client(); 239 window_server_delegate()->last_client();
244 ASSERT_TRUE(window_tree_client1); 240 ASSERT_TRUE(window_tree_client1);
245 WindowManagerWindowTreeFactorySetTestApi( 241 WindowManagerWindowTreeFactorySetTestApi(
246 window_server_->window_manager_window_tree_factory_set()) 242 window_server()->window_manager_window_tree_factory_set())
247 .Add(kTestId2); 243 .Add(kTestId2);
248 window_server_->user_id_tracker()->SetActiveUserId(kTestId1); 244 window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
249 DisplayManager* display_manager = window_server_->display_manager(); 245 DisplayManager* display_manager = window_server()->display_manager();
250 ASSERT_EQ(1u, display_manager->displays().size()); 246 ASSERT_EQ(1u, display_manager->displays().size());
251 Display* display = *display_manager->displays().begin(); 247 Display* display = *display_manager->displays().begin();
252 WindowManagerState* wms_for_id2 = 248 WindowManagerState* wms_for_id2 =
253 GetWindowManagerStateForUser(display, kTestId2); 249 GetWindowManagerStateForUser(display, kTestId2);
254 wms_for_id2->window_tree()->AddActivationParent( 250 wms_for_id2->window_tree()->AddActivationParent(
255 ClientWindowIdForFirstRoot(wms_for_id2->window_tree())); 251 ClientWindowIdForFirstRoot(wms_for_id2->window_tree()));
256 ASSERT_TRUE(wms_for_id2); 252 ASSERT_TRUE(wms_for_id2);
257 EXPECT_FALSE(wms_for_id2->IsActive()); 253 EXPECT_FALSE(wms_for_id2->IsActive());
258 ClientWindowId child2_id; 254 ClientWindowId child2_id;
259 NewWindowInTree(wms_for_id2->window_tree(), &child2_id); 255 NewWindowInTree(wms_for_id2->window_tree(), &child2_id);
260 256
261 // Focus should fail for windows in inactive window managers. 257 // Focus should fail for windows in inactive window managers.
262 EXPECT_FALSE(wms_for_id2->window_tree()->SetFocus(child2_id)); 258 EXPECT_FALSE(wms_for_id2->window_tree()->SetFocus(child2_id));
263 259
264 // Focus should succeed for the active window manager. 260 // Focus should succeed for the active window manager.
265 WindowManagerState* wms_for_id1 = 261 WindowManagerState* wms_for_id1 =
266 GetWindowManagerStateForUser(display, kTestId1); 262 GetWindowManagerStateForUser(display, kTestId1);
267 ASSERT_TRUE(wms_for_id1); 263 ASSERT_TRUE(wms_for_id1);
268 wms_for_id1->window_tree()->AddActivationParent( 264 wms_for_id1->window_tree()->AddActivationParent(
269 ClientWindowIdForFirstRoot(wms_for_id1->window_tree())); 265 ClientWindowIdForFirstRoot(wms_for_id1->window_tree()));
270 ClientWindowId child1_id; 266 ClientWindowId child1_id;
271 NewWindowInTree(wms_for_id1->window_tree(), &child1_id); 267 NewWindowInTree(wms_for_id1->window_tree(), &child1_id);
272 EXPECT_TRUE(wms_for_id1->IsActive()); 268 EXPECT_TRUE(wms_for_id1->IsActive());
273 EXPECT_TRUE(wms_for_id1->window_tree()->SetFocus(child1_id)); 269 EXPECT_TRUE(wms_for_id1->window_tree()->SetFocus(child1_id));
274 } 270 }
275 271
276 // Verifies a single tree is used for multiple displays. 272 // Verifies a single tree is used for multiple displays.
277 TEST_F(DisplayTest, MultipleDisplays) { 273 TEST_F(DisplayTest, MultipleDisplays) {
278 window_server_delegate_.set_num_displays_to_create(2); 274 window_server_delegate()->set_num_displays_to_create(2);
279 WindowManagerWindowTreeFactorySetTestApi( 275 WindowManagerWindowTreeFactorySetTestApi(
280 window_server_->window_manager_window_tree_factory_set()) 276 window_server()->window_manager_window_tree_factory_set())
281 .Add(kTestId1); 277 .Add(kTestId1);
282 window_server_->user_id_tracker()->SetActiveUserId(kTestId1); 278 window_server()->user_id_tracker()->SetActiveUserId(kTestId1);
283 ASSERT_EQ(1u, window_server_delegate_.bindings()->size()); 279 ASSERT_EQ(1u, window_server_delegate()->bindings()->size());
284 TestWindowTreeBinding* window_tree_binding = 280 TestWindowTreeBinding* window_tree_binding =
285 (*window_server_delegate_.bindings())[0]; 281 (*window_server_delegate()->bindings())[0];
286 WindowTree* tree = window_tree_binding->tree(); 282 WindowTree* tree = window_tree_binding->tree();
287 ASSERT_EQ(2u, tree->roots().size()); 283 ASSERT_EQ(2u, tree->roots().size());
288 std::set<const ServerWindow*> roots = tree->roots(); 284 std::set<const ServerWindow*> roots = tree->roots();
289 auto it = roots.begin(); 285 auto it = roots.begin();
290 ServerWindow* root1 = tree->GetWindow((*it)->id()); 286 ServerWindow* root1 = tree->GetWindow((*it)->id());
291 ++it; 287 ++it;
292 ServerWindow* root2 = tree->GetWindow((*it)->id()); 288 ServerWindow* root2 = tree->GetWindow((*it)->id());
293 ASSERT_NE(root1, root2); 289 ASSERT_NE(root1, root2);
294 Display* display1 = tree->GetDisplay(root1); 290 Display* display1 = tree->GetDisplay(root1);
295 WindowManagerState* display1_wms = 291 WindowManagerState* display1_wms =
296 display1->GetWindowManagerDisplayRootForUser(kTestId1) 292 display1->GetWindowManagerDisplayRootForUser(kTestId1)
297 ->window_manager_state(); 293 ->window_manager_state();
298 Display* display2 = tree->GetDisplay(root2); 294 Display* display2 = tree->GetDisplay(root2);
299 WindowManagerState* display2_wms = 295 WindowManagerState* display2_wms =
300 display2->GetWindowManagerDisplayRootForUser(kTestId1) 296 display2->GetWindowManagerDisplayRootForUser(kTestId1)
301 ->window_manager_state(); 297 ->window_manager_state();
302 EXPECT_EQ(display1_wms->window_tree(), display2_wms->window_tree()); 298 EXPECT_EQ(display1_wms->window_tree(), display2_wms->window_tree());
303 } 299 }
304 300
305 } // namespace test 301 } // namespace test
306 } // namespace ws 302 } // namespace ws
307 } // namespace ui 303 } // namespace ui
OLDNEW
« no previous file with comments | « services/ui/ws/cursor_unittest.cc ('k') | services/ui/ws/test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698