| 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;
|
| }
|
|
|