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

Unified Diff: ui/display/chromeos/display_configurator.cc

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 side-by-side diff with in-line comments
Download patch
Index: ui/display/chromeos/display_configurator.cc
diff --git a/ui/display/chromeos/display_configurator.cc b/ui/display/chromeos/display_configurator.cc
index a63b2567c1050bcf861681e907cffcfa2e8c3f66..4c89500f61ce344d9b788f4a2a8b25e3051a8fa8 100644
--- a/ui/display/chromeos/display_configurator.cc
+++ b/ui/display/chromeos/display_configurator.cc
@@ -89,6 +89,15 @@ int GetDisplayPower(
} // namespace
+
+// static
Daniel Erat 2014/08/12 21:00:03 nit: don't need "static" comments here; it's obvio
dnicoara 2014/08/12 21:46:20 Done.
+const int DisplayConfigurator::kSetDisplayPowerNoFlags = 0;
+// static
+const int DisplayConfigurator::kSetDisplayPowerForceProbe = 1 << 0;
+// static
+const int
+DisplayConfigurator::kSetDisplayPowerOnlyIfSingleInternalDisplay = 1 << 1;
+
DisplayConfigurator::DisplayState::DisplayState()
: display(NULL),
touch_device_id(0),
@@ -98,8 +107,7 @@ DisplayConfigurator::DisplayState::DisplayState()
bool DisplayConfigurator::TestApi::TriggerConfigureTimeout() {
if (configurator_->configure_timer_.get() &&
configurator_->configure_timer_->IsRunning()) {
- configurator_->configure_timer_.reset();
- configurator_->ConfigureDisplays();
+ configurator_->configure_timer_->user_task().Run();
return true;
} else {
return false;
@@ -431,6 +439,8 @@ void DisplayConfigurator::PrepareForExit() {
bool DisplayConfigurator::SetDisplayPower(
chromeos::DisplayPowerState power_state,
int flags) {
+ configure_timer_.reset();
+
if (!configure_display_)
return false;
@@ -539,7 +549,14 @@ void DisplayConfigurator::SuspendDisplays() {
void DisplayConfigurator::ResumeDisplays() {
// Force probing to ensure that we pick up any changes that were made
// while the system was suspended.
- SetDisplayPower(power_state_, kSetDisplayPowerForceProbe);
+ configure_timer_.reset(new base::OneShotTimer<DisplayConfigurator>());
+ configure_timer_->Start(
+ FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kConfigureDelayMs),
Daniel Erat 2014/08/12 21:00:03 please add a new constant for this with a comment
dnicoara 2014/08/12 21:46:20 Done.
+ base::Bind(base::IgnoreResult(&DisplayConfigurator::SetDisplayPower),
+ base::Unretained(this),
+ power_state_,
+ kSetDisplayPowerForceProbe));
}
void DisplayConfigurator::UpdateCachedDisplays() {

Powered by Google App Engine
This is Rietveld 408576698