summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 08:40:29 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 08:40:29 +0000
commit81e8334cbf20d94a76c4bf2b4b2836d3b9d806c9 (patch)
treea990467f7944571d18614bb9d8143141bc5659f2
parent283cc569304b334f46012d6442f64328a8c82523 (diff)
downloadchromium_src-81e8334cbf20d94a76c4bf2b4b2836d3b9d806c9.zip
chromium_src-81e8334cbf20d94a76c4bf2b4b2836d3b9d806c9.tar.gz
chromium_src-81e8334cbf20d94a76c4bf2b4b2836d3b9d806c9.tar.bz2
Turns DPMS on when the display mode is changed to mirror mode.
BUG=259432 Review URL: https://chromiumcodereview.appspot.com/19478002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212289 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chromeos/display/output_configurator.cc7
-rw-r--r--chromeos/display/output_configurator_unittest.cc1
2 files changed, 8 insertions, 0 deletions
diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc
index 875513f..155f1c0 100644
--- a/chromeos/display/output_configurator.cc
+++ b/chromeos/display/output_configurator.cc
@@ -267,6 +267,13 @@ bool OutputConfigurator::SetDisplayMode(OutputState new_state) {
std::vector<OutputSnapshot> outputs = delegate_->GetOutputs();
bool success = EnterStateOrFallBackToSoftwareMirroring(
new_state, power_state_, outputs);
+ // Force turning on DPMS when switching to mirror mode.
+ // crbug.com/259432
+ // TODO(oshima): Revert this change once the root problem is fixed.
+ if (success && power_state_ != DISPLAY_POWER_ALL_OFF &&
+ output_state_ == STATE_DUAL_MIRROR) {
+ delegate_->ForceDPMSOn();
+ }
delegate_->UngrabServer();
if (success) {
diff --git a/chromeos/display/output_configurator_unittest.cc b/chromeos/display/output_configurator_unittest.cc
index 6c28d97..2a98c64 100644
--- a/chromeos/display/output_configurator_unittest.cc
+++ b/chromeos/display/output_configurator_unittest.cc
@@ -367,6 +367,7 @@ TEST_F(OutputConfiguratorTest, ConnectSecondOutput) {
outputs_[0].output).c_str(),
GetCrtcAction(outputs_[1].crtc, 0, 0, kSmallModeId,
outputs_[1].output).c_str(),
+ kForceDPMS,
kUngrab, NULL),
delegate_->GetActionsAndClear());
EXPECT_FALSE(mirroring_controller_.software_mirroring_enabled());