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

Side by Side Diff: chrome/browser/chromeos/display/display_preferences_unittest.cc

Issue 1608733002: Remove ui/gfx/screen_type_delegate.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-4
Patch Set: and another rebase Created 4 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
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 "chrome/browser/chromeos/display/display_preferences.h" 5 #include "chrome/browser/chromeos/display/display_preferences.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 EXPECT_EQ("left, 30", GetRegisteredDisplayLayoutStr(dummy_pair)); 240 EXPECT_EQ("left, 30", GetRegisteredDisplayLayoutStr(dummy_pair));
241 } 241 }
242 242
243 TEST_F(DisplayPreferencesTest, BasicStores) { 243 TEST_F(DisplayPreferencesTest, BasicStores) {
244 ash::WindowTreeHostManager* window_tree_host_manager = 244 ash::WindowTreeHostManager* window_tree_host_manager =
245 ash::Shell::GetInstance()->window_tree_host_manager(); 245 ash::Shell::GetInstance()->window_tree_host_manager();
246 ash::DisplayManager* display_manager = 246 ash::DisplayManager* display_manager =
247 ash::Shell::GetInstance()->display_manager(); 247 ash::Shell::GetInstance()->display_manager();
248 248
249 UpdateDisplay("200x200*2, 400x300#400x400|300x200*1.25"); 249 UpdateDisplay("200x200*2, 400x300#400x400|300x200*1.25");
250 int64_t id1 = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id(); 250 int64_t id1 = gfx::Screen::GetScreen()->GetPrimaryDisplay().id();
251 ash::test::ScopedSetInternalDisplayId set_internal(id1); 251 ash::test::ScopedSetInternalDisplayId set_internal(id1);
252 int64_t id2 = ash::ScreenUtil::GetSecondaryDisplay().id(); 252 int64_t id2 = ash::ScreenUtil::GetSecondaryDisplay().id();
253 int64_t dummy_id = id2 + 1; 253 int64_t dummy_id = id2 + 1;
254 ASSERT_NE(id1, dummy_id); 254 ASSERT_NE(id1, dummy_id);
255 std::vector<ui::ColorCalibrationProfile> profiles; 255 std::vector<ui::ColorCalibrationProfile> profiles;
256 profiles.push_back(ui::COLOR_PROFILE_STANDARD); 256 profiles.push_back(ui::COLOR_PROFILE_STANDARD);
257 profiles.push_back(ui::COLOR_PROFILE_DYNAMIC); 257 profiles.push_back(ui::COLOR_PROFILE_DYNAMIC);
258 profiles.push_back(ui::COLOR_PROFILE_MOVIE); 258 profiles.push_back(ui::COLOR_PROFILE_MOVIE);
259 profiles.push_back(ui::COLOR_PROFILE_READING); 259 profiles.push_back(ui::COLOR_PROFILE_READING);
260 // Allows only |id1|. 260 // Allows only |id1|.
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 property = NULL; 513 property = NULL;
514 EXPECT_TRUE(properties->GetDictionary(base::Int64ToString(id), &property)); 514 EXPECT_TRUE(properties->GetDictionary(base::Int64ToString(id), &property));
515 EXPECT_TRUE(property->GetInteger("width", &width)); 515 EXPECT_TRUE(property->GetInteger("width", &width));
516 EXPECT_TRUE(property->GetInteger("height", &height)); 516 EXPECT_TRUE(property->GetInteger("height", &height));
517 EXPECT_EQ(300, width); 517 EXPECT_EQ(300, width);
518 EXPECT_EQ(200, height); 518 EXPECT_EQ(200, height);
519 } 519 }
520 520
521 TEST_F(DisplayPreferencesTest, StoreForSwappedDisplay) { 521 TEST_F(DisplayPreferencesTest, StoreForSwappedDisplay) {
522 UpdateDisplay("100x100,200x200"); 522 UpdateDisplay("100x100,200x200");
523 int64_t id1 = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id(); 523 int64_t id1 = gfx::Screen::GetScreen()->GetPrimaryDisplay().id();
524 int64_t id2 = ash::ScreenUtil::GetSecondaryDisplay().id(); 524 int64_t id2 = ash::ScreenUtil::GetSecondaryDisplay().id();
525 525
526 ash::WindowTreeHostManager* window_tree_host_manager = 526 ash::WindowTreeHostManager* window_tree_host_manager =
527 ash::Shell::GetInstance()->window_tree_host_manager(); 527 ash::Shell::GetInstance()->window_tree_host_manager();
528 window_tree_host_manager->SwapPrimaryDisplayForTest(); 528 window_tree_host_manager->SwapPrimaryDisplayForTest();
529 ASSERT_EQ(id1, ash::ScreenUtil::GetSecondaryDisplay().id()); 529 ASSERT_EQ(id1, ash::ScreenUtil::GetSecondaryDisplay().id());
530 530
531 LoggedInAsUser(); 531 LoggedInAsUser();
532 ash::DisplayLayout layout(ash::DisplayLayout::TOP, 10); 532 ash::DisplayLayout layout(ash::DisplayLayout::TOP, 10);
533 ash::Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays( 533 ash::Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays(
(...skipping 17 matching lines...) Expand all
551 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout)); 551 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout));
552 EXPECT_EQ(layout.position, stored_layout.position); 552 EXPECT_EQ(layout.position, stored_layout.position);
553 EXPECT_EQ(layout.offset, stored_layout.offset); 553 EXPECT_EQ(layout.offset, stored_layout.offset);
554 EXPECT_EQ(id1, stored_layout.primary_id); 554 EXPECT_EQ(id1, stored_layout.primary_id);
555 } 555 }
556 556
557 TEST_F(DisplayPreferencesTest, RestoreColorProfiles) { 557 TEST_F(DisplayPreferencesTest, RestoreColorProfiles) {
558 ash::DisplayManager* display_manager = 558 ash::DisplayManager* display_manager =
559 ash::Shell::GetInstance()->display_manager(); 559 ash::Shell::GetInstance()->display_manager();
560 560
561 int64_t id1 = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id(); 561 int64_t id1 = gfx::Screen::GetScreen()->GetPrimaryDisplay().id();
562 562
563 StoreColorProfile(id1, "dynamic"); 563 StoreColorProfile(id1, "dynamic");
564 564
565 LoggedInAsUser(); 565 LoggedInAsUser();
566 LoadDisplayPreferences(false); 566 LoadDisplayPreferences(false);
567 567
568 // id1's available color profiles list is empty, means somehow the color 568 // id1's available color profiles list is empty, means somehow the color
569 // profile suport is temporary in trouble. 569 // profile suport is temporary in trouble.
570 EXPECT_NE(ui::COLOR_PROFILE_DYNAMIC, 570 EXPECT_NE(ui::COLOR_PROFILE_DYNAMIC,
571 display_manager->GetDisplayInfo(id1).color_profile()); 571 display_manager->GetDisplayInfo(id1).color_profile());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 display_manager->SetDisplayRotation(new_primary, gfx::Display::ROTATE_90, 605 display_manager->SetDisplayRotation(new_primary, gfx::Display::ROTATE_90,
606 gfx::Display::ROTATION_SOURCE_USER); 606 gfx::Display::ROTATION_SOURCE_USER);
607 607
608 // Does not store the preferences locally. 608 // Does not store the preferences locally.
609 EXPECT_FALSE(local_state()->FindPreference( 609 EXPECT_FALSE(local_state()->FindPreference(
610 prefs::kSecondaryDisplays)->HasUserSetting()); 610 prefs::kSecondaryDisplays)->HasUserSetting());
611 EXPECT_FALSE(local_state()->FindPreference( 611 EXPECT_FALSE(local_state()->FindPreference(
612 prefs::kDisplayProperties)->HasUserSetting()); 612 prefs::kDisplayProperties)->HasUserSetting());
613 613
614 // Settings are still notified to the system. 614 // Settings are still notified to the system.
615 gfx::Screen* screen = gfx::Screen::GetNativeScreen(); 615 gfx::Screen* screen = gfx::Screen::GetScreen();
616 EXPECT_EQ(id2, screen->GetPrimaryDisplay().id()); 616 EXPECT_EQ(id2, screen->GetPrimaryDisplay().id());
617 EXPECT_EQ(ash::DisplayLayout::BOTTOM, 617 EXPECT_EQ(ash::DisplayLayout::BOTTOM,
618 display_manager->GetCurrentDisplayLayout().position); 618 display_manager->GetCurrentDisplayLayout().position);
619 EXPECT_EQ(-10, display_manager->GetCurrentDisplayLayout().offset); 619 EXPECT_EQ(-10, display_manager->GetCurrentDisplayLayout().offset);
620 const gfx::Display& primary_display = screen->GetPrimaryDisplay(); 620 const gfx::Display& primary_display = screen->GetPrimaryDisplay();
621 EXPECT_EQ("178x176", primary_display.bounds().size().ToString()); 621 EXPECT_EQ("178x176", primary_display.bounds().size().ToString());
622 EXPECT_EQ(gfx::Display::ROTATE_90, primary_display.rotation()); 622 EXPECT_EQ(gfx::Display::ROTATE_90, primary_display.rotation());
623 623
624 const ash::DisplayInfo& info1 = display_manager->GetDisplayInfo(id1); 624 const ash::DisplayInfo& info1 = display_manager->GetDisplayInfo(id1);
625 EXPECT_EQ(1.25f, info1.configured_ui_scale()); 625 EXPECT_EQ(1.25f, info1.configured_ui_scale());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 LoadDisplayPreferences(false); 684 LoadDisplayPreferences(false);
685 EXPECT_EQ(chromeos::DISPLAY_POWER_INTERNAL_OFF_EXTERNAL_ON, 685 EXPECT_EQ(chromeos::DISPLAY_POWER_INTERNAL_OFF_EXTERNAL_ON,
686 shell->display_configurator()->requested_power_state()); 686 shell->display_configurator()->requested_power_state());
687 } 687 }
688 688
689 // Tests that display configuration changes caused by MaximizeModeController 689 // Tests that display configuration changes caused by MaximizeModeController
690 // are not saved. 690 // are not saved.
691 TEST_F(DisplayPreferencesTest, DontSaveMaximizeModeControllerRotations) { 691 TEST_F(DisplayPreferencesTest, DontSaveMaximizeModeControllerRotations) {
692 ash::Shell* shell = ash::Shell::GetInstance(); 692 ash::Shell* shell = ash::Shell::GetInstance();
693 gfx::Display::SetInternalDisplayId( 693 gfx::Display::SetInternalDisplayId(
694 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 694 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
695 ash::DisplayManager* display_manager = shell->display_manager(); 695 ash::DisplayManager* display_manager = shell->display_manager();
696 LoggedInAsUser(); 696 LoggedInAsUser();
697 // Populate the properties. 697 // Populate the properties.
698 display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId(), 698 display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId(),
699 gfx::Display::ROTATE_180, 699 gfx::Display::ROTATE_180,
700 gfx::Display::ROTATION_SOURCE_USER); 700 gfx::Display::ROTATION_SOURCE_USER);
701 // Reset property to avoid rotation lock 701 // Reset property to avoid rotation lock
702 display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId(), 702 display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId(),
703 gfx::Display::ROTATE_0, 703 gfx::Display::ROTATE_0,
704 gfx::Display::ROTATION_SOURCE_USER); 704 gfx::Display::ROTATION_SOURCE_USER);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 EXPECT_TRUE(properties->GetDictionary( 738 EXPECT_TRUE(properties->GetDictionary(
739 base::Int64ToString(gfx::Display::InternalDisplayId()), &property)); 739 base::Int64ToString(gfx::Display::InternalDisplayId()), &property));
740 rotation = -1; 740 rotation = -1;
741 EXPECT_TRUE(property->GetInteger("rotation", &rotation)); 741 EXPECT_TRUE(property->GetInteger("rotation", &rotation));
742 EXPECT_EQ(gfx::Display::ROTATE_0, rotation); 742 EXPECT_EQ(gfx::Display::ROTATE_0, rotation);
743 } 743 }
744 744
745 // Tests that the rotation state is saved without a user being logged in. 745 // Tests that the rotation state is saved without a user being logged in.
746 TEST_F(DisplayPreferencesTest, StoreRotationStateNoLogin) { 746 TEST_F(DisplayPreferencesTest, StoreRotationStateNoLogin) {
747 gfx::Display::SetInternalDisplayId( 747 gfx::Display::SetInternalDisplayId(
748 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 748 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
749 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 749 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
750 750
751 bool current_rotation_lock = IsRotationLocked(); 751 bool current_rotation_lock = IsRotationLocked();
752 StoreDisplayRotationPrefs(current_rotation_lock); 752 StoreDisplayRotationPrefs(current_rotation_lock);
753 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 753 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
754 754
755 const base::DictionaryValue* properties = 755 const base::DictionaryValue* properties =
756 local_state()->GetDictionary(prefs::kDisplayRotationLock); 756 local_state()->GetDictionary(prefs::kDisplayRotationLock);
757 bool rotation_lock; 757 bool rotation_lock;
758 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock)); 758 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock));
759 EXPECT_EQ(current_rotation_lock, rotation_lock); 759 EXPECT_EQ(current_rotation_lock, rotation_lock);
760 760
761 int orientation; 761 int orientation;
762 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation(); 762 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation();
763 EXPECT_TRUE(properties->GetInteger("orientation", &orientation)); 763 EXPECT_TRUE(properties->GetInteger("orientation", &orientation));
764 EXPECT_EQ(current_rotation, orientation); 764 EXPECT_EQ(current_rotation, orientation);
765 } 765 }
766 766
767 // Tests that the rotation state is saved when a guest is logged in. 767 // Tests that the rotation state is saved when a guest is logged in.
768 TEST_F(DisplayPreferencesTest, StoreRotationStateGuest) { 768 TEST_F(DisplayPreferencesTest, StoreRotationStateGuest) {
769 gfx::Display::SetInternalDisplayId( 769 gfx::Display::SetInternalDisplayId(
770 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 770 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
771 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 771 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
772 LoggedInAsGuest(); 772 LoggedInAsGuest();
773 773
774 bool current_rotation_lock = IsRotationLocked(); 774 bool current_rotation_lock = IsRotationLocked();
775 StoreDisplayRotationPrefs(current_rotation_lock); 775 StoreDisplayRotationPrefs(current_rotation_lock);
776 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 776 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
777 777
778 const base::DictionaryValue* properties = 778 const base::DictionaryValue* properties =
779 local_state()->GetDictionary(prefs::kDisplayRotationLock); 779 local_state()->GetDictionary(prefs::kDisplayRotationLock);
780 bool rotation_lock; 780 bool rotation_lock;
781 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock)); 781 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock));
782 EXPECT_EQ(current_rotation_lock, rotation_lock); 782 EXPECT_EQ(current_rotation_lock, rotation_lock);
783 783
784 int orientation; 784 int orientation;
785 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation(); 785 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation();
786 EXPECT_TRUE(properties->GetInteger("orientation", &orientation)); 786 EXPECT_TRUE(properties->GetInteger("orientation", &orientation));
787 EXPECT_EQ(current_rotation, orientation); 787 EXPECT_EQ(current_rotation, orientation);
788 } 788 }
789 789
790 // Tests that the rotation state is saved when a normal user is logged in. 790 // Tests that the rotation state is saved when a normal user is logged in.
791 TEST_F(DisplayPreferencesTest, StoreRotationStateNormalUser) { 791 TEST_F(DisplayPreferencesTest, StoreRotationStateNormalUser) {
792 gfx::Display::SetInternalDisplayId( 792 gfx::Display::SetInternalDisplayId(
793 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 793 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
794 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 794 EXPECT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
795 LoggedInAsGuest(); 795 LoggedInAsGuest();
796 796
797 bool current_rotation_lock = IsRotationLocked(); 797 bool current_rotation_lock = IsRotationLocked();
798 StoreDisplayRotationPrefs(current_rotation_lock); 798 StoreDisplayRotationPrefs(current_rotation_lock);
799 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 799 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
800 800
801 const base::DictionaryValue* properties = 801 const base::DictionaryValue* properties =
802 local_state()->GetDictionary(prefs::kDisplayRotationLock); 802 local_state()->GetDictionary(prefs::kDisplayRotationLock);
803 bool rotation_lock; 803 bool rotation_lock;
804 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock)); 804 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock));
805 EXPECT_EQ(current_rotation_lock, rotation_lock); 805 EXPECT_EQ(current_rotation_lock, rotation_lock);
806 806
807 int orientation; 807 int orientation;
808 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation(); 808 gfx::Display::Rotation current_rotation = GetCurrentInternalDisplayRotation();
809 EXPECT_TRUE(properties->GetInteger("orientation", &orientation)); 809 EXPECT_TRUE(properties->GetInteger("orientation", &orientation));
810 EXPECT_EQ(current_rotation, orientation); 810 EXPECT_EQ(current_rotation, orientation);
811 } 811 }
812 812
813 // Tests that rotation state is loaded without a user being logged in, and that 813 // Tests that rotation state is loaded without a user being logged in, and that
814 // entering maximize mode applies the state. 814 // entering maximize mode applies the state.
815 TEST_F(DisplayPreferencesTest, LoadRotationNoLogin) { 815 TEST_F(DisplayPreferencesTest, LoadRotationNoLogin) {
816 gfx::Display::SetInternalDisplayId( 816 gfx::Display::SetInternalDisplayId(
817 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 817 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
818 ASSERT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 818 ASSERT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
819 819
820 ash::Shell* shell = ash::Shell::GetInstance(); 820 ash::Shell* shell = ash::Shell::GetInstance();
821 bool initial_rotation_lock = IsRotationLocked(); 821 bool initial_rotation_lock = IsRotationLocked();
822 ASSERT_FALSE(initial_rotation_lock); 822 ASSERT_FALSE(initial_rotation_lock);
823 ash::DisplayManager* display_manager = shell->display_manager(); 823 ash::DisplayManager* display_manager = shell->display_manager();
824 gfx::Display::Rotation initial_rotation = GetCurrentInternalDisplayRotation(); 824 gfx::Display::Rotation initial_rotation = GetCurrentInternalDisplayRotation();
825 ASSERT_EQ(gfx::Display::ROTATE_0, initial_rotation); 825 ASSERT_EQ(gfx::Display::ROTATE_0, initial_rotation);
826 826
827 StoreDisplayRotationPrefs(initial_rotation_lock); 827 StoreDisplayRotationPrefs(initial_rotation_lock);
(...skipping 30 matching lines...) Expand all
858 bool screen_orientation_rotation_lock = IsRotationLocked(); 858 bool screen_orientation_rotation_lock = IsRotationLocked();
859 gfx::Display::Rotation maximize_mode_rotation = 859 gfx::Display::Rotation maximize_mode_rotation =
860 GetCurrentInternalDisplayRotation(); 860 GetCurrentInternalDisplayRotation();
861 EXPECT_TRUE(screen_orientation_rotation_lock); 861 EXPECT_TRUE(screen_orientation_rotation_lock);
862 EXPECT_EQ(gfx::Display::ROTATE_90, maximize_mode_rotation); 862 EXPECT_EQ(gfx::Display::ROTATE_90, maximize_mode_rotation);
863 } 863 }
864 864
865 // Tests that rotation lock being set causes the rotation state to be saved. 865 // Tests that rotation lock being set causes the rotation state to be saved.
866 TEST_F(DisplayPreferencesTest, RotationLockTriggersStore) { 866 TEST_F(DisplayPreferencesTest, RotationLockTriggersStore) {
867 gfx::Display::SetInternalDisplayId( 867 gfx::Display::SetInternalDisplayId(
868 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id()); 868 gfx::Screen::GetScreen()->GetPrimaryDisplay().id());
869 ASSERT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 869 ASSERT_FALSE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
870 870
871 ash::Shell::GetInstance()->screen_orientation_controller()->SetRotationLocked( 871 ash::Shell::GetInstance()->screen_orientation_controller()->SetRotationLocked(
872 true); 872 true);
873 873
874 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock)); 874 EXPECT_TRUE(local_state()->HasPrefPath(prefs::kDisplayRotationLock));
875 875
876 const base::DictionaryValue* properties = 876 const base::DictionaryValue* properties =
877 local_state()->GetDictionary(prefs::kDisplayRotationLock); 877 local_state()->GetDictionary(prefs::kDisplayRotationLock);
878 bool rotation_lock; 878 bool rotation_lock;
879 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock)); 879 EXPECT_TRUE(properties->GetBoolean("lock", &rotation_lock));
880 } 880 }
881 881
882 TEST_F(DisplayPreferencesTest, SaveUnifiedMode) { 882 TEST_F(DisplayPreferencesTest, SaveUnifiedMode) {
883 883
884 LoggedInAsUser(); 884 LoggedInAsUser();
885 ash::DisplayManager* display_manager = 885 ash::DisplayManager* display_manager =
886 ash::Shell::GetInstance()->display_manager(); 886 ash::Shell::GetInstance()->display_manager();
887 display_manager->SetUnifiedDesktopEnabled(true); 887 display_manager->SetUnifiedDesktopEnabled(true);
888 888
889 UpdateDisplay("200x200,100x100"); 889 UpdateDisplay("200x200,100x100");
890 ash::DisplayIdPair pair = display_manager->GetCurrentDisplayIdPair(); 890 ash::DisplayIdPair pair = display_manager->GetCurrentDisplayIdPair();
891 EXPECT_EQ( 891 EXPECT_EQ("400x200",
892 "400x200", 892 gfx::Screen::GetScreen()->GetPrimaryDisplay().size().ToString());
893 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().size().ToString());
894 893
895 const base::DictionaryValue* secondary_displays = 894 const base::DictionaryValue* secondary_displays =
896 local_state()->GetDictionary(prefs::kSecondaryDisplays); 895 local_state()->GetDictionary(prefs::kSecondaryDisplays);
897 const base::DictionaryValue* new_value = NULL; 896 const base::DictionaryValue* new_value = NULL;
898 EXPECT_TRUE( 897 EXPECT_TRUE(
899 secondary_displays->GetDictionary(ToPairString(pair), &new_value)); 898 secondary_displays->GetDictionary(ToPairString(pair), &new_value));
900 899
901 ash::DisplayLayout stored_layout; 900 ash::DisplayLayout stored_layout;
902 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout)); 901 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout));
903 EXPECT_TRUE(stored_layout.default_unified); 902 EXPECT_TRUE(stored_layout.default_unified);
904 EXPECT_FALSE(stored_layout.mirrored); 903 EXPECT_FALSE(stored_layout.mirrored);
905 904
906 const base::DictionaryValue* displays = 905 const base::DictionaryValue* displays =
907 local_state()->GetDictionary(prefs::kDisplayProperties); 906 local_state()->GetDictionary(prefs::kDisplayProperties);
908 int64_t unified_id = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id(); 907 int64_t unified_id = gfx::Screen::GetScreen()->GetPrimaryDisplay().id();
909 EXPECT_FALSE( 908 EXPECT_FALSE(
910 displays->GetDictionary(base::Int64ToString(unified_id), &new_value)); 909 displays->GetDictionary(base::Int64ToString(unified_id), &new_value));
911 910
912 ash::test::SetDisplayResolution(unified_id, gfx::Size(200, 100)); 911 ash::test::SetDisplayResolution(unified_id, gfx::Size(200, 100));
913 EXPECT_EQ( 912 EXPECT_EQ("200x100",
914 "200x100", 913 gfx::Screen::GetScreen()->GetPrimaryDisplay().size().ToString());
915 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().size().ToString());
916 EXPECT_FALSE( 914 EXPECT_FALSE(
917 displays->GetDictionary(base::Int64ToString(unified_id), &new_value)); 915 displays->GetDictionary(base::Int64ToString(unified_id), &new_value));
918 916
919 // Mirror mode should remember if the default mode was unified. 917 // Mirror mode should remember if the default mode was unified.
920 display_manager->SetMirrorMode(true); 918 display_manager->SetMirrorMode(true);
921 ASSERT_TRUE( 919 ASSERT_TRUE(
922 secondary_displays->GetDictionary(ToPairString(pair), &new_value)); 920 secondary_displays->GetDictionary(ToPairString(pair), &new_value));
923 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout)); 921 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout));
924 EXPECT_TRUE(stored_layout.default_unified); 922 EXPECT_TRUE(stored_layout.default_unified);
925 EXPECT_TRUE(stored_layout.mirrored); 923 EXPECT_TRUE(stored_layout.mirrored);
926 924
927 display_manager->SetMirrorMode(false); 925 display_manager->SetMirrorMode(false);
928 ASSERT_TRUE( 926 ASSERT_TRUE(
929 secondary_displays->GetDictionary(ToPairString(pair), &new_value)); 927 secondary_displays->GetDictionary(ToPairString(pair), &new_value));
930 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout)); 928 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout));
931 EXPECT_TRUE(stored_layout.default_unified); 929 EXPECT_TRUE(stored_layout.default_unified);
932 EXPECT_FALSE(stored_layout.mirrored); 930 EXPECT_FALSE(stored_layout.mirrored);
933 931
934 // Exit unified mode. 932 // Exit unified mode.
935 display_manager->SetDefaultMultiDisplayModeForCurrentDisplays( 933 display_manager->SetDefaultMultiDisplayModeForCurrentDisplays(
936 ash::DisplayManager::EXTENDED); 934 ash::DisplayManager::EXTENDED);
937 ASSERT_TRUE( 935 ASSERT_TRUE(
938 secondary_displays->GetDictionary(ToPairString(pair), &new_value)); 936 secondary_displays->GetDictionary(ToPairString(pair), &new_value));
939 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout)); 937 EXPECT_TRUE(ash::DisplayLayout::ConvertFromValue(*new_value, &stored_layout));
940 EXPECT_FALSE(stored_layout.default_unified); 938 EXPECT_FALSE(stored_layout.default_unified);
941 EXPECT_FALSE(stored_layout.mirrored); 939 EXPECT_FALSE(stored_layout.mirrored);
942 } 940 }
943 941
944 TEST_F(DisplayPreferencesTest, RestoreUnifiedMode) { 942 TEST_F(DisplayPreferencesTest, RestoreUnifiedMode) {
945 int64_t id1 = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().id(); 943 int64_t id1 = gfx::Screen::GetScreen()->GetPrimaryDisplay().id();
946 ash::DisplayIdPair pair = std::make_pair(id1, id1 + 1); 944 ash::DisplayIdPair pair = std::make_pair(id1, id1 + 1);
947 StoreDisplayBoolPropertyForPair(pair, "default_unified", true); 945 StoreDisplayBoolPropertyForPair(pair, "default_unified", true);
948 StoreDisplayPropertyForPair( 946 StoreDisplayPropertyForPair(
949 pair, "primary-id", 947 pair, "primary-id",
950 make_scoped_ptr(new base::StringValue(base::Int64ToString(id1)))); 948 make_scoped_ptr(new base::StringValue(base::Int64ToString(id1))));
951 LoadDisplayPreferences(false); 949 LoadDisplayPreferences(false);
952 950
953 // Should not restore to unified unless unified desktop is enabled. 951 // Should not restore to unified unless unified desktop is enabled.
954 UpdateDisplay("100x100,200x200"); 952 UpdateDisplay("100x100,200x200");
955 ash::DisplayManager* display_manager = 953 ash::DisplayManager* display_manager =
(...skipping 20 matching lines...) Expand all
976 // Sanity check. Restore to extended. 974 // Sanity check. Restore to extended.
977 StoreDisplayBoolPropertyForPair(pair, "default_unified", false); 975 StoreDisplayBoolPropertyForPair(pair, "default_unified", false);
978 StoreDisplayBoolPropertyForPair(pair, "mirrored", false); 976 StoreDisplayBoolPropertyForPair(pair, "mirrored", false);
979 LoadDisplayPreferences(false); 977 LoadDisplayPreferences(false);
980 UpdateDisplay("100x100,200x200"); 978 UpdateDisplay("100x100,200x200");
981 EXPECT_FALSE(display_manager->IsInMirrorMode()); 979 EXPECT_FALSE(display_manager->IsInMirrorMode());
982 EXPECT_FALSE(display_manager->IsInUnifiedMode()); 980 EXPECT_FALSE(display_manager->IsInUnifiedMode());
983 } 981 }
984 982
985 } // namespace chromeos 983 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/banners/app_banner_data_fetcher.cc ('k') | chrome/browser/chromeos/display/output_protection_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698