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

Unified Diff: ash/display/display_manager_unittest.cc

Issue 1107733006: Unified Desktop: hook up ash to allow unified desktop mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ash/display/display_manager_unittest.cc
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc
index 9ed103988fe70a59b19832ef2c8876f96600a18d..728f69f5dca58bd74099ebb87868b6fcbf5822bb 100644
--- a/ash/display/display_manager_unittest.cc
+++ b/ash/display/display_manager_unittest.cc
@@ -121,8 +121,12 @@ class DisplayManagerTest : public test::AshTestBase,
// aura::WindowObserver overrides:
void OnWindowDestroying(aura::Window* window) override {
- ASSERT_EQ(Shell::GetPrimaryRootWindow(), window);
- root_window_destroyed_ = true;
+ // TODO(oshima): When moving between unified desktop, the
+ // primary root window can be deleted.
+ if (!display_manager()->IsInUnifiedMode()) {
+ ASSERT_EQ(Shell::GetPrimaryRootWindow(), window);
+ root_window_destroyed_ = true;
+ }
}
private:
@@ -629,6 +633,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ(1U, display_manager()->num_connected_displays());
EXPECT_FALSE(display_manager()->IsInMirrorMode());
+ LOG(ERROR) << "============";
// Switched to another display
display_info_list.clear();
display_info_list.push_back(internal_display_info);
@@ -1207,7 +1212,7 @@ TEST_F(DisplayManagerTest, SoftwareMirroring) {
Shell::GetScreen()->AddObserver(&display_observer);
DisplayManager* display_manager = Shell::GetInstance()->display_manager();
- display_manager->SetSecondDisplayMode(DisplayManager::MIRRORING);
+ display_manager->SetMultiDisplayMode(DisplayManager::MIRRORING);
display_manager->UpdateDisplays();
RunAllPendingInMessageLoop();
EXPECT_TRUE(display_observer.changed_and_reset());
@@ -1265,7 +1270,7 @@ TEST_F(DisplayManagerTest, SingleDisplayToSoftwareMirroring) {
UpdateDisplay("600x400");
DisplayManager* display_manager = Shell::GetInstance()->display_manager();
- display_manager->SetSecondDisplayMode(DisplayManager::MIRRORING);
+ display_manager->SetMultiDisplayMode(DisplayManager::MIRRORING);
UpdateDisplay("600x400,600x400");
EXPECT_TRUE(display_manager->IsInMirrorMode());
@@ -1458,6 +1463,34 @@ TEST_F(DisplayManagerTest, MAYBE_UpdateDisplayWithHostOrigin) {
EXPECT_EQ("200x300", host1->GetBounds().size().ToString());
}
+#if !defined(OS_WIN) && defined(USE_X11)
+
+TEST_F(DisplayManagerTest, UnifiedDesktopBasic) {
+ display_manager()->SetDefaultMultiDisplayMode(DisplayManager::UNIFIED);
+ display_manager()->SetMultiDisplayMode(DisplayManager::UNIFIED);
+ UpdateDisplay("300x200,400x500");
+
+ gfx::Screen* screen =
+ gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE);
+ EXPECT_EQ("700x500", screen->GetPrimaryDisplay().size().ToString());
+
+ display_manager()->SetMirrorMode(true);
+ EXPECT_EQ("300x200", screen->GetPrimaryDisplay().size().ToString());
+
+ display_manager()->SetMirrorMode(false);
+ EXPECT_EQ("700x500", screen->GetPrimaryDisplay().size().ToString());
+
+ // Swithc to single desktop.
+ UpdateDisplay("500x300");
+ EXPECT_EQ("500x300", screen->GetPrimaryDisplay().size().ToString());
+
+ // Swithc to unified desktop.
+ UpdateDisplay("500x300,400x500");
+ EXPECT_EQ("900x500", screen->GetPrimaryDisplay().size().ToString());
+}
+
+#endif
+
class ScreenShutdownTest : public test::AshTestBase {
public:
ScreenShutdownTest() {

Powered by Google App Engine
This is Rietveld 408576698