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

Side by Side Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 7067040: Enable incognito_session_only preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with ToT Created 9 years, 7 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/path_service.h" 6 #include "base/path_service.h"
7 #include "base/scoped_temp_dir.h" 7 #include "base/scoped_temp_dir.h"
8 #include "base/stl_util-inl.h" 8 #include "base/stl_util-inl.h"
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 702
703 void InstallExtControlledPrefIncognito(Extension *ext, 703 void InstallExtControlledPrefIncognito(Extension *ext,
704 const std::string& key, 704 const std::string& key,
705 Value* val) { 705 Value* val) {
706 using namespace extension_prefs_scope; 706 using namespace extension_prefs_scope;
707 EnsureExtensionInstalled(ext); 707 EnsureExtensionInstalled(ext);
708 prefs()->SetExtensionControlledPref(ext->id(), key, 708 prefs()->SetExtensionControlledPref(ext->id(), key,
709 kIncognitoPersistent, val); 709 kIncognitoPersistent, val);
710 } 710 }
711 711
712 void InstallExtControlledPrefIncognitoSessionOnly(
713 Extension *ext,
714 const std::string& key,
715 Value* val) {
716 using namespace extension_prefs_scope;
717 EnsureExtensionInstalled(ext);
718 prefs()->SetExtensionControlledPref(ext->id(), key,
719 kIncognitoSessionOnly, val);
720 }
721
712 void InstallExtension(Extension *ext) { 722 void InstallExtension(Extension *ext) {
713 EnsureExtensionInstalled(ext); 723 EnsureExtensionInstalled(ext);
714 } 724 }
715 725
716 void UninstallExtension(const std::string& extension_id) { 726 void UninstallExtension(const std::string& extension_id) {
717 EnsureExtensionUninstalled(extension_id); 727 EnsureExtensionUninstalled(extension_id);
718 } 728 }
719 729
720 // Weak references, for convenience. 730 // Weak references, for convenience.
721 Extension* ext1_; 731 Extension* ext1_;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); 770 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
761 } 771 }
762 virtual void Verify() { 772 virtual void Verify() {
763 std::string actual = prefs()->pref_service()->GetString(kPref1); 773 std::string actual = prefs()->pref_service()->GetString(kPref1);
764 EXPECT_EQ("val1", actual); 774 EXPECT_EQ("val1", actual);
765 } 775 }
766 }; 776 };
767 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} 777 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {}
768 778
769 // Check that we do not forget persistent incognito values after a reload. 779 // Check that we do not forget persistent incognito values after a reload.
770 class ExtensionPrefsInstallIncognito 780 class ExtensionPrefsInstallIncognitoPersistent
771 : public ExtensionPrefsPreferencesBase { 781 : public ExtensionPrefsPreferencesBase {
772 public: 782 public:
773 virtual void Initialize() { 783 virtual void Initialize() {
774 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); 784 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
775 InstallExtControlledPrefIncognito(ext1_, kPref1, 785 InstallExtControlledPrefIncognito(ext1_, kPref1,
776 Value::CreateStringValue("val2")); 786 Value::CreateStringValue("val2"));
777 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 787 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
778 std::string actual = incog_prefs->GetString(kPref1); 788 std::string actual = incog_prefs->GetString(kPref1);
779 EXPECT_EQ("val2", actual); 789 EXPECT_EQ("val2", actual);
780 } 790 }
781 virtual void Verify() { 791 virtual void Verify() {
782 // Main pref service shall see only non-incognito settings. 792 // Main pref service shall see only non-incognito settings.
783 std::string actual = prefs()->pref_service()->GetString(kPref1); 793 std::string actual = prefs()->pref_service()->GetString(kPref1);
784 EXPECT_EQ("val1", actual); 794 EXPECT_EQ("val1", actual);
785 // Incognito pref service shall see incognito values. 795 // Incognito pref service shall see incognito values.
786 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 796 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
787 actual = incog_prefs->GetString(kPref1); 797 actual = incog_prefs->GetString(kPref1);
788 EXPECT_EQ("val2", actual); 798 EXPECT_EQ("val2", actual);
789 } 799 }
790 }; 800 };
791 TEST_F(ExtensionPrefsInstallIncognito, ExtensionPrefsInstallOneExtension) {} 801 TEST_F(ExtensionPrefsInstallIncognitoPersistent,
802 ExtensionPrefsInstallOneExtension) {}
803
804 // Check that we forget 'session only' incognito values after a reload.
805 class ExtensionPrefsInstallIncognitoSessionOnly
806 : public ExtensionPrefsPreferencesBase {
807 public:
808 ExtensionPrefsInstallIncognitoSessionOnly() : iteration_(0) {}
809
810 virtual void Initialize() {
811 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
812 InstallExtControlledPrefIncognitoSessionOnly(
813 ext1_, kPref1, Value::CreateStringValue("val2"));
814 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
815 std::string actual = incog_prefs->GetString(kPref1);
816 EXPECT_EQ("val2", actual);
817 }
818 virtual void Verify() {
819 // Main pref service shall see only non-incognito settings.
820 std::string actual = prefs()->pref_service()->GetString(kPref1);
821 EXPECT_EQ("val1", actual);
822 // Incognito pref service shall see session-only incognito values only
823 // during first run. Once the pref service was reloaded, all values shall be
824 // discarded.
825 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
826 actual = incog_prefs->GetString(kPref1);
827 if (iteration_ == 0) {
828 EXPECT_EQ("val2", actual);
829 } else {
830 EXPECT_EQ("val1", actual);
831 }
832 ++iteration_;
833 }
834 int iteration_;
835 };
836 TEST_F(ExtensionPrefsInstallIncognitoSessionOnly,
837 ExtensionPrefsInstallOneExtension) {}
792 838
793 class ExtensionPrefsUninstallExtension 839 class ExtensionPrefsUninstallExtension
794 : public ExtensionPrefsPreferencesBase { 840 : public ExtensionPrefsPreferencesBase {
795 virtual void Initialize() { 841 virtual void Initialize() {
796 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); 842 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
797 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); 843 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2"));
798 844
799 UninstallExtension(ext1_->id()); 845 UninstallExtension(ext1_->id());
800 } 846 }
801 virtual void Verify() { 847 virtual void Verify() {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
845 Mock::VerifyAndClearExpectations(&incognito_observer); 891 Mock::VerifyAndClearExpectations(&incognito_observer);
846 892
847 // Change value. 893 // Change value.
848 EXPECT_CALL(observer, Observe(_, _, _)); 894 EXPECT_CALL(observer, Observe(_, _, _));
849 EXPECT_CALL(incognito_observer, Observe(_, _, _)); 895 EXPECT_CALL(incognito_observer, Observe(_, _, _));
850 InstallExtControlledPref(ext1_, kPref1, 896 InstallExtControlledPref(ext1_, kPref1,
851 Value::CreateStringValue("chrome://newtab")); 897 Value::CreateStringValue("chrome://newtab"));
852 Mock::VerifyAndClearExpectations(&observer); 898 Mock::VerifyAndClearExpectations(&observer);
853 Mock::VerifyAndClearExpectations(&incognito_observer); 899 Mock::VerifyAndClearExpectations(&incognito_observer);
854 900
855 // Change only incognito value. 901 // Change only incognito persistent value.
856 EXPECT_CALL(observer, Observe(_, _, _)).Times(0); 902 EXPECT_CALL(observer, Observe(_, _, _)).Times(0);
857 EXPECT_CALL(incognito_observer, Observe(_, _, _)); 903 EXPECT_CALL(incognito_observer, Observe(_, _, _));
858 InstallExtControlledPrefIncognito(ext1_, kPref1, 904 InstallExtControlledPrefIncognito(ext1_, kPref1,
859 Value::CreateStringValue("chrome://newtab2")); 905 Value::CreateStringValue("chrome://newtab2"));
860 Mock::VerifyAndClearExpectations(&observer); 906 Mock::VerifyAndClearExpectations(&observer);
861 Mock::VerifyAndClearExpectations(&incognito_observer); 907 Mock::VerifyAndClearExpectations(&incognito_observer);
862 908
909 // Change only incognito session-only value.
910 EXPECT_CALL(observer, Observe(_, _, _)).Times(0);
911 EXPECT_CALL(incognito_observer, Observe(_, _, _));
912 InstallExtControlledPrefIncognito(ext1_, kPref1,
913 Value::CreateStringValue("chrome://newtab3"));
914 Mock::VerifyAndClearExpectations(&observer);
915 Mock::VerifyAndClearExpectations(&incognito_observer);
916
863 // Uninstall. 917 // Uninstall.
864 EXPECT_CALL(observer, Observe(_, _, _)); 918 EXPECT_CALL(observer, Observe(_, _, _));
865 EXPECT_CALL(incognito_observer, Observe(_, _, _)); 919 EXPECT_CALL(incognito_observer, Observe(_, _, _));
866 UninstallExtension(ext1_->id()); 920 UninstallExtension(ext1_->id());
867 Mock::VerifyAndClearExpectations(&observer); 921 Mock::VerifyAndClearExpectations(&observer);
868 Mock::VerifyAndClearExpectations(&incognito_observer); 922 Mock::VerifyAndClearExpectations(&incognito_observer);
869 923
870 registrar.Remove(kPref1, &observer); 924 registrar.Remove(kPref1, &observer);
871 incognito_registrar.Remove(kPref1, &incognito_observer); 925 incognito_registrar.Remove(kPref1, &incognito_observer);
872 } 926 }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 testing::Mock::VerifyAndClearExpectations(v1i); 1002 testing::Mock::VerifyAndClearExpectations(v1i);
949 testing::Mock::VerifyAndClearExpectations(v2); 1003 testing::Mock::VerifyAndClearExpectations(v2);
950 testing::Mock::VerifyAndClearExpectations(v2i); 1004 testing::Mock::VerifyAndClearExpectations(v2i);
951 } 1005 }
952 1006
953 virtual void Verify() { 1007 virtual void Verify() {
954 } 1008 }
955 }; 1009 };
956 TEST_F(ExtensionPrefsSetExtensionControlledPref, 1010 TEST_F(ExtensionPrefsSetExtensionControlledPref,
957 ExtensionPrefsSetExtensionControlledPref) {} 1011 ExtensionPrefsSetExtensionControlledPref) {}
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_prefs_scope.h ('k') | chrome/browser/profiles/profile_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698