Index: ui/display/chromeos/display_configurator.cc |
diff --git a/ui/display/chromeos/display_configurator.cc b/ui/display/chromeos/display_configurator.cc |
index eb1c0a4a8c4fe385b3dca2a83ed0493d7287216b..bd125439f4959a106d639c07e3ee39c19995c265 100644 |
--- a/ui/display/chromeos/display_configurator.cc |
+++ b/ui/display/chromeos/display_configurator.cc |
@@ -844,7 +844,13 @@ void DisplayConfigurator::SetDisplayPowerInternal( |
chromeos::DisplayPowerState power_state, |
int flags, |
const ConfigurationCallback& callback) { |
+ // Only skip if the current power state is the same and the latest requested |
+ // power state is the same. If |pending_power_state_ != current_power_state_| |
+ // then there is a current taks pending or the last configuration failed. In |
oshima
2016/07/15 21:56:50
s/taks/task/
dnicoara
2016/07/18 13:49:29
Woops, ... done.
|
+ // either case request a new configuration to make sure the state is |
+ // consistent with the expectations. |
if (power_state == current_power_state_ && |
+ power_state == pending_power_state_ && |
!(flags & kSetDisplayPowerForceProbe)) { |
callback.Run(true); |
return; |