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

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

Issue 463633005: On resume perform a delayed call to SetDisplayPower() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 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
« no previous file with comments | « no previous file | ui/display/chromeos/display_configurator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 }; 110 };
111 111
112 // Helper class used by tests. 112 // Helper class used by tests.
113 class TestApi { 113 class TestApi {
114 public: 114 public:
115 TestApi(DisplayConfigurator* configurator) : configurator_(configurator) {} 115 TestApi(DisplayConfigurator* configurator) : configurator_(configurator) {}
116 ~TestApi() {} 116 ~TestApi() {}
117 117
118 // If |configure_timer_| is started, stops the timer, runs 118 // If |configure_timer_| is started, stops the timer, runs
119 // ConfigureDisplays(), and returns true; returns false otherwise. 119 // ConfigureDisplays(), and returns true; returns false otherwise.
120 bool TriggerConfigureTimeout(); 120 bool TriggerConfigureTimeout() WARN_UNUSED_RESULT;
121 121
122 private: 122 private:
123 DisplayConfigurator* configurator_; // not owned 123 DisplayConfigurator* configurator_; // not owned
124 124
125 DISALLOW_COPY_AND_ASSIGN(TestApi); 125 DISALLOW_COPY_AND_ASSIGN(TestApi);
126 }; 126 };
127 127
128 // Flags that can be passed to SetDisplayPower(). 128 // Flags that can be passed to SetDisplayPower().
129 static const int kSetDisplayPowerNoFlags = 0; 129 static const int kSetDisplayPowerNoFlags;
130 // Configure displays even if the passed-in state matches |power_state_|. 130 // Configure displays even if the passed-in state matches |power_state_|.
131 static const int kSetDisplayPowerForceProbe = 1 << 0; 131 static const int kSetDisplayPowerForceProbe;
132 // Do not change the state if multiple displays are connected or if the 132 // Do not change the state if multiple displays are connected or if the
133 // only connected display is external. 133 // only connected display is external.
134 static const int kSetDisplayPowerOnlyIfSingleInternalDisplay = 1 << 1; 134 static const int kSetDisplayPowerOnlyIfSingleInternalDisplay;
135 135
136 // Gap between screens so cursor at bottom of active display doesn't 136 // Gap between screens so cursor at bottom of active display doesn't
137 // partially appear on top of inactive display. Higher numbers guard 137 // partially appear on top of inactive display. Higher numbers guard
138 // against larger cursors, but also waste more memory. 138 // against larger cursors, but also waste more memory.
139 // For simplicity, this is hard-coded to avoid the complexity of always 139 // For simplicity, this is hard-coded to avoid the complexity of always
140 // determining the DPI of the screen and rationalizing which screen we 140 // determining the DPI of the screen and rationalizing which screen we
141 // need to use for the DPI calculation. 141 // need to use for the DPI calculation.
142 // See crbug.com/130188 for initial discussion. 142 // See crbug.com/130188 for initial discussion.
143 static const int kVerticalGap = 60; 143 static const int kVerticalGap = 60;
144 144
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 341
342 // The current power state. 342 // The current power state.
343 chromeos::DisplayPowerState power_state_; 343 chromeos::DisplayPowerState power_state_;
344 344
345 // Most-recently-used display configuration. Note that the actual 345 // Most-recently-used display configuration. Note that the actual
346 // configuration changes asynchronously. 346 // configuration changes asynchronously.
347 DisplayStateList cached_displays_; 347 DisplayStateList cached_displays_;
348 348
349 ObserverList<Observer> observers_; 349 ObserverList<Observer> observers_;
350 350
351 // The timer to delay configuring displays. See also the comments in 351 // The timer to delay configuring displays. This is used to aggregate multiple
352 // Dispatch(). 352 // display configuration events when they are reported in short time spans.
353 scoped_ptr<base::OneShotTimer<DisplayConfigurator> > configure_timer_; 353 // See comment for NativeDisplayEventDispatcherX11 for more details.
354 base::OneShotTimer<DisplayConfigurator> configure_timer_;
354 355
355 // Id for next display protection client. 356 // Id for next display protection client.
356 ContentProtectionClientId next_display_protection_client_id_; 357 ContentProtectionClientId next_display_protection_client_id_;
357 358
358 // Display protection requests of each client. 359 // Display protection requests of each client.
359 ProtectionRequests client_protection_requests_; 360 ProtectionRequests client_protection_requests_;
360 361
361 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator); 362 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator);
362 }; 363 };
363 364
364 } // namespace ui 365 } // namespace ui
365 366
366 #endif // UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 367 #endif // UI_DISPLAY_CHROMEOS_DISPLAY_CONFIGURATOR_H_
OLDNEW
« no previous file with comments | « no previous file | ui/display/chromeos/display_configurator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698