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

Side by Side Diff: ui/display/chromeos/display_configurator.h

Issue 597683004: chromeos: Save display power state on config failure. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 5 #ifndef UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_
6 #define UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 6 #define UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 // Returns the mode within |display| that matches the given size with highest 130 // Returns the mode within |display| that matches the given size with highest
131 // refresh rate. Returns None if no matching display was found. 131 // refresh rate. Returns None if no matching display was found.
132 static const DisplayMode* FindDisplayModeMatchingSize( 132 static const DisplayMode* FindDisplayModeMatchingSize(
133 const DisplaySnapshot& display, 133 const DisplaySnapshot& display,
134 const gfx::Size& size); 134 const gfx::Size& size);
135 135
136 DisplayConfigurator(); 136 DisplayConfigurator();
137 virtual ~DisplayConfigurator(); 137 virtual ~DisplayConfigurator();
138 138
139 MultipleDisplayState display_state() const { return display_state_; } 139 MultipleDisplayState display_state() const { return display_state_; }
140 chromeos::DisplayPowerState power_state() const { return power_state_; } 140 chromeos::DisplayPowerState requested_power_state() const {
141 return requested_power_state_;
142 }
141 const gfx::Size framebuffer_size() const { return framebuffer_size_; } 143 const gfx::Size framebuffer_size() const { return framebuffer_size_; }
142 const std::vector<DisplayState>& cached_displays() const { 144 const std::vector<DisplayState>& cached_displays() const {
143 return cached_displays_; 145 return cached_displays_;
144 } 146 }
145 147
146 void set_state_controller(StateController* controller) { 148 void set_state_controller(StateController* controller) {
147 state_controller_ = controller; 149 state_controller_ = controller;
148 } 150 }
149 void set_mirroring_controller(SoftwareMirroringController* controller) { 151 void set_mirroring_controller(SoftwareMirroringController* controller) {
150 mirroring_controller_ = controller; 152 mirroring_controller_ = controller;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 // Xrandr X11 extension is supported. 315 // Xrandr X11 extension is supported.
314 // If this flag is set to false, any attempts to change the display 316 // If this flag is set to false, any attempts to change the display
315 // configuration to immediately fail without changing the state. 317 // configuration to immediately fail without changing the state.
316 bool configure_display_; 318 bool configure_display_;
317 319
318 // The current display state. 320 // The current display state.
319 MultipleDisplayState display_state_; 321 MultipleDisplayState display_state_;
320 322
321 gfx::Size framebuffer_size_; 323 gfx::Size framebuffer_size_;
322 324
323 // The current power state. 325 // The last-requested and current power state. These may differ if
324 chromeos::DisplayPowerState power_state_; 326 // configuration fails: SetDisplayMode() needs the last-requested state while
327 // SetDisplayPower() needs the current state.
328 chromeos::DisplayPowerState requested_power_state_;
329 chromeos::DisplayPowerState current_power_state_;
325 330
326 // Most-recently-used display configuration. Note that the actual 331 // Most-recently-used display configuration. Note that the actual
327 // configuration changes asynchronously. 332 // configuration changes asynchronously.
328 DisplayStateList cached_displays_; 333 DisplayStateList cached_displays_;
329 334
330 ObserverList<Observer> observers_; 335 ObserverList<Observer> observers_;
331 336
332 // The timer to delay configuring displays. This is used to aggregate multiple 337 // The timer to delay configuring displays. This is used to aggregate multiple
333 // display configuration events when they are reported in short time spans. 338 // display configuration events when they are reported in short time spans.
334 // See comment for NativeDisplayEventDispatcherX11 for more details. 339 // See comment for NativeDisplayEventDispatcherX11 for more details.
335 base::OneShotTimer<DisplayConfigurator> configure_timer_; 340 base::OneShotTimer<DisplayConfigurator> configure_timer_;
336 341
337 // Id for next display protection client. 342 // Id for next display protection client.
338 ContentProtectionClientId next_display_protection_client_id_; 343 ContentProtectionClientId next_display_protection_client_id_;
339 344
340 // Display protection requests of each client. 345 // Display protection requests of each client.
341 ProtectionRequests client_protection_requests_; 346 ProtectionRequests client_protection_requests_;
342 347
343 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator); 348 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator);
344 }; 349 };
345 350
346 } // namespace ui 351 } // namespace ui
347 352
348 #endif // UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 353 #endif // UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698