Chromium Code Reviews| 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; |
| } |