OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |