Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/accelerators/accelerator_commands_aura.h" | 5 #include "ash/accelerators/accelerator_commands_aura.h" |
| 6 | 6 |
| 7 #include "ash/common/display/display_info.h" | |
| 7 #include "ash/common/wm/window_state.h" | 8 #include "ash/common/wm/window_state.h" |
| 8 #include "ash/common/wm_window.h" | 9 #include "ash/common/wm_window.h" |
| 9 #include "ash/display/display_manager.h" | 10 #include "ash/display/display_manager.h" |
| 10 #include "ash/display/display_util.h" | 11 #include "ash/display/display_util.h" |
| 11 #include "ash/shell.h" | 12 #include "ash/shell.h" |
| 12 #include "ash/wm/screen_pinning_controller.h" | 13 #include "ash/wm/screen_pinning_controller.h" |
| 13 #include "base/metrics/user_metrics.h" | 14 #include "base/metrics/user_metrics.h" |
| 14 | 15 |
| 15 namespace ash { | 16 namespace ash { |
| 16 namespace accelerators { | 17 namespace accelerators { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 32 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Up")); | 33 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Up")); |
| 33 else | 34 else |
| 34 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Down")); | 35 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Down")); |
| 35 | 36 |
| 36 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 37 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 37 | 38 |
| 38 int64_t display_id = display_manager->IsInUnifiedMode() | 39 int64_t display_id = display_manager->IsInUnifiedMode() |
| 39 ? DisplayManager::kUnifiedDisplayId | 40 ? DisplayManager::kUnifiedDisplayId |
| 40 : display_manager->GetDisplayIdForUIScaling(); | 41 : display_manager->GetDisplayIdForUIScaling(); |
| 41 const DisplayInfo& display_info = display_manager->GetDisplayInfo(display_id); | 42 const DisplayInfo& display_info = display_manager->GetDisplayInfo(display_id); |
| 42 DisplayMode mode; | |
| 43 | 43 |
| 44 if (display_manager->IsInUnifiedMode()) { | 44 scoped_refptr<DisplayMode> mode; |
| 45 if (!GetDisplayModeForNextResolution(display_info, up, &mode)) | 45 if (display_manager->IsInUnifiedMode()) |
| 46 return false; | 46 mode = GetDisplayModeForNextResolution(display_info, up); |
| 47 } else { | 47 else |
| 48 if (!GetDisplayModeForNextUIScale(display_info, up, &mode)) | 48 mode = GetDisplayModeForNextUIScale(display_info, up); |
| 49 return false; | 49 |
| 50 } | 50 if (!mode) |
| 51 return false; | |
|
oshima
2016/08/04 17:54:00
optional nit:
return mode ? .. : false;
| |
| 51 return display_manager->SetDisplayMode(display_id, mode); | 52 return display_manager->SetDisplayMode(display_id, mode); |
| 52 } | 53 } |
| 53 | 54 |
| 54 void ResetInternalDisplayZoom() { | 55 void ResetInternalDisplayZoom() { |
| 55 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Reset")); | 56 base::RecordAction(base::UserMetricsAction("Accel_Scale_Ui_Reset")); |
| 56 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 57 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 57 | 58 |
| 58 if (display_manager->IsInUnifiedMode()) { | 59 if (display_manager->IsInUnifiedMode()) { |
| 59 const DisplayInfo& display_info = | 60 const DisplayInfo& display_info = |
| 60 display_manager->GetDisplayInfo(DisplayManager::kUnifiedDisplayId); | 61 display_manager->GetDisplayInfo(DisplayManager::kUnifiedDisplayId); |
| 61 const std::vector<DisplayMode>& modes = display_info.display_modes(); | 62 const DisplayInfo::DisplayModeList& modes = display_info.display_modes(); |
| 62 auto iter = | 63 auto iter = std::find_if( |
| 63 std::find_if(modes.begin(), modes.end(), | 64 modes.begin(), modes.end(), |
| 64 [](const DisplayMode& mode) { return mode.native; }); | 65 [](const scoped_refptr<DisplayMode>& mode) { return mode->native(); }); |
| 65 display_manager->SetDisplayMode(DisplayManager::kUnifiedDisplayId, *iter); | 66 display_manager->SetDisplayMode(DisplayManager::kUnifiedDisplayId, *iter); |
| 66 } else { | 67 } else { |
| 67 SetDisplayUIScale(display_manager->GetDisplayIdForUIScaling(), 1.0f); | 68 SetDisplayUIScale(display_manager->GetDisplayIdForUIScaling(), 1.0f); |
| 68 } | 69 } |
| 69 } | 70 } |
| 70 | 71 |
| 71 void Unpin() { | 72 void Unpin() { |
| 72 WmWindow* pinned_window = | 73 WmWindow* pinned_window = |
| 73 Shell::GetInstance()->screen_pinning_controller()->pinned_window(); | 74 Shell::GetInstance()->screen_pinning_controller()->pinned_window(); |
| 74 if (pinned_window) | 75 if (pinned_window) |
| 75 pinned_window->GetWindowState()->Restore(); | 76 pinned_window->GetWindowState()->Restore(); |
| 76 } | 77 } |
| 77 | 78 |
| 78 } // namespace accelerators | 79 } // namespace accelerators |
| 79 } // namespace ash | 80 } // namespace ash |
| OLD | NEW |