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

Side by Side Diff: chromeos/display/output_configurator_unittest.cc

Issue 139053003: Chrome OS: avoid suspending on lid close when casting is active. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another nit. Created 6 years, 11 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chromeos/display/output_configurator.h" 5 #include "chromeos/display/output_configurator.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <cstdarg> 8 #include <cstdarg>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 GetCrtcAction(outputs_[1].crtc, 0, 780 GetCrtcAction(outputs_[1].crtc, 0,
781 kSmallModeHeight + OutputConfigurator::kVerticalGap, 781 kSmallModeHeight + OutputConfigurator::kVerticalGap,
782 kBigModeId, outputs_[1].output).c_str(), 782 kBigModeId, outputs_[1].output).c_str(),
783 kForceDPMS, kUngrab, NULL), 783 kForceDPMS, kUngrab, NULL),
784 delegate_->GetActionsAndClear()); 784 delegate_->GetActionsAndClear());
785 EXPECT_EQ(STATE_DUAL_EXTENDED, configurator_.output_state()); 785 EXPECT_EQ(STATE_DUAL_EXTENDED, configurator_.output_state());
786 EXPECT_TRUE(mirroring_controller_.software_mirroring_enabled()); 786 EXPECT_TRUE(mirroring_controller_.software_mirroring_enabled());
787 EXPECT_EQ(1, observer_.num_changes()); 787 EXPECT_EQ(1, observer_.num_changes());
788 } 788 }
789 789
790 TEST_F(OutputConfiguratorTest, Casting) {
791 InitWithSingleOutput();
792
793 // Notify configurator that casting session is started.
794 configurator_.OnCastingSessionStartedOrStopped(true);
795 EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
796
797 // Verify that the configurator keeps a count of active casting sessions
798 // instead of treating it as a single global state.
799 configurator_.OnCastingSessionStartedOrStopped(true);
800 EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
801 configurator_.OnCastingSessionStartedOrStopped(false);
802 EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
803
804 // Turn all displays off and check that projecting is not turned off.
805 configurator_.SetDisplayPower(DISPLAY_POWER_ALL_OFF,
806 OutputConfigurator::kSetDisplayPowerNoFlags);
807 EXPECT_EQ(JoinActions(kGrab,
808 GetFramebufferAction(kSmallModeWidth, kSmallModeHeight,
809 outputs_[0].crtc, 0).c_str(),
810 GetCrtcAction(outputs_[0].crtc, 0, 0, 0,
811 outputs_[0].output).c_str(),
812 kUngrab, NULL),
813 delegate_->GetActionsAndClear());
814
815 // Turn all displays back on.
816 configurator_.SetDisplayPower(DISPLAY_POWER_ALL_ON,
817 OutputConfigurator::kSetDisplayPowerNoFlags);
818 EXPECT_EQ(JoinActions(kGrab,
819 GetFramebufferAction(kSmallModeWidth, kSmallModeHeight,
820 outputs_[0].crtc, 0).c_str(),
821 GetCrtcAction(outputs_[0].crtc, 0, 0, kSmallModeId,
822 outputs_[0].output).c_str(),
823 kForceDPMS, kUngrab, NULL),
824 delegate_->GetActionsAndClear());
825
826 // Notify configurator that casting session is ended.
827 configurator_.OnCastingSessionStartedOrStopped(false);
828 EXPECT_EQ(kProjectingOff, delegate_->GetActionsAndClear());
829 }
830
790 TEST_F(OutputConfiguratorTest, SuspendAndResume) { 831 TEST_F(OutputConfiguratorTest, SuspendAndResume) {
791 InitWithSingleOutput(); 832 InitWithSingleOutput();
792 833
793 // No preparation is needed before suspending when the display is already 834 // No preparation is needed before suspending when the display is already
794 // on. The configurator should still reprobe on resume in case a display 835 // on. The configurator should still reprobe on resume in case a display
795 // was connected while suspended. 836 // was connected while suspended.
796 configurator_.SuspendDisplays(); 837 configurator_.SuspendDisplays();
797 EXPECT_EQ(kNoActions, delegate_->GetActionsAndClear()); 838 EXPECT_EQ(kNoActions, delegate_->GetActionsAndClear());
798 configurator_.ResumeDisplays(); 839 configurator_.ResumeDisplays();
799 EXPECT_EQ(JoinActions(kGrab, 840 EXPECT_EQ(JoinActions(kGrab,
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
1398 GetCrtcAction(outputs_[1].crtc, 0, 1439 GetCrtcAction(outputs_[1].crtc, 0,
1399 outputs_[1].mode_infos[kFirstMode].height + 1440 outputs_[1].mode_infos[kFirstMode].height +
1400 OutputConfigurator::kVerticalGap, kFirstMode + 3, 1441 OutputConfigurator::kVerticalGap, kFirstMode + 3,
1401 outputs_[1].output).c_str(), 1442 outputs_[1].output).c_str(),
1402 kUngrab, kProjectingOn, NULL), 1443 kUngrab, kProjectingOn, NULL),
1403 delegate_->GetActionsAndClear()); 1444 delegate_->GetActionsAndClear());
1404 1445
1405 } 1446 }
1406 1447
1407 } // namespace chromeos 1448 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/display/output_configurator.cc ('k') | content/browser/renderer_host/media/media_stream_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698