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

Unified Diff: chrome/browser/extensions/display_info_provider_chromeos.cc

Issue 2802603005: MD Settings: Display: Add unified desktop control and modify api (Closed)
Patch Set: Feedback Created 3 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: chrome/browser/extensions/display_info_provider_chromeos.cc
diff --git a/chrome/browser/extensions/display_info_provider_chromeos.cc b/chrome/browser/extensions/display_info_provider_chromeos.cc
index a5a37a74f93a246a19855aaf45ad1c1d57b846b3..905f129e3f9e6be6c014024d2e0be68f439c1ae3 100644
--- a/chrome/browser/extensions/display_info_provider_chromeos.cc
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc
@@ -619,8 +619,11 @@ void DisplayInfoProviderChromeOS::EnableUnifiedDesktop(bool enable) {
NOTIMPLEMENTED();
return;
}
- ash::Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled(
- enable);
+ ash::Shell::GetInstance()
+ ->display_manager()
+ ->SetDefaultMultiDisplayModeForCurrentDisplays(
+ enable ? display::DisplayManager::UNIFIED
+ : display::DisplayManager::EXTENDED);
}
DisplayInfoProvider::DisplayUnitInfoList
@@ -632,21 +635,23 @@ DisplayInfoProviderChromeOS::GetAllDisplaysInfo() {
}
display::DisplayManager* display_manager =
ash::Shell::GetInstance()->display_manager();
+
if (!display_manager->IsInUnifiedMode())
return DisplayInfoProvider::GetAllDisplaysInfo();
- std::vector<display::Display> displays =
- display_manager->software_mirroring_display_list();
- CHECK_GT(displays.size(), 0u);
+ // Chrome OS specific: get displays for unified mode.
+ std::vector<display::Display> displays;
+ for (size_t i = 0; i < display_manager->GetNumDisplays(); ++i)
+ displays.push_back(display_manager->GetDisplayAt(i));
- // Use first display as primary.
- int64_t primary_id = displays[0].id();
+ int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
DisplayUnitInfoList all_displays;
for (const display::Display& display : displays) {
- system_display::DisplayUnitInfo unit =
+ system_display::DisplayUnitInfo unit_info =
CreateDisplayUnitInfo(display, primary_id);
- UpdateDisplayUnitInfoForPlatform(display, &unit);
- all_displays.push_back(std::move(unit));
+ UpdateDisplayUnitInfoForPlatform(display, &unit_info);
+ unit_info.is_unified = true;
+ all_displays.push_back(std::move(unit_info));
}
return all_displays;
}

Powered by Google App Engine
This is Rietveld 408576698