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

Side by Side Diff: ui/ozone/platform/drm/gpu/screen_manager_unittest.cc

Issue 1528373002: Replace Pass() with std::move in ui/ozone (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
OLDNEW
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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 #include "ui/ozone/platform/drm/gpu/crtc_controller.h" 6 #include "ui/ozone/platform/drm/gpu/crtc_controller.h"
7 #include "ui/ozone/platform/drm/gpu/drm_device_generator.h" 7 #include "ui/ozone/platform/drm/gpu/drm_device_generator.h"
8 #include "ui/ozone/platform/drm/gpu/drm_device_manager.h" 8 #include "ui/ozone/platform/drm/gpu/drm_device_manager.h"
9 #include "ui/ozone/platform/drm/gpu/drm_window.h" 9 #include "ui/ozone/platform/drm/gpu/drm_window.h"
10 #include "ui/ozone/platform/drm/gpu/hardware_display_controller.h" 10 #include "ui/ozone/platform/drm/gpu/hardware_display_controller.h"
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 EXPECT_NE(controller1, controller2); 368 EXPECT_NE(controller1, controller2);
369 EXPECT_EQ(drm_, controller1->crtc_controllers()[0]->drm()); 369 EXPECT_EQ(drm_, controller1->crtc_controllers()[0]->drm());
370 EXPECT_EQ(drm2, controller2->crtc_controllers()[0]->drm()); 370 EXPECT_EQ(drm2, controller2->crtc_controllers()[0]->drm());
371 } 371 }
372 372
373 TEST_F(ScreenManagerTest, CheckControllerToWindowMappingWithSameBounds) { 373 TEST_F(ScreenManagerTest, CheckControllerToWindowMappingWithSameBounds) {
374 scoped_ptr<ui::DrmWindow> window( 374 scoped_ptr<ui::DrmWindow> window(
375 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); 375 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get()));
376 window->Initialize(); 376 window->Initialize();
377 window->SetBounds(GetPrimaryBounds()); 377 window->SetBounds(GetPrimaryBounds());
378 screen_manager_->AddWindow(1, window.Pass()); 378 screen_manager_->AddWindow(1, std::move(window));
379 379
380 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 380 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
381 screen_manager_->ConfigureDisplayController( 381 screen_manager_->ConfigureDisplayController(
382 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 382 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
383 kDefaultMode); 383 kDefaultMode);
384 384
385 EXPECT_TRUE(screen_manager_->GetWindow(1)->GetController()); 385 EXPECT_TRUE(screen_manager_->GetWindow(1)->GetController());
386 386
387 window = screen_manager_->RemoveWindow(1); 387 window = screen_manager_->RemoveWindow(1);
388 window->Shutdown(); 388 window->Shutdown();
389 } 389 }
390 390
391 TEST_F(ScreenManagerTest, CheckControllerToWindowMappingWithDifferentBounds) { 391 TEST_F(ScreenManagerTest, CheckControllerToWindowMappingWithDifferentBounds) {
392 scoped_ptr<ui::DrmWindow> window( 392 scoped_ptr<ui::DrmWindow> window(
393 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); 393 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get()));
394 window->Initialize(); 394 window->Initialize();
395 gfx::Rect new_bounds = GetPrimaryBounds(); 395 gfx::Rect new_bounds = GetPrimaryBounds();
396 new_bounds.Inset(0, 0, 1, 1); 396 new_bounds.Inset(0, 0, 1, 1);
397 window->SetBounds(new_bounds); 397 window->SetBounds(new_bounds);
398 screen_manager_->AddWindow(1, window.Pass()); 398 screen_manager_->AddWindow(1, std::move(window));
399 399
400 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 400 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
401 screen_manager_->ConfigureDisplayController( 401 screen_manager_->ConfigureDisplayController(
402 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 402 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
403 kDefaultMode); 403 kDefaultMode);
404 404
405 EXPECT_FALSE(screen_manager_->GetWindow(1)->GetController()); 405 EXPECT_FALSE(screen_manager_->GetWindow(1)->GetController());
406 406
407 window = screen_manager_->RemoveWindow(1); 407 window = screen_manager_->RemoveWindow(1);
408 window->Shutdown(); 408 window->Shutdown();
409 } 409 }
410 410
411 TEST_F(ScreenManagerTest, 411 TEST_F(ScreenManagerTest,
412 CheckControllerToWindowMappingWithOverlappingWindows) { 412 CheckControllerToWindowMappingWithOverlappingWindows) {
413 const size_t kWindowCount = 2; 413 const size_t kWindowCount = 2;
414 for (size_t i = 1; i < kWindowCount + 1; ++i) { 414 for (size_t i = 1; i < kWindowCount + 1; ++i) {
415 scoped_ptr<ui::DrmWindow> window( 415 scoped_ptr<ui::DrmWindow> window(
416 new ui::DrmWindow(i, device_manager_.get(), screen_manager_.get())); 416 new ui::DrmWindow(i, device_manager_.get(), screen_manager_.get()));
417 window->Initialize(); 417 window->Initialize();
418 window->SetBounds(GetPrimaryBounds()); 418 window->SetBounds(GetPrimaryBounds());
419 screen_manager_->AddWindow(i, window.Pass()); 419 screen_manager_->AddWindow(i, std::move(window));
420 } 420 }
421 421
422 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 422 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
423 screen_manager_->ConfigureDisplayController( 423 screen_manager_->ConfigureDisplayController(
424 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 424 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
425 kDefaultMode); 425 kDefaultMode);
426 426
427 bool window1_has_controller = screen_manager_->GetWindow(1)->GetController(); 427 bool window1_has_controller = screen_manager_->GetWindow(1)->GetController();
428 bool window2_has_controller = screen_manager_->GetWindow(2)->GetController(); 428 bool window2_has_controller = screen_manager_->GetWindow(2)->GetController();
429 // Only one of the windows can have a controller. 429 // Only one of the windows can have a controller.
430 EXPECT_TRUE(window1_has_controller ^ window2_has_controller); 430 EXPECT_TRUE(window1_has_controller ^ window2_has_controller);
431 431
432 for (size_t i = 1; i < kWindowCount + 1; ++i) { 432 for (size_t i = 1; i < kWindowCount + 1; ++i) {
433 scoped_ptr<ui::DrmWindow> window = screen_manager_->RemoveWindow(i); 433 scoped_ptr<ui::DrmWindow> window = screen_manager_->RemoveWindow(i);
434 window->Shutdown(); 434 window->Shutdown();
435 } 435 }
436 } 436 }
437 437
438 TEST_F(ScreenManagerTest, ShouldDissociateWindowOnControllerRemoval) { 438 TEST_F(ScreenManagerTest, ShouldDissociateWindowOnControllerRemoval) {
439 gfx::AcceleratedWidget window_id = 1; 439 gfx::AcceleratedWidget window_id = 1;
440 scoped_ptr<ui::DrmWindow> window(new ui::DrmWindow( 440 scoped_ptr<ui::DrmWindow> window(new ui::DrmWindow(
441 window_id, device_manager_.get(), screen_manager_.get())); 441 window_id, device_manager_.get(), screen_manager_.get()));
442 window->Initialize(); 442 window->Initialize();
443 window->SetBounds(GetPrimaryBounds()); 443 window->SetBounds(GetPrimaryBounds());
444 screen_manager_->AddWindow(window_id, window.Pass()); 444 screen_manager_->AddWindow(window_id, std::move(window));
445 445
446 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 446 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
447 screen_manager_->ConfigureDisplayController( 447 screen_manager_->ConfigureDisplayController(
448 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 448 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
449 kDefaultMode); 449 kDefaultMode);
450 450
451 EXPECT_TRUE(screen_manager_->GetWindow(window_id)->GetController()); 451 EXPECT_TRUE(screen_manager_->GetWindow(window_id)->GetController());
452 452
453 screen_manager_->RemoveDisplayController(drm_, kPrimaryCrtc); 453 screen_manager_->RemoveDisplayController(drm_, kPrimaryCrtc);
454 454
455 EXPECT_FALSE(screen_manager_->GetWindow(window_id)->GetController()); 455 EXPECT_FALSE(screen_manager_->GetWindow(window_id)->GetController());
456 456
457 window = screen_manager_->RemoveWindow(1); 457 window = screen_manager_->RemoveWindow(1);
458 window->Shutdown(); 458 window->Shutdown();
459 } 459 }
460 460
461 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasNoBuffer) { 461 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasNoBuffer) {
462 scoped_ptr<ui::DrmWindow> window( 462 scoped_ptr<ui::DrmWindow> window(
463 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); 463 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get()));
464 window->Initialize(); 464 window->Initialize();
465 window->SetBounds(GetPrimaryBounds()); 465 window->SetBounds(GetPrimaryBounds());
466 screen_manager_->AddWindow(1, window.Pass()); 466 screen_manager_->AddWindow(1, std::move(window));
467 467
468 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 468 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
469 screen_manager_->ConfigureDisplayController( 469 screen_manager_->ConfigureDisplayController(
470 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 470 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
471 kDefaultMode); 471 kDefaultMode);
472 472
473 EXPECT_TRUE(screen_manager_->GetWindow(1)->GetController()); 473 EXPECT_TRUE(screen_manager_->GetWindow(1)->GetController());
474 // There is a buffer after initial config. 474 // There is a buffer after initial config.
475 uint32_t framebuffer = drm_->current_framebuffer(); 475 uint32_t framebuffer = drm_->current_framebuffer();
476 EXPECT_NE(0U, framebuffer); 476 EXPECT_NE(0U, framebuffer);
(...skipping 13 matching lines...) Expand all
490 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasBuffer) { 490 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasBuffer) {
491 scoped_ptr<ui::DrmWindow> window( 491 scoped_ptr<ui::DrmWindow> window(
492 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); 492 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get()));
493 window->Initialize(); 493 window->Initialize();
494 window->SetBounds(GetPrimaryBounds()); 494 window->SetBounds(GetPrimaryBounds());
495 scoped_refptr<ui::ScanoutBuffer> buffer = buffer_generator_->Create( 495 scoped_refptr<ui::ScanoutBuffer> buffer = buffer_generator_->Create(
496 drm_, gfx::BufferFormat::BGRA_8888, GetPrimaryBounds().size()); 496 drm_, gfx::BufferFormat::BGRA_8888, GetPrimaryBounds().size());
497 window->SchedulePageFlip( 497 window->SchedulePageFlip(
498 std::vector<ui::OverlayPlane>(1, ui::OverlayPlane(buffer)), 498 std::vector<ui::OverlayPlane>(1, ui::OverlayPlane(buffer)),
499 base::Bind(&EmptySwapCallback)); 499 base::Bind(&EmptySwapCallback));
500 screen_manager_->AddWindow(1, window.Pass()); 500 screen_manager_->AddWindow(1, std::move(window));
501 501
502 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); 502 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector);
503 screen_manager_->ConfigureDisplayController( 503 screen_manager_->ConfigureDisplayController(
504 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), 504 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(),
505 kDefaultMode); 505 kDefaultMode);
506 506
507 EXPECT_EQ(buffer->GetFramebufferId(), drm_->current_framebuffer()); 507 EXPECT_EQ(buffer->GetFramebufferId(), drm_->current_framebuffer());
508 508
509 window = screen_manager_->RemoveWindow(1); 509 window = screen_manager_->RemoveWindow(1);
510 window->Shutdown(); 510 window->Shutdown();
511 } 511 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698