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

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: 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..5fb965bb5673a4f54e4461a7a3c0f5ebb8a0d856 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
@@ -635,18 +638,19 @@ DisplayInfoProviderChromeOS::GetAllDisplaysInfo() {
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;
xiyuan 2017/04/05 21:41:45 Can you document why we are doing this? I was puzz
stevenjb 2017/04/06 01:56:08 That was the intent of the comment at line 641 :)
+ all_displays.push_back(std::move(unit_info));
}
return all_displays;
}

Powered by Google App Engine
This is Rietveld 408576698