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

Side by Side Diff: ui/views/widget/desktop_aura/desktop_screen_x11_unittest.cc

Issue 341983008: Listen to Display reconfiguration and notify DisplayObservers on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mac_display
Patch Set: Created 6 years, 5 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 | « ui/views/widget/desktop_aura/desktop_screen_x11.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "ui/views/widget/desktop_aura/desktop_screen_x11.h" 5 #include "ui/views/widget/desktop_aura/desktop_screen_x11.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/aura/client/aura_constants.h" 9 #include "ui/aura/client/aura_constants.h"
10 #include "ui/aura/test/event_generator.h" 10 #include "ui/aura/test/event_generator.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 ViewsTestBase::TearDown(); 72 ViewsTestBase::TearDown();
73 } 73 }
74 74
75 protected: 75 protected:
76 std::vector<gfx::Display> changed_display_; 76 std::vector<gfx::Display> changed_display_;
77 std::vector<gfx::Display> added_display_; 77 std::vector<gfx::Display> added_display_;
78 std::vector<gfx::Display> removed_display_; 78 std::vector<gfx::Display> removed_display_;
79 79
80 DesktopScreenX11* screen() { return screen_.get(); } 80 DesktopScreenX11* screen() { return screen_.get(); }
81 81
82 void NotifyDisplaysChanged(const std::vector<gfx::Display>& displays) {
83 DesktopScreenX11* screen = screen_.get();
84 screen->change_notifier_.NotifyDisplaysChanged(screen->displays_, displays);
85 screen->displays_ = displays;
86 }
87
82 void ResetDisplayChanges() { 88 void ResetDisplayChanges() {
83 changed_display_.clear(); 89 changed_display_.clear();
84 added_display_.clear(); 90 added_display_.clear();
85 removed_display_.clear(); 91 removed_display_.clear();
86 } 92 }
87 93
88 Widget* BuildTopLevelDesktopWidget(const gfx::Rect& bounds, 94 Widget* BuildTopLevelDesktopWidget(const gfx::Rect& bounds,
89 bool use_test_native_widget) { 95 bool use_test_native_widget) {
90 Widget* toplevel = new Widget; 96 Widget* toplevel = new Widget;
91 Widget::InitParams toplevel_params = 97 Widget::InitParams toplevel_params =
(...skipping 27 matching lines...) Expand all
119 } 125 }
120 126
121 scoped_ptr<DesktopScreenX11> screen_; 127 scoped_ptr<DesktopScreenX11> screen_;
122 128
123 DISALLOW_COPY_AND_ASSIGN(DesktopScreenX11Test); 129 DISALLOW_COPY_AND_ASSIGN(DesktopScreenX11Test);
124 }; 130 };
125 131
126 TEST_F(DesktopScreenX11Test, BoundsChangeSingleMonitor) { 132 TEST_F(DesktopScreenX11Test, BoundsChangeSingleMonitor) {
127 std::vector<gfx::Display> displays; 133 std::vector<gfx::Display> displays;
128 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 1024, 768))); 134 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 1024, 768)));
129 screen()->ProcessDisplayChange(displays); 135 NotifyDisplaysChanged(displays);
130 136
131 EXPECT_EQ(1u, changed_display_.size()); 137 EXPECT_EQ(1u, changed_display_.size());
132 EXPECT_EQ(0u, added_display_.size()); 138 EXPECT_EQ(0u, added_display_.size());
133 EXPECT_EQ(0u, removed_display_.size()); 139 EXPECT_EQ(0u, removed_display_.size());
134 } 140 }
135 141
136 TEST_F(DesktopScreenX11Test, AddMonitorToTheRight) { 142 TEST_F(DesktopScreenX11Test, AddMonitorToTheRight) {
137 std::vector<gfx::Display> displays; 143 std::vector<gfx::Display> displays;
138 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 144 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
139 displays.push_back(gfx::Display(kSecondDisplay, 145 displays.push_back(gfx::Display(kSecondDisplay,
140 gfx::Rect(640, 0, 1024, 768))); 146 gfx::Rect(640, 0, 1024, 768)));
141 screen()->ProcessDisplayChange(displays); 147 NotifyDisplaysChanged(displays);
142 148
143 EXPECT_EQ(0u, changed_display_.size()); 149 EXPECT_EQ(0u, changed_display_.size());
144 EXPECT_EQ(1u, added_display_.size()); 150 EXPECT_EQ(1u, added_display_.size());
145 EXPECT_EQ(0u, removed_display_.size()); 151 EXPECT_EQ(0u, removed_display_.size());
146 } 152 }
147 153
148 TEST_F(DesktopScreenX11Test, AddMonitorToTheLeft) { 154 TEST_F(DesktopScreenX11Test, AddMonitorToTheLeft) {
149 std::vector<gfx::Display> displays; 155 std::vector<gfx::Display> displays;
150 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768))); 156 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768)));
151 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(1024, 0, 640, 480))); 157 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(1024, 0, 640, 480)));
152 screen()->ProcessDisplayChange(displays); 158 NotifyDisplaysChanged(displays);
153 159
154 EXPECT_EQ(1u, changed_display_.size()); 160 EXPECT_EQ(1u, changed_display_.size());
155 EXPECT_EQ(1u, added_display_.size()); 161 EXPECT_EQ(1u, added_display_.size());
156 EXPECT_EQ(0u, removed_display_.size()); 162 EXPECT_EQ(0u, removed_display_.size());
157 } 163 }
158 164
159 TEST_F(DesktopScreenX11Test, RemoveMonitorOnRight) { 165 TEST_F(DesktopScreenX11Test, RemoveMonitorOnRight) {
160 std::vector<gfx::Display> displays; 166 std::vector<gfx::Display> displays;
161 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 167 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
162 displays.push_back(gfx::Display(kSecondDisplay, 168 displays.push_back(gfx::Display(kSecondDisplay,
163 gfx::Rect(640, 0, 1024, 768))); 169 gfx::Rect(640, 0, 1024, 768)));
164 screen()->ProcessDisplayChange(displays); 170 NotifyDisplaysChanged(displays);
165 171
166 ResetDisplayChanges(); 172 ResetDisplayChanges();
167 173
168 displays.clear(); 174 displays.clear();
169 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 175 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
170 screen()->ProcessDisplayChange(displays); 176 NotifyDisplaysChanged(displays);
171 177
172 EXPECT_EQ(0u, changed_display_.size()); 178 EXPECT_EQ(0u, changed_display_.size());
173 EXPECT_EQ(0u, added_display_.size()); 179 EXPECT_EQ(0u, added_display_.size());
174 EXPECT_EQ(1u, removed_display_.size()); 180 EXPECT_EQ(1u, removed_display_.size());
175 } 181 }
176 182
177 TEST_F(DesktopScreenX11Test, RemoveMonitorOnLeft) { 183 TEST_F(DesktopScreenX11Test, RemoveMonitorOnLeft) {
178 std::vector<gfx::Display> displays; 184 std::vector<gfx::Display> displays;
179 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 185 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
180 displays.push_back(gfx::Display(kSecondDisplay, 186 displays.push_back(gfx::Display(kSecondDisplay,
181 gfx::Rect(640, 0, 1024, 768))); 187 gfx::Rect(640, 0, 1024, 768)));
182 screen()->ProcessDisplayChange(displays); 188 NotifyDisplaysChanged(displays);
183 189
184 ResetDisplayChanges(); 190 ResetDisplayChanges();
185 191
186 displays.clear(); 192 displays.clear();
187 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768))); 193 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768)));
188 screen()->ProcessDisplayChange(displays); 194 NotifyDisplaysChanged(displays);
189 195
190 EXPECT_EQ(1u, changed_display_.size()); 196 EXPECT_EQ(1u, changed_display_.size());
191 EXPECT_EQ(0u, added_display_.size()); 197 EXPECT_EQ(0u, added_display_.size());
192 EXPECT_EQ(1u, removed_display_.size()); 198 EXPECT_EQ(1u, removed_display_.size());
193 } 199 }
194 200
195 TEST_F(DesktopScreenX11Test, GetDisplayNearestPoint) { 201 TEST_F(DesktopScreenX11Test, GetDisplayNearestPoint) {
196 std::vector<gfx::Display> displays; 202 std::vector<gfx::Display> displays;
197 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 203 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
198 displays.push_back(gfx::Display(kSecondDisplay, 204 displays.push_back(gfx::Display(kSecondDisplay,
199 gfx::Rect(640, 0, 1024, 768))); 205 gfx::Rect(640, 0, 1024, 768)));
200 screen()->ProcessDisplayChange(displays); 206 NotifyDisplaysChanged(displays);
201 207
202 EXPECT_EQ(kSecondDisplay, 208 EXPECT_EQ(kSecondDisplay,
203 screen()->GetDisplayNearestPoint(gfx::Point(650, 10)).id()); 209 screen()->GetDisplayNearestPoint(gfx::Point(650, 10)).id());
204 EXPECT_EQ(kFirstDisplay, 210 EXPECT_EQ(kFirstDisplay,
205 screen()->GetDisplayNearestPoint(gfx::Point(10, 10)).id()); 211 screen()->GetDisplayNearestPoint(gfx::Point(10, 10)).id());
206 EXPECT_EQ(kFirstDisplay, 212 EXPECT_EQ(kFirstDisplay,
207 screen()->GetDisplayNearestPoint(gfx::Point(10000, 10000)).id()); 213 screen()->GetDisplayNearestPoint(gfx::Point(10000, 10000)).id());
208 } 214 }
209 215
210 TEST_F(DesktopScreenX11Test, GetDisplayMatchingBasic) { 216 TEST_F(DesktopScreenX11Test, GetDisplayMatchingBasic) {
211 std::vector<gfx::Display> displays; 217 std::vector<gfx::Display> displays;
212 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 218 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
213 displays.push_back(gfx::Display(kSecondDisplay, 219 displays.push_back(gfx::Display(kSecondDisplay,
214 gfx::Rect(640, 0, 1024, 768))); 220 gfx::Rect(640, 0, 1024, 768)));
215 screen()->ProcessDisplayChange(displays); 221 NotifyDisplaysChanged(displays);
216 222
217 EXPECT_EQ(kSecondDisplay, 223 EXPECT_EQ(kSecondDisplay,
218 screen()->GetDisplayMatching(gfx::Rect(700, 20, 100, 100)).id()); 224 screen()->GetDisplayMatching(gfx::Rect(700, 20, 100, 100)).id());
219 } 225 }
220 226
221 TEST_F(DesktopScreenX11Test, GetDisplayMatchingOverlap) { 227 TEST_F(DesktopScreenX11Test, GetDisplayMatchingOverlap) {
222 std::vector<gfx::Display> displays; 228 std::vector<gfx::Display> displays;
223 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 229 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
224 displays.push_back(gfx::Display(kSecondDisplay, 230 displays.push_back(gfx::Display(kSecondDisplay,
225 gfx::Rect(640, 0, 1024, 768))); 231 gfx::Rect(640, 0, 1024, 768)));
226 screen()->ProcessDisplayChange(displays); 232 NotifyDisplaysChanged(displays);
227 233
228 EXPECT_EQ(kSecondDisplay, 234 EXPECT_EQ(kSecondDisplay,
229 screen()->GetDisplayMatching(gfx::Rect(630, 20, 100, 100)).id()); 235 screen()->GetDisplayMatching(gfx::Rect(630, 20, 100, 100)).id());
230 } 236 }
231 237
232 TEST_F(DesktopScreenX11Test, GetPrimaryDisplay) { 238 TEST_F(DesktopScreenX11Test, GetPrimaryDisplay) {
233 std::vector<gfx::Display> displays; 239 std::vector<gfx::Display> displays;
234 displays.push_back(gfx::Display(kFirstDisplay, 240 displays.push_back(gfx::Display(kFirstDisplay,
235 gfx::Rect(640, 0, 1024, 768))); 241 gfx::Rect(640, 0, 1024, 768)));
236 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 640, 480))); 242 displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 640, 480)));
237 screen()->ProcessDisplayChange(displays); 243 NotifyDisplaysChanged(displays);
238 244
239 // The first display in the list is always the primary, even if other 245 // The first display in the list is always the primary, even if other
240 // displays are to the left in screen layout. 246 // displays are to the left in screen layout.
241 EXPECT_EQ(kFirstDisplay, screen()->GetPrimaryDisplay().id()); 247 EXPECT_EQ(kFirstDisplay, screen()->GetPrimaryDisplay().id());
242 } 248 }
243 249
244 TEST_F(DesktopScreenX11Test, GetDisplayNearestWindow) { 250 TEST_F(DesktopScreenX11Test, GetDisplayNearestWindow) {
245 // Set up a two monitor situation. 251 // Set up a two monitor situation.
246 std::vector<gfx::Display> displays; 252 std::vector<gfx::Display> displays;
247 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 253 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
248 displays.push_back(gfx::Display(kSecondDisplay, 254 displays.push_back(gfx::Display(kSecondDisplay,
249 gfx::Rect(640, 0, 1024, 768))); 255 gfx::Rect(640, 0, 1024, 768)));
250 screen()->ProcessDisplayChange(displays); 256 NotifyDisplaysChanged(displays);
251 257
252 Widget* window_one = BuildTopLevelDesktopWidget(gfx::Rect(10, 10, 10, 10), 258 Widget* window_one = BuildTopLevelDesktopWidget(gfx::Rect(10, 10, 10, 10),
253 false); 259 false);
254 Widget* window_two = BuildTopLevelDesktopWidget(gfx::Rect(650, 50, 10, 10), 260 Widget* window_two = BuildTopLevelDesktopWidget(gfx::Rect(650, 50, 10, 10),
255 false); 261 false);
256 262
257 EXPECT_EQ( 263 EXPECT_EQ(
258 kFirstDisplay, 264 kFirstDisplay,
259 screen()->GetDisplayNearestWindow(window_one->GetNativeWindow()).id()); 265 screen()->GetDisplayNearestWindow(window_one->GetNativeWindow()).id());
260 EXPECT_EQ( 266 EXPECT_EQ(
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 356
351 widget->CloseNow(); 357 widget->CloseNow();
352 } 358 }
353 359
354 // Test that rotating the displays notifies the DisplayObservers. 360 // Test that rotating the displays notifies the DisplayObservers.
355 TEST_F(DesktopScreenX11Test, RotationChange) { 361 TEST_F(DesktopScreenX11Test, RotationChange) {
356 std::vector<gfx::Display> displays; 362 std::vector<gfx::Display> displays;
357 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 363 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
358 displays.push_back( 364 displays.push_back(
359 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768))); 365 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768)));
360 screen()->ProcessDisplayChange(displays); 366 NotifyDisplaysChanged(displays);
361 ResetDisplayChanges(); 367 ResetDisplayChanges();
362 368
363 displays[0].set_rotation(gfx::Display::ROTATE_90); 369 displays[0].set_rotation(gfx::Display::ROTATE_90);
364 screen()->ProcessDisplayChange(displays); 370 NotifyDisplaysChanged(displays);
365 EXPECT_EQ(1u, changed_display_.size()); 371 EXPECT_EQ(1u, changed_display_.size());
366 372
367 displays[1].set_rotation(gfx::Display::ROTATE_90); 373 displays[1].set_rotation(gfx::Display::ROTATE_90);
368 screen()->ProcessDisplayChange(displays); 374 NotifyDisplaysChanged(displays);
369 EXPECT_EQ(2u, changed_display_.size()); 375 EXPECT_EQ(2u, changed_display_.size());
370 376
371 displays[0].set_rotation(gfx::Display::ROTATE_270); 377 displays[0].set_rotation(gfx::Display::ROTATE_270);
372 screen()->ProcessDisplayChange(displays); 378 NotifyDisplaysChanged(displays);
373 EXPECT_EQ(3u, changed_display_.size()); 379 EXPECT_EQ(3u, changed_display_.size());
374 380
375 displays[0].set_rotation(gfx::Display::ROTATE_270); 381 displays[0].set_rotation(gfx::Display::ROTATE_270);
376 screen()->ProcessDisplayChange(displays); 382 NotifyDisplaysChanged(displays);
377 EXPECT_EQ(3u, changed_display_.size()); 383 EXPECT_EQ(3u, changed_display_.size());
378 384
379 displays[0].set_rotation(gfx::Display::ROTATE_0); 385 displays[0].set_rotation(gfx::Display::ROTATE_0);
380 displays[1].set_rotation(gfx::Display::ROTATE_0); 386 displays[1].set_rotation(gfx::Display::ROTATE_0);
381 screen()->ProcessDisplayChange(displays); 387 NotifyDisplaysChanged(displays);
382 EXPECT_EQ(5u, changed_display_.size()); 388 EXPECT_EQ(5u, changed_display_.size());
383 } 389 }
384 390
385 // Test that changing the displays workarea notifies the DisplayObservers. 391 // Test that changing the displays workarea notifies the DisplayObservers.
386 TEST_F(DesktopScreenX11Test, WorkareaChange) { 392 TEST_F(DesktopScreenX11Test, WorkareaChange) {
387 std::vector<gfx::Display> displays; 393 std::vector<gfx::Display> displays;
388 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 394 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
389 displays.push_back( 395 displays.push_back(
390 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768))); 396 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768)));
391 screen()->ProcessDisplayChange(displays); 397 NotifyDisplaysChanged(displays);
392 ResetDisplayChanges(); 398 ResetDisplayChanges();
393 399
394 displays[0].set_work_area(gfx::Rect(0, 0, 300, 300)); 400 displays[0].set_work_area(gfx::Rect(0, 0, 300, 300));
395 screen()->ProcessDisplayChange(displays); 401 NotifyDisplaysChanged(displays);
396 EXPECT_EQ(1u, changed_display_.size()); 402 EXPECT_EQ(1u, changed_display_.size());
397 403
398 displays[1].set_work_area(gfx::Rect(0, 0, 300, 300)); 404 displays[1].set_work_area(gfx::Rect(0, 0, 300, 300));
399 screen()->ProcessDisplayChange(displays); 405 NotifyDisplaysChanged(displays);
400 EXPECT_EQ(2u, changed_display_.size()); 406 EXPECT_EQ(2u, changed_display_.size());
401 407
402 displays[0].set_work_area(gfx::Rect(0, 0, 300, 300)); 408 displays[0].set_work_area(gfx::Rect(0, 0, 300, 300));
403 screen()->ProcessDisplayChange(displays); 409 NotifyDisplaysChanged(displays);
404 EXPECT_EQ(2u, changed_display_.size()); 410 EXPECT_EQ(2u, changed_display_.size());
405 411
406 displays[1].set_work_area(gfx::Rect(0, 0, 300, 300)); 412 displays[1].set_work_area(gfx::Rect(0, 0, 300, 300));
407 screen()->ProcessDisplayChange(displays); 413 NotifyDisplaysChanged(displays);
408 EXPECT_EQ(2u, changed_display_.size()); 414 EXPECT_EQ(2u, changed_display_.size());
409 415
410 displays[0].set_work_area(gfx::Rect(0, 0, 640, 480)); 416 displays[0].set_work_area(gfx::Rect(0, 0, 640, 480));
411 displays[1].set_work_area(gfx::Rect(640, 0, 1024, 768)); 417 displays[1].set_work_area(gfx::Rect(640, 0, 1024, 768));
412 screen()->ProcessDisplayChange(displays); 418 NotifyDisplaysChanged(displays);
413 EXPECT_EQ(4u, changed_display_.size()); 419 EXPECT_EQ(4u, changed_display_.size());
414 } 420 }
415 421
416 // Test that changing the device scale factor notifies the DisplayObservers. 422 // Test that changing the device scale factor notifies the DisplayObservers.
417 TEST_F(DesktopScreenX11Test, DeviceScaleFactorChange) { 423 TEST_F(DesktopScreenX11Test, DeviceScaleFactorChange) {
418 std::vector<gfx::Display> displays; 424 std::vector<gfx::Display> displays;
419 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); 425 displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480)));
420 displays.push_back( 426 displays.push_back(
421 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768))); 427 gfx::Display(kSecondDisplay, gfx::Rect(640, 0, 1024, 768)));
422 screen()->ProcessDisplayChange(displays); 428 NotifyDisplaysChanged(displays);
423 ResetDisplayChanges(); 429 ResetDisplayChanges();
424 430
425 displays[0].set_device_scale_factor(2.5f); 431 displays[0].set_device_scale_factor(2.5f);
426 screen()->ProcessDisplayChange(displays); 432 NotifyDisplaysChanged(displays);
427 EXPECT_EQ(1u, changed_display_.size()); 433 EXPECT_EQ(1u, changed_display_.size());
428 434
429 displays[1].set_device_scale_factor(2.5f); 435 displays[1].set_device_scale_factor(2.5f);
430 screen()->ProcessDisplayChange(displays); 436 NotifyDisplaysChanged(displays);
431 EXPECT_EQ(2u, changed_display_.size()); 437 EXPECT_EQ(2u, changed_display_.size());
432 438
433 displays[0].set_device_scale_factor(2.5f); 439 displays[0].set_device_scale_factor(2.5f);
434 screen()->ProcessDisplayChange(displays); 440 NotifyDisplaysChanged(displays);
435 EXPECT_EQ(2u, changed_display_.size()); 441 EXPECT_EQ(2u, changed_display_.size());
436 442
437 displays[1].set_device_scale_factor(2.5f); 443 displays[1].set_device_scale_factor(2.5f);
438 screen()->ProcessDisplayChange(displays); 444 NotifyDisplaysChanged(displays);
439 EXPECT_EQ(2u, changed_display_.size()); 445 EXPECT_EQ(2u, changed_display_.size());
440 446
441 displays[0].set_device_scale_factor(1.f); 447 displays[0].set_device_scale_factor(1.f);
442 displays[1].set_device_scale_factor(1.f); 448 displays[1].set_device_scale_factor(1.f);
443 screen()->ProcessDisplayChange(displays); 449 NotifyDisplaysChanged(displays);
444 EXPECT_EQ(4u, changed_display_.size()); 450 EXPECT_EQ(4u, changed_display_.size());
445 } 451 }
446 452
447 } // namespace views 453 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_screen_x11.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698