OLD | NEW |
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 "ui/display/chromeos/update_display_configuration_task.h" | 5 #include "ui/display/chromeos/update_display_configuration_task.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 private: | 213 private: |
214 DISALLOW_COPY_AND_ASSIGN(UpdateDisplayConfigurationTaskTest); | 214 DISALLOW_COPY_AND_ASSIGN(UpdateDisplayConfigurationTaskTest); |
215 }; | 215 }; |
216 | 216 |
217 } // namespace | 217 } // namespace |
218 | 218 |
219 TEST_F(UpdateDisplayConfigurationTaskTest, HeadlessConfiguration) { | 219 TEST_F(UpdateDisplayConfigurationTaskTest, HeadlessConfiguration) { |
220 { | 220 { |
221 UpdateDisplayConfigurationTask task( | 221 UpdateDisplayConfigurationTask task( |
222 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_HEADLESS, | 222 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_HEADLESS, |
223 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 223 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
224 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 224 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
225 base::Unretained(this))); | 225 base::Unretained(this))); |
226 task.Run(); | 226 task.Run(); |
227 } | 227 } |
228 | 228 |
229 EXPECT_TRUE(configured_); | 229 EXPECT_TRUE(configured_); |
230 EXPECT_TRUE(configuration_status_); | 230 EXPECT_TRUE(configuration_status_); |
231 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_HEADLESS, display_state_); | 231 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_HEADLESS, display_state_); |
232 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); | 232 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); |
233 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); | 233 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); |
234 } | 234 } |
235 | 235 |
236 TEST_F(UpdateDisplayConfigurationTaskTest, SingleConfiguration) { | 236 TEST_F(UpdateDisplayConfigurationTaskTest, SingleConfiguration) { |
237 UpdateDisplays(1); | 237 UpdateDisplays(1); |
238 | 238 |
239 { | 239 { |
240 UpdateDisplayConfigurationTask task( | 240 UpdateDisplayConfigurationTask task( |
241 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, | 241 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, |
242 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 242 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
243 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 243 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
244 base::Unretained(this))); | 244 base::Unretained(this))); |
245 task.Run(); | 245 task.Run(); |
246 } | 246 } |
247 | 247 |
248 EXPECT_TRUE(configured_); | 248 EXPECT_TRUE(configured_); |
249 EXPECT_TRUE(configuration_status_); | 249 EXPECT_TRUE(configuration_status_); |
250 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); | 250 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); |
251 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); | 251 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); |
252 EXPECT_EQ(JoinActions( | 252 EXPECT_EQ(JoinActions( |
253 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], | 253 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], |
254 nullptr).c_str(), | 254 nullptr).c_str(), |
255 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 255 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
256 kUngrab, NULL), | 256 kUngrab, NULL), |
257 log_.GetActionsAndClear()); | 257 log_.GetActionsAndClear()); |
258 } | 258 } |
259 | 259 |
260 TEST_F(UpdateDisplayConfigurationTaskTest, ExtendedConfiguration) { | 260 TEST_F(UpdateDisplayConfigurationTaskTest, ExtendedConfiguration) { |
261 UpdateDisplays(2); | 261 UpdateDisplays(2); |
262 | 262 |
263 { | 263 { |
264 UpdateDisplayConfigurationTask task( | 264 UpdateDisplayConfigurationTask task( |
265 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, | 265 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, |
266 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 266 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
267 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 267 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
268 base::Unretained(this))); | 268 base::Unretained(this))); |
269 task.Run(); | 269 task.Run(); |
270 } | 270 } |
271 | 271 |
272 EXPECT_TRUE(configured_); | 272 EXPECT_TRUE(configured_); |
273 EXPECT_TRUE(configuration_status_); | 273 EXPECT_TRUE(configuration_status_); |
274 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); | 274 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); |
275 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); | 275 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); |
276 EXPECT_EQ( | 276 EXPECT_EQ( |
277 JoinActions( | 277 JoinActions( |
278 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), | 278 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), |
279 small_mode_.size().height() + | 279 small_mode_.size().height() + |
280 big_mode_.size().height()), | 280 big_mode_.size().height()), |
281 &displays_[0], &displays_[1]).c_str(), | 281 &displays_[0], &displays_[1]).c_str(), |
282 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 282 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
283 GetCrtcAction(displays_[1], &big_mode_, | 283 GetCrtcAction(displays_[1], &big_mode_, |
284 gfx::Point(0, small_mode_.size().height())).c_str(), | 284 gfx::Point(0, small_mode_.size().height())).c_str(), |
285 kUngrab, NULL), | 285 kUngrab, NULL), |
286 log_.GetActionsAndClear()); | 286 log_.GetActionsAndClear()); |
287 } | 287 } |
288 | 288 |
289 TEST_F(UpdateDisplayConfigurationTaskTest, MirrorConfiguration) { | 289 TEST_F(UpdateDisplayConfigurationTaskTest, MirrorConfiguration) { |
290 UpdateDisplays(2); | 290 UpdateDisplays(2); |
291 | 291 |
292 { | 292 { |
293 UpdateDisplayConfigurationTask task( | 293 UpdateDisplayConfigurationTask task( |
294 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, | 294 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, |
295 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 295 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
296 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 296 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
297 base::Unretained(this))); | 297 base::Unretained(this))); |
298 task.Run(); | 298 task.Run(); |
299 } | 299 } |
300 | 300 |
301 EXPECT_TRUE(configured_); | 301 EXPECT_TRUE(configured_); |
302 EXPECT_TRUE(configuration_status_); | 302 EXPECT_TRUE(configuration_status_); |
303 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, display_state_); | 303 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, display_state_); |
304 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); | 304 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); |
305 EXPECT_EQ(JoinActions( | 305 EXPECT_EQ(JoinActions( |
306 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], | 306 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], |
307 &displays_[1]).c_str(), | 307 &displays_[1]).c_str(), |
308 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 308 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
309 GetCrtcAction(displays_[1], &small_mode_, gfx::Point()).c_str(), | 309 GetCrtcAction(displays_[1], &small_mode_, gfx::Point()).c_str(), |
310 kUngrab, NULL), | 310 kUngrab, NULL), |
311 log_.GetActionsAndClear()); | 311 log_.GetActionsAndClear()); |
312 } | 312 } |
313 | 313 |
314 TEST_F(UpdateDisplayConfigurationTaskTest, FailMirrorConfiguration) { | 314 TEST_F(UpdateDisplayConfigurationTaskTest, FailMirrorConfiguration) { |
315 layout_manager_.set_should_mirror(false); | 315 layout_manager_.set_should_mirror(false); |
316 UpdateDisplays(2); | 316 UpdateDisplays(2); |
317 | 317 |
318 { | 318 { |
319 UpdateDisplayConfigurationTask task( | 319 UpdateDisplayConfigurationTask task( |
320 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, | 320 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, |
321 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 321 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
322 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 322 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
323 base::Unretained(this))); | 323 base::Unretained(this))); |
324 task.Run(); | 324 task.Run(); |
325 } | 325 } |
326 | 326 |
327 EXPECT_TRUE(configured_); | 327 EXPECT_TRUE(configured_); |
328 EXPECT_FALSE(configuration_status_); | 328 EXPECT_FALSE(configuration_status_); |
329 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); | 329 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); |
330 } | 330 } |
331 | 331 |
332 TEST_F(UpdateDisplayConfigurationTaskTest, FailExtendedConfiguration) { | 332 TEST_F(UpdateDisplayConfigurationTaskTest, FailExtendedConfiguration) { |
333 delegate_.set_max_configurable_pixels(1); | 333 delegate_.set_max_configurable_pixels(1); |
334 UpdateDisplays(2); | 334 UpdateDisplays(2); |
335 | 335 |
336 { | 336 { |
337 UpdateDisplayConfigurationTask task( | 337 UpdateDisplayConfigurationTask task( |
338 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, | 338 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, |
339 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 339 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
340 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 340 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
341 base::Unretained(this))); | 341 base::Unretained(this))); |
342 task.Run(); | 342 task.Run(); |
343 } | 343 } |
344 | 344 |
345 EXPECT_TRUE(configured_); | 345 EXPECT_TRUE(configured_); |
346 EXPECT_FALSE(configuration_status_); | 346 EXPECT_FALSE(configuration_status_); |
347 EXPECT_EQ( | 347 EXPECT_EQ( |
348 JoinActions( | 348 JoinActions( |
349 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), | 349 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), |
350 small_mode_.size().height() + | 350 small_mode_.size().height() + |
351 big_mode_.size().height()), | 351 big_mode_.size().height()), |
352 &displays_[0], &displays_[1]).c_str(), | 352 &displays_[0], &displays_[1]).c_str(), |
353 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 353 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
354 GetCrtcAction(displays_[1], &big_mode_, | 354 GetCrtcAction(displays_[1], &big_mode_, |
355 gfx::Point(0, small_mode_.size().height())).c_str(), | 355 gfx::Point(0, small_mode_.size().height())).c_str(), |
356 GetCrtcAction(displays_[1], &small_mode_, | 356 GetCrtcAction(displays_[1], &small_mode_, |
357 gfx::Point(0, small_mode_.size().height())).c_str(), | 357 gfx::Point(0, small_mode_.size().height())).c_str(), |
358 kUngrab, NULL), | 358 kUngrab, NULL), |
359 log_.GetActionsAndClear()); | 359 log_.GetActionsAndClear()); |
360 } | 360 } |
361 | 361 |
362 TEST_F(UpdateDisplayConfigurationTaskTest, SingleChangePowerConfiguration) { | 362 TEST_F(UpdateDisplayConfigurationTaskTest, SingleChangePowerConfiguration) { |
363 UpdateDisplays(1); | 363 UpdateDisplays(1); |
364 | 364 |
365 { | 365 { |
366 UpdateDisplayConfigurationTask task( | 366 UpdateDisplayConfigurationTask task( |
367 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, | 367 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, |
368 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 368 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
369 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 369 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
370 base::Unretained(this))); | 370 base::Unretained(this))); |
371 task.Run(); | 371 task.Run(); |
372 } | 372 } |
373 | 373 |
374 EXPECT_TRUE(configured_); | 374 EXPECT_TRUE(configured_); |
375 EXPECT_TRUE(configuration_status_); | 375 EXPECT_TRUE(configuration_status_); |
376 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); | 376 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); |
377 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); | 377 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_ON, power_state_); |
378 EXPECT_EQ(JoinActions( | 378 EXPECT_EQ(JoinActions( |
379 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], | 379 kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], |
380 nullptr).c_str(), | 380 nullptr).c_str(), |
381 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 381 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
382 kUngrab, NULL), | 382 kUngrab, NULL), |
383 log_.GetActionsAndClear()); | 383 log_.GetActionsAndClear()); |
384 | 384 |
385 // Turn power off | 385 // Turn power off |
386 { | 386 { |
387 UpdateDisplayConfigurationTask task( | 387 UpdateDisplayConfigurationTask task( |
388 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, | 388 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_SINGLE, |
389 chromeos::DISPLAY_POWER_ALL_OFF, 0, 0, false, | 389 chromeos::DISPLAY_POWER_ALL_OFF, 0, 0, false, false, |
390 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 390 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
391 base::Unretained(this))); | 391 base::Unretained(this))); |
392 task.Run(); | 392 task.Run(); |
393 } | 393 } |
394 | 394 |
395 EXPECT_TRUE(configuration_status_); | 395 EXPECT_TRUE(configuration_status_); |
396 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); | 396 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_SINGLE, display_state_); |
397 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_OFF, power_state_); | 397 EXPECT_EQ(chromeos::DISPLAY_POWER_ALL_OFF, power_state_); |
398 EXPECT_EQ( | 398 EXPECT_EQ( |
399 JoinActions(kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], | 399 JoinActions(kGrab, GetFramebufferAction(small_mode_.size(), &displays_[0], |
400 nullptr).c_str(), | 400 nullptr).c_str(), |
401 GetCrtcAction(displays_[0], nullptr, gfx::Point()).c_str(), | 401 GetCrtcAction(displays_[0], nullptr, gfx::Point()).c_str(), |
402 kUngrab, NULL), | 402 kUngrab, NULL), |
403 log_.GetActionsAndClear()); | 403 log_.GetActionsAndClear()); |
404 } | 404 } |
405 | 405 |
406 TEST_F(UpdateDisplayConfigurationTaskTest, NoopSoftwareMirrorConfiguration) { | 406 TEST_F(UpdateDisplayConfigurationTaskTest, NoopSoftwareMirrorConfiguration) { |
407 layout_manager_.set_should_mirror(false); | 407 layout_manager_.set_should_mirror(false); |
408 layout_manager_.set_software_mirroring_controller( | 408 layout_manager_.set_software_mirroring_controller( |
409 base::WrapUnique(new TestSoftwareMirroringController())); | 409 base::WrapUnique(new TestSoftwareMirroringController())); |
410 UpdateDisplays(2); | 410 UpdateDisplays(2); |
411 | 411 |
412 { | 412 { |
413 UpdateDisplayConfigurationTask task( | 413 UpdateDisplayConfigurationTask task( |
414 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, | 414 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, |
415 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 415 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
416 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 416 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
417 base::Unretained(this))); | 417 base::Unretained(this))); |
418 task.Run(); | 418 task.Run(); |
419 } | 419 } |
420 | 420 |
421 log_.GetActionsAndClear(); | 421 log_.GetActionsAndClear(); |
422 | 422 |
423 { | 423 { |
424 UpdateDisplayConfigurationTask task( | 424 UpdateDisplayConfigurationTask task( |
425 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, | 425 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, |
426 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 426 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
427 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 427 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
428 base::Unretained(this))); | 428 base::Unretained(this))); |
429 task.Run(); | 429 task.Run(); |
430 } | 430 } |
431 | 431 |
432 EXPECT_TRUE(configuration_status_); | 432 EXPECT_TRUE(configuration_status_); |
433 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); | 433 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); |
434 EXPECT_TRUE(layout_manager_.GetSoftwareMirroringController() | 434 EXPECT_TRUE(layout_manager_.GetSoftwareMirroringController() |
435 ->SoftwareMirroringEnabled()); | 435 ->SoftwareMirroringEnabled()); |
436 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); | 436 EXPECT_EQ(JoinActions(kGrab, kUngrab, NULL), log_.GetActionsAndClear()); |
437 } | 437 } |
438 | 438 |
439 TEST_F(UpdateDisplayConfigurationTaskTest, | 439 TEST_F(UpdateDisplayConfigurationTaskTest, |
440 ForceConfigurationWhileGoingToSoftwareMirror) { | 440 ForceConfigurationWhileGoingToSoftwareMirror) { |
441 layout_manager_.set_should_mirror(false); | 441 layout_manager_.set_should_mirror(false); |
442 layout_manager_.set_software_mirroring_controller( | 442 layout_manager_.set_software_mirroring_controller( |
443 base::WrapUnique(new TestSoftwareMirroringController())); | 443 base::WrapUnique(new TestSoftwareMirroringController())); |
444 UpdateDisplays(2); | 444 UpdateDisplays(2); |
445 | 445 |
446 { | 446 { |
447 UpdateDisplayConfigurationTask task( | 447 UpdateDisplayConfigurationTask task( |
448 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, | 448 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, |
449 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, | 449 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, false, false, |
450 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 450 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
451 base::Unretained(this))); | 451 base::Unretained(this))); |
452 task.Run(); | 452 task.Run(); |
453 } | 453 } |
454 | 454 |
455 log_.GetActionsAndClear(); | 455 log_.GetActionsAndClear(); |
456 | 456 |
457 { | 457 { |
458 UpdateDisplayConfigurationTask task( | 458 UpdateDisplayConfigurationTask task( |
459 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, | 459 &delegate_, &layout_manager_, MULTIPLE_DISPLAY_STATE_DUAL_MIRROR, |
460 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, true /* force_configure */, | 460 chromeos::DISPLAY_POWER_ALL_ON, 0, 0, true /* force_configure */, |
461 base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, | 461 false, base::Bind(&UpdateDisplayConfigurationTaskTest::ResponseCallback, |
462 base::Unretained(this))); | 462 base::Unretained(this))); |
463 task.Run(); | 463 task.Run(); |
464 } | 464 } |
465 | 465 |
466 EXPECT_TRUE(configuration_status_); | 466 EXPECT_TRUE(configuration_status_); |
467 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); | 467 EXPECT_EQ(MULTIPLE_DISPLAY_STATE_DUAL_EXTENDED, display_state_); |
468 EXPECT_TRUE(layout_manager_.GetSoftwareMirroringController() | 468 EXPECT_TRUE(layout_manager_.GetSoftwareMirroringController() |
469 ->SoftwareMirroringEnabled()); | 469 ->SoftwareMirroringEnabled()); |
470 EXPECT_EQ( | 470 EXPECT_EQ( |
471 JoinActions( | 471 JoinActions( |
472 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), | 472 kGrab, GetFramebufferAction(gfx::Size(big_mode_.size().width(), |
473 small_mode_.size().height() + | 473 small_mode_.size().height() + |
474 big_mode_.size().height()), | 474 big_mode_.size().height()), |
475 &displays_[0], &displays_[1]).c_str(), | 475 &displays_[0], &displays_[1]).c_str(), |
476 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), | 476 GetCrtcAction(displays_[0], &small_mode_, gfx::Point()).c_str(), |
477 GetCrtcAction(displays_[1], &big_mode_, | 477 GetCrtcAction(displays_[1], &big_mode_, |
478 gfx::Point(0, small_mode_.size().height())).c_str(), | 478 gfx::Point(0, small_mode_.size().height())).c_str(), |
479 kUngrab, NULL), | 479 kUngrab, NULL), |
480 log_.GetActionsAndClear()); | 480 log_.GetActionsAndClear()); |
481 } | 481 } |
482 | 482 |
483 } // namespace test | 483 } // namespace test |
484 } // namespace ui | 484 } // namespace ui |
OLD | NEW |