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

Side by Side Diff: chrome/common/extensions/permissions/permission_set_unittest.cc

Issue 328943002: Change topSites API permission warning (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/json/json_file_value_serializer.h" 6 #include "base/json/json_file_value_serializer.h"
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/common/chrome_paths.h" 10 #include "chrome/common/chrome_paths.h"
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 APIPermissionSet api_permissions; 825 APIPermissionSet api_permissions;
826 api_permissions.insert(APIPermission::kTab); 826 api_permissions.insert(APIPermission::kTab);
827 api_permissions.insert(APIPermission::kHistory); 827 api_permissions.insert(APIPermission::kHistory);
828 scoped_refptr<PermissionSet> permissions( 828 scoped_refptr<PermissionSet> permissions(
829 new PermissionSet(api_permissions, ManifestPermissionSet(), 829 new PermissionSet(api_permissions, ManifestPermissionSet(),
830 URLPatternSet(), URLPatternSet())); 830 URLPatternSet(), URLPatternSet()));
831 PermissionMessages messages = 831 PermissionMessages messages =
832 PermissionMessageProvider::Get()->GetPermissionMessages( 832 PermissionMessageProvider::Get()->GetPermissionMessages(
833 permissions, Manifest::TYPE_EXTENSION); 833 permissions, Manifest::TYPE_EXTENSION);
834 EXPECT_EQ(1u, messages.size()); 834 EXPECT_EQ(1u, messages.size());
835 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); 835 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id());
836 } 836 }
837 { 837 {
838 APIPermissionSet api_permissions; 838 APIPermissionSet api_permissions;
839 api_permissions.insert(APIPermission::kTab); 839 api_permissions.insert(APIPermission::kTab);
840 URLPatternSet hosts; 840 URLPatternSet hosts;
841 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, 841 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI,
842 "chrome://favicon/")); 842 "chrome://favicon/"));
843 scoped_refptr<PermissionSet> permissions( 843 scoped_refptr<PermissionSet> permissions(
844 new PermissionSet(api_permissions, ManifestPermissionSet(), 844 new PermissionSet(api_permissions, ManifestPermissionSet(),
845 hosts, URLPatternSet())); 845 hosts, URLPatternSet()));
846 PermissionMessages messages = 846 PermissionMessages messages =
847 PermissionMessageProvider::Get()->GetPermissionMessages( 847 PermissionMessageProvider::Get()->GetPermissionMessages(
848 permissions, Manifest::TYPE_EXTENSION); 848 permissions, Manifest::TYPE_EXTENSION);
849 EXPECT_EQ(1u, messages.size()); 849 EXPECT_EQ(1u, messages.size());
850 EXPECT_EQ(PermissionMessage::kTabs, messages[0].id()); 850 EXPECT_EQ(PermissionMessage::kBrowsingHistoryRead, messages[0].id());
851 } 851 }
852 { 852 {
853 APIPermissionSet api_permissions; 853 APIPermissionSet api_permissions;
854 api_permissions.insert(APIPermission::kHistory); 854 api_permissions.insert(APIPermission::kHistory);
855 URLPatternSet hosts; 855 URLPatternSet hosts;
856 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, 856 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI,
857 "chrome://favicon/")); 857 "chrome://favicon/"));
858 scoped_refptr<PermissionSet> permissions( 858 scoped_refptr<PermissionSet> permissions(
859 new PermissionSet(api_permissions, ManifestPermissionSet(), 859 new PermissionSet(api_permissions, ManifestPermissionSet(),
860 hosts, URLPatternSet())); 860 hosts, URLPatternSet()));
861 PermissionMessages messages = 861 PermissionMessages messages =
862 PermissionMessageProvider::Get()->GetPermissionMessages( 862 PermissionMessageProvider::Get()->GetPermissionMessages(
863 permissions, Manifest::TYPE_EXTENSION); 863 permissions, Manifest::TYPE_EXTENSION);
864 EXPECT_EQ(1u, messages.size()); 864 EXPECT_EQ(1u, messages.size());
865 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); 865 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id());
866 } 866 }
867 { 867 {
868 APIPermissionSet api_permissions; 868 APIPermissionSet api_permissions;
869 URLPatternSet hosts; 869 URLPatternSet hosts;
870 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); 870 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*"));
871 api_permissions.insert(APIPermission::kTab); 871 api_permissions.insert(APIPermission::kTab);
872 scoped_refptr<PermissionSet> permissions(new PermissionSet( 872 scoped_refptr<PermissionSet> permissions(new PermissionSet(
873 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); 873 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet()));
874 PermissionMessages messages = 874 PermissionMessages messages =
875 PermissionMessageProvider::Get()->GetPermissionMessages( 875 PermissionMessageProvider::Get()->GetPermissionMessages(
876 permissions, Manifest::TYPE_EXTENSION); 876 permissions, Manifest::TYPE_EXTENSION);
877 EXPECT_EQ(1u, messages.size()); 877 EXPECT_EQ(1u, messages.size());
878 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); 878 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id());
879 } 879 }
880 {
881 APIPermissionSet api_permissions;
882 api_permissions.insert(APIPermission::kHistory);
883 api_permissions.insert(APIPermission::kTopSites);
884 scoped_refptr<PermissionSet> permissions(
885 new PermissionSet(api_permissions, ManifestPermissionSet(),
886 URLPatternSet(), URLPatternSet()));
887 PermissionMessages messages =
888 PermissionMessageProvider::Get()->GetPermissionMessages(
889 permissions, Manifest::TYPE_EXTENSION);
890 EXPECT_EQ(1u, messages.size());
891 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id());
892 }
893 {
894 APIPermissionSet api_permissions;
895 api_permissions.insert(APIPermission::kTab);
896 api_permissions.insert(APIPermission::kTopSites);
meacer 2014/06/13 17:28:36 Maybe you can simply check kTab and kTopSites (and
wjywbs 2014/06/13 18:02:53 Done.
897 scoped_refptr<PermissionSet> permissions(
898 new PermissionSet(api_permissions, ManifestPermissionSet(),
899 URLPatternSet(), URLPatternSet()));
900 PermissionMessages messages =
901 PermissionMessageProvider::Get()->GetPermissionMessages(
902 permissions, Manifest::TYPE_EXTENSION);
903 EXPECT_EQ(1u, messages.size());
904 EXPECT_EQ(PermissionMessage::kBrowsingHistoryRead, messages[0].id());
905 }
906 {
907 APIPermissionSet api_permissions;
908 api_permissions.insert(APIPermission::kHistory);
909 api_permissions.insert(APIPermission::kTab);
910 api_permissions.insert(APIPermission::kTopSites);
911 scoped_refptr<PermissionSet> permissions(
912 new PermissionSet(api_permissions, ManifestPermissionSet(),
913 URLPatternSet(), URLPatternSet()));
914 PermissionMessages messages =
915 PermissionMessageProvider::Get()->GetPermissionMessages(
916 permissions, Manifest::TYPE_EXTENSION);
917 EXPECT_EQ(1u, messages.size());
918 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id());
919 }
880 } 920 }
881 921
882 TEST(PermissionsTest, MergedFileSystemPermissionComparison) { 922 TEST(PermissionsTest, MergedFileSystemPermissionComparison) {
883 APIPermissionSet write_api_permissions; 923 APIPermissionSet write_api_permissions;
884 write_api_permissions.insert(APIPermission::kFileSystemWrite); 924 write_api_permissions.insert(APIPermission::kFileSystemWrite);
885 scoped_refptr<PermissionSet> write_permissions( 925 scoped_refptr<PermissionSet> write_permissions(
886 new PermissionSet(write_api_permissions, ManifestPermissionSet(), 926 new PermissionSet(write_api_permissions, ManifestPermissionSet(),
887 URLPatternSet(), URLPatternSet())); 927 URLPatternSet(), URLPatternSet()));
888 928
889 APIPermissionSet directory_api_permissions; 929 APIPermissionSet directory_api_permissions;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 api_permissions.insert(APIPermission::kTab); 1034 api_permissions.insert(APIPermission::kTab);
995 api_permissions.insert(APIPermission::kSessions); 1035 api_permissions.insert(APIPermission::kSessions);
996 scoped_refptr<PermissionSet> permissions( 1036 scoped_refptr<PermissionSet> permissions(
997 new PermissionSet(api_permissions, ManifestPermissionSet(), 1037 new PermissionSet(api_permissions, ManifestPermissionSet(),
998 URLPatternSet(), URLPatternSet())); 1038 URLPatternSet(), URLPatternSet()));
999 std::vector<base::string16> messages = 1039 std::vector<base::string16> messages =
1000 PermissionMessageProvider::Get()->GetWarningMessages( 1040 PermissionMessageProvider::Get()->GetWarningMessages(
1001 permissions, Manifest::TYPE_EXTENSION); 1041 permissions, Manifest::TYPE_EXTENSION);
1002 EXPECT_EQ(1u, messages.size()); 1042 EXPECT_EQ(1u, messages.size());
1003 EXPECT_EQ(l10n_util::GetStringUTF16( 1043 EXPECT_EQ(l10n_util::GetStringUTF16(
1004 IDS_EXTENSION_PROMPT_WARNING_TABS_AND_SESSIONS), 1044 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS),
1005 messages[0]); 1045 messages[0]);
1006 } 1046 }
1007 { 1047 {
1008 APIPermissionSet api_permissions; 1048 APIPermissionSet api_permissions;
1009 api_permissions.insert(APIPermission::kHistory); 1049 api_permissions.insert(APIPermission::kHistory);
1010 api_permissions.insert(APIPermission::kSessions); 1050 api_permissions.insert(APIPermission::kSessions);
1011 scoped_refptr<PermissionSet> permissions( 1051 scoped_refptr<PermissionSet> permissions(
1052 new PermissionSet(api_permissions, ManifestPermissionSet(),
1053 URLPatternSet(), URLPatternSet()));
1054 std::vector<base::string16> messages =
1055 PermissionMessageProvider::Get()->GetWarningMessages(
1056 permissions, Manifest::TYPE_EXTENSION);
1057 EXPECT_EQ(1u, messages.size());
1058 EXPECT_EQ(l10n_util::GetStringUTF16(
1059 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS),
1060 messages[0]);
1061 }
1062 {
1063 APIPermissionSet api_permissions;
1064 api_permissions.insert(APIPermission::kTab);
1065 api_permissions.insert(APIPermission::kHistory);
1066 api_permissions.insert(APIPermission::kSessions);
1067 scoped_refptr<PermissionSet> permissions(
1012 new PermissionSet(api_permissions, ManifestPermissionSet(), 1068 new PermissionSet(api_permissions, ManifestPermissionSet(),
1013 URLPatternSet(), URLPatternSet())); 1069 URLPatternSet(), URLPatternSet()));
1014 std::vector<base::string16> messages = 1070 std::vector<base::string16> messages =
1015 PermissionMessageProvider::Get()->GetWarningMessages( 1071 PermissionMessageProvider::Get()->GetWarningMessages(
1016 permissions, Manifest::TYPE_EXTENSION); 1072 permissions, Manifest::TYPE_EXTENSION);
1017 EXPECT_EQ(1u, messages.size()); 1073 EXPECT_EQ(1u, messages.size());
1018 EXPECT_EQ(l10n_util::GetStringUTF16( 1074 EXPECT_EQ(l10n_util::GetStringUTF16(
1019 IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), 1075 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS),
1076 messages[0]);
1077 }
1078 {
1079 APIPermissionSet api_permissions;
1080 api_permissions.insert(APIPermission::kTopSites);
1081 api_permissions.insert(APIPermission::kSessions);
1082 scoped_refptr<PermissionSet> permissions(
1083 new PermissionSet(api_permissions, ManifestPermissionSet(),
meacer 2014/06/13 17:28:36 Same as above.
wjywbs 2014/06/13 18:02:53 Done.
1084 URLPatternSet(), URLPatternSet()));
1085 std::vector<base::string16> messages =
1086 PermissionMessageProvider::Get()->GetWarningMessages(
1087 permissions, Manifest::TYPE_EXTENSION);
1088 EXPECT_EQ(1u, messages.size());
1089 EXPECT_EQ(l10n_util::GetStringUTF16(
1090 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS),
1020 messages[0]); 1091 messages[0]);
1021 } 1092 }
1022 { 1093 {
1023 APIPermissionSet api_permissions; 1094 APIPermissionSet api_permissions;
1024 api_permissions.insert(APIPermission::kTab); 1095 api_permissions.insert(APIPermission::kTab);
1096 api_permissions.insert(APIPermission::kTopSites);
1097 api_permissions.insert(APIPermission::kSessions);
1098 scoped_refptr<PermissionSet> permissions(
1099 new PermissionSet(api_permissions, ManifestPermissionSet(),
1100 URLPatternSet(), URLPatternSet()));
1101 std::vector<base::string16> messages =
1102 PermissionMessageProvider::Get()->GetWarningMessages(
1103 permissions, Manifest::TYPE_EXTENSION);
1104 EXPECT_EQ(1u, messages.size());
1105 EXPECT_EQ(l10n_util::GetStringUTF16(
1106 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS),
1107 messages[0]);
1108 }
1109 {
1110 APIPermissionSet api_permissions;
1111 api_permissions.insert(APIPermission::kTab);
1112 api_permissions.insert(APIPermission::kTopSites);
1025 api_permissions.insert(APIPermission::kHistory); 1113 api_permissions.insert(APIPermission::kHistory);
1026 api_permissions.insert(APIPermission::kSessions); 1114 api_permissions.insert(APIPermission::kSessions);
1027 scoped_refptr<PermissionSet> permissions( 1115 scoped_refptr<PermissionSet> permissions(
1028 new PermissionSet(api_permissions, ManifestPermissionSet(), 1116 new PermissionSet(api_permissions, ManifestPermissionSet(),
1029 URLPatternSet(), URLPatternSet())); 1117 URLPatternSet(), URLPatternSet()));
1030 std::vector<base::string16> messages = 1118 std::vector<base::string16> messages =
1031 PermissionMessageProvider::Get()->GetWarningMessages( 1119 PermissionMessageProvider::Get()->GetWarningMessages(
1032 permissions, Manifest::TYPE_EXTENSION); 1120 permissions, Manifest::TYPE_EXTENSION);
1033 EXPECT_EQ(1u, messages.size()); 1121 EXPECT_EQ(1u, messages.size());
1034 EXPECT_EQ(l10n_util::GetStringUTF16( 1122 EXPECT_EQ(l10n_util::GetStringUTF16(
1035 IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), 1123 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS),
1036 messages[0]); 1124 messages[0]);
1037 } 1125 }
1038 } 1126 }
1039 1127
1040 TEST(PermissionsTest, GetWarningMessages_DeclarativeWebRequest) { 1128 TEST(PermissionsTest, GetWarningMessages_DeclarativeWebRequest) {
1041 // Test that if the declarativeWebRequest permission is present 1129 // Test that if the declarativeWebRequest permission is present
1042 // in combination with all hosts permission, then only the warning 1130 // in combination with all hosts permission, then only the warning
1043 // for host permissions is shown, because that covers the use of 1131 // for host permissions is shown, because that covers the use of
1044 // declarativeWebRequest. 1132 // declarativeWebRequest.
1045 1133
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
1647 scoped_refptr<const PermissionSet> permissions_dwr( 1735 scoped_refptr<const PermissionSet> permissions_dwr(
1648 extension_dwr->permissions_data()->active_permissions()); 1736 extension_dwr->permissions_data()->active_permissions());
1649 1737
1650 EXPECT_FALSE(PermissionMessageProvider::Get()-> 1738 EXPECT_FALSE(PermissionMessageProvider::Get()->
1651 IsPrivilegeIncrease(permissions.get(), 1739 IsPrivilegeIncrease(permissions.get(),
1652 permissions_dwr.get(), 1740 permissions_dwr.get(),
1653 extension->GetType())); 1741 extension->GetType()));
1654 } 1742 }
1655 1743
1656 } // namespace extensions 1744 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698