| Index: chromeos/display/output_configurator.cc
|
| diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc
|
| index 19724a82287bcacd1a872644f4840affc3d80f07..057d51f47761062f70745d57481944911fcba7f6 100644
|
| --- a/chromeos/display/output_configurator.cc
|
| +++ b/chromeos/display/output_configurator.cc
|
| @@ -770,9 +770,9 @@ bool OutputConfigurator::Dispatch(const base::NativeEvent& event) {
|
| }
|
|
|
| // Sets the timer for NotifyOnDisplayChanged(). When an output state change
|
| - // is issued, several notifications chould arrive and NotifyOnDisplayChanged()
|
| + // is issued, several notifications should arrive and NotifyOnDisplayChanged()
|
| // should be called once for the last one. The timer could lead at most a few
|
| - // handreds milliseconds of delay for the notification, but it would be
|
| + // hundreds milliseconds of delay for the notification, but it would be
|
| // unrecognizable for users.
|
| if (notification_timer_.get()) {
|
| notification_timer_->Reset();
|
| @@ -800,6 +800,17 @@ bool OutputConfigurator::IsInternalOutputName(const std::string& name) {
|
| return name.find(kInternal_LVDS) == 0 || name.find(kInternal_eDP) == 0;
|
| }
|
|
|
| +void OutputConfigurator::SuspendDisplays() {
|
| + // Turn displays on before suspend. At this point, the backlight is off,
|
| + // so we turn on the internal display so that we can resume directly into
|
| + // on state. This greatly reduces resume times.
|
| + Display* display = base::MessagePumpAuraX11::GetDefaultXDisplay();
|
| + ScreenPowerSet(true, true);
|
| + // We need to make sure this actually completes before we return, because
|
| + // otherwise we could be racing with the SuspendReady message.
|
| + XSync(display, 0);
|
| +}
|
| +
|
| void OutputConfigurator::NotifyOnDisplayChanged() {
|
| notification_timer_.reset();
|
| FOR_EACH_OBSERVER(Observer, observers_, OnDisplayModeChanged());
|
|
|