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

Side by Side Diff: ash/wm/power_button_controller.cc

Issue 187073002: Refactoring display configuration state to allow generic state objects (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/wm/power_button_controller.h" 5 #include "ash/wm/power_button_controller.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/session_state_delegate.h" 8 #include "ash/session_state_delegate.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell_window_ids.h" 10 #include "ash/shell_window_ids.h"
11 #include "ash/wm/lock_state_controller.h" 11 #include "ash/wm/lock_state_controller.h"
12 #include "ash/wm/session_state_animator.h" 12 #include "ash/wm/session_state_animator.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "ui/aura/window_event_dispatcher.h" 14 #include "ui/aura/window_event_dispatcher.h"
15 #include "ui/display/chromeos/display_snapshot.h"
15 #include "ui/views/corewm/compound_event_filter.h" 16 #include "ui/views/corewm/compound_event_filter.h"
16 17
17 namespace ash { 18 namespace ash {
18 19
19 PowerButtonController::PowerButtonController( 20 PowerButtonController::PowerButtonController(
20 LockStateController* controller) 21 LockStateController* controller)
21 : power_button_down_(false), 22 : power_button_down_(false),
22 lock_button_down_(false), 23 lock_button_down_(false),
23 brightness_is_zero_(false), 24 brightness_is_zero_(false),
24 internal_display_off_and_external_display_on_(false), 25 internal_display_off_and_external_display_on_(false),
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 if (power_button_down_) 110 if (power_button_down_)
110 return; 111 return;
111 112
112 if (down) 113 if (down)
113 controller_->StartLockAnimation(false); 114 controller_->StartLockAnimation(false);
114 else 115 else
115 controller_->CancelLockAnimation(); 116 controller_->CancelLockAnimation();
116 } 117 }
117 118
118 #if defined(OS_CHROMEOS) && defined(USE_X11) 119 #if defined(OS_CHROMEOS) && defined(USE_X11)
119 void PowerButtonController::OnDisplayModeChanged( 120 void PowerButtonController::OnDisplayModeChanged(const std::vector<
120 const std::vector<chromeos::OutputConfigurator::OutputSnapshot>& outputs) { 121 chromeos::OutputConfigurator::InternalDisplayState>& outputs) {
121 bool internal_display_off = false; 122 bool internal_display_off = false;
122 bool external_display_on = false; 123 bool external_display_on = false;
123 for (size_t i = 0; i < outputs.size(); ++i) { 124 for (size_t i = 0; i < outputs.size(); ++i) {
124 const chromeos::OutputConfigurator::OutputSnapshot& output = outputs[i]; 125 const chromeos::OutputConfigurator::InternalDisplayState& output =
125 if (output.type == ui::OUTPUT_TYPE_INTERNAL) { 126 outputs[i];
126 if (!output.current_mode) 127 if (output.display->type() == ui::OUTPUT_TYPE_INTERNAL) {
128 if (!output.display->current_mode())
127 internal_display_off = true; 129 internal_display_off = true;
128 } else if (output.current_mode) { 130 } else if (output.display->current_mode()) {
129 external_display_on = true; 131 external_display_on = true;
130 } 132 }
131 } 133 }
132 internal_display_off_and_external_display_on_ = 134 internal_display_off_and_external_display_on_ =
133 internal_display_off && external_display_on; 135 internal_display_off && external_display_on;
134 } 136 }
135 #endif 137 #endif
136 138
137 } // namespace ash 139 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698