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/strings/string_number_conversions.h" |
| 9 #include "base/strings/stringprintf.h" |
8 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/common/chrome_paths.h" | 11 #include "chrome/common/chrome_paths.h" |
10 #include "chrome/common/chrome_switches.h" | 12 #include "chrome/common/chrome_switches.h" |
11 #include "chrome/common/extensions/extension_test_util.h" | 13 #include "chrome/common/extensions/extension_test_util.h" |
12 #include "chrome/common/extensions/features/feature_channel.h" | 14 #include "chrome/common/extensions/features/feature_channel.h" |
13 #include "chrome/common/extensions/permissions/chrome_permission_message_provide
r.h" | 15 #include "chrome/common/extensions/permissions/chrome_permission_message_provide
r.h" |
14 #include "chrome/grit/generated_resources.h" | 16 #include "chrome/grit/generated_resources.h" |
15 #include "extensions/common/error_utils.h" | 17 #include "extensions/common/error_utils.h" |
16 #include "extensions/common/extension.h" | 18 #include "extensions/common/extension.h" |
17 #include "extensions/common/extension_builder.h" | 19 #include "extensions/common/extension_builder.h" |
(...skipping 23 matching lines...) Expand all Loading... |
41 size_t IndexOf(const PermissionMessageStrings& warnings, | 43 size_t IndexOf(const PermissionMessageStrings& warnings, |
42 const std::string& warning) { | 44 const std::string& warning) { |
43 for (size_t i = 0; i < warnings.size(); ++i) { | 45 for (size_t i = 0; i < warnings.size(); ++i) { |
44 if (warnings[i].message == base::ASCIIToUTF16(warning)) | 46 if (warnings[i].message == base::ASCIIToUTF16(warning)) |
45 return i; | 47 return i; |
46 } | 48 } |
47 | 49 |
48 return warnings.size(); | 50 return warnings.size(); |
49 } | 51 } |
50 | 52 |
| 53 PermissionIDSet MakePermissionIDSet(APIPermission::ID id1, |
| 54 APIPermission::ID id2) { |
| 55 PermissionIDSet set; |
| 56 set.insert(id1); |
| 57 set.insert(id2); |
| 58 return set; |
| 59 } |
| 60 |
| 61 PermissionIDSet MakePermissionIDSet(const APIPermissionSet& permissions) { |
| 62 PermissionIDSet set; |
| 63 for (const APIPermission* permission : permissions) |
| 64 set.insert(permission->id()); |
| 65 return set; |
| 66 } |
| 67 |
| 68 std::string LegacyPermissionIDsToString(const PermissionMessageIDs& ids) { |
| 69 std::vector<std::string> strs; |
| 70 for (const PermissionMessage::ID& id : ids) |
| 71 strs.push_back(base::IntToString(id)); |
| 72 return base::StringPrintf("[ %s ]", JoinString(strs, ", ").c_str()); |
| 73 } |
| 74 |
| 75 std::string PermissionIDsToString(const PermissionIDSet& ids) { |
| 76 std::vector<std::string> strs; |
| 77 for (const PermissionID& id : ids) |
| 78 strs.push_back(base::IntToString(id.id())); |
| 79 return base::StringPrintf("[ %s ]", JoinString(strs, ", ").c_str()); |
| 80 } |
| 81 |
| 82 std::string CoalescedPermissionIDsToString( |
| 83 const CoalescedPermissionMessages& msgs) { |
| 84 std::vector<std::string> strs; |
| 85 for (const CoalescedPermissionMessage& msg : msgs) |
| 86 strs.push_back(PermissionIDsToString(msg.permissions())); |
| 87 return JoinString(strs, " "); |
| 88 } |
| 89 |
| 90 // Check that the given |permissions| produce a single warning message, |
| 91 // identified by |expected_legacy_id| in the old system, and by the set of |
| 92 // |expected_ids| in the new system. |
| 93 testing::AssertionResult PermissionSetProducesMessage( |
| 94 const PermissionSet* permissions, |
| 95 Manifest::Type extension_type, |
| 96 PermissionMessage::ID expected_legacy_id, |
| 97 const PermissionIDSet& expected_ids) { |
| 98 const PermissionMessageProvider* provider = PermissionMessageProvider::Get(); |
| 99 PermissionMessageIDs legacy_ids = |
| 100 provider->GetLegacyPermissionMessageIDs(permissions, extension_type); |
| 101 if (legacy_ids.size() != 1 || expected_legacy_id != legacy_ids[0]) { |
| 102 return testing::AssertionFailure() |
| 103 << "Expected single legacy permission ID " << expected_legacy_id |
| 104 << " but got " << LegacyPermissionIDsToString(legacy_ids); |
| 105 } |
| 106 |
| 107 CoalescedPermissionMessages msgs = provider->GetCoalescedPermissionMessages( |
| 108 provider->GetAllPermissionIDs(permissions, extension_type)); |
| 109 if (msgs.size() != 1) { |
| 110 return testing::AssertionFailure() |
| 111 << "Expected single permission message with IDs " |
| 112 << PermissionIDsToString(expected_ids) << " but got " << msgs.size() |
| 113 << " messages: " << CoalescedPermissionIDsToString(msgs); |
| 114 } |
| 115 if (!msgs.front().permissions().Equals(expected_ids)) { |
| 116 return testing::AssertionFailure() |
| 117 << "Expected permission IDs " << PermissionIDsToString(expected_ids) |
| 118 << " but got " << PermissionIDsToString(msgs.front().permissions()); |
| 119 } |
| 120 |
| 121 return testing::AssertionSuccess(); |
| 122 } |
| 123 |
51 } // namespace | 124 } // namespace |
52 | 125 |
53 // Tests GetByID. | 126 // Tests GetByID. |
54 TEST(PermissionsTest, GetByID) { | 127 TEST(PermissionsTest, GetByID) { |
55 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 128 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
56 APIPermissionSet apis = info->GetAll(); | 129 APIPermissionSet apis = info->GetAll(); |
57 for (APIPermissionSet::const_iterator i = apis.begin(); | 130 for (APIPermissionSet::const_iterator i = apis.begin(); |
58 i != apis.end(); ++i) { | 131 i != apis.end(); ++i) { |
59 EXPECT_EQ(i->id(), i->info()->id()); | 132 EXPECT_EQ(i->id(), i->info()->id()); |
60 } | 133 } |
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 } | 865 } |
793 } | 866 } |
794 | 867 |
795 TEST(PermissionsTest, FileSystemPermissionMessages) { | 868 TEST(PermissionsTest, FileSystemPermissionMessages) { |
796 APIPermissionSet api_permissions; | 869 APIPermissionSet api_permissions; |
797 api_permissions.insert(APIPermission::kFileSystemWrite); | 870 api_permissions.insert(APIPermission::kFileSystemWrite); |
798 api_permissions.insert(APIPermission::kFileSystemDirectory); | 871 api_permissions.insert(APIPermission::kFileSystemDirectory); |
799 scoped_refptr<PermissionSet> permissions( | 872 scoped_refptr<PermissionSet> permissions( |
800 new PermissionSet(api_permissions, ManifestPermissionSet(), | 873 new PermissionSet(api_permissions, ManifestPermissionSet(), |
801 URLPatternSet(), URLPatternSet())); | 874 URLPatternSet(), URLPatternSet())); |
802 PermissionMessageIDs ids = | 875 EXPECT_TRUE(PermissionSetProducesMessage( |
803 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 876 permissions.get(), Manifest::TYPE_PLATFORM_APP, |
804 permissions.get(), Manifest::TYPE_PLATFORM_APP); | 877 PermissionMessage::kFileSystemDirectory, |
805 ASSERT_EQ(1u, ids.size()); | 878 MakePermissionIDSet(api_permissions))); |
806 EXPECT_EQ(PermissionMessage::kFileSystemDirectory, ids[0]); | |
807 } | 879 } |
808 | 880 |
809 // The file system permissions have a special-case hack to show a warning for | 881 // The file system permissions have a special-case hack to show a warning for |
810 // write and directory at the same time. | 882 // write and directory at the same time. |
811 // TODO(sammc): Remove this. See http://crbug.com/284849. | 883 // TODO(sammc): Remove this. See http://crbug.com/284849. |
812 TEST(PermissionsTest, FileSystemImplicitPermissions) { | 884 TEST(PermissionsTest, FileSystemImplicitPermissions) { |
813 APIPermissionSet apis; | 885 APIPermissionSet apis; |
814 apis.insert(APIPermission::kFileSystemWrite); | 886 apis.insert(APIPermission::kFileSystemWrite); |
815 apis.AddImpliedPermissions(); | 887 apis.AddImpliedPermissions(); |
816 | 888 |
(...skipping 22 matching lines...) Expand all Loading... |
839 } | 911 } |
840 | 912 |
841 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) { | 913 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) { |
842 APIPermissionSet api_permissions; | 914 APIPermissionSet api_permissions; |
843 api_permissions.insert(APIPermission::kFileSystemWrite); | 915 api_permissions.insert(APIPermission::kFileSystemWrite); |
844 api_permissions.insert(APIPermission::kFileSystemDirectory); | 916 api_permissions.insert(APIPermission::kFileSystemDirectory); |
845 api_permissions.insert(APIPermission::kFileSystemWriteDirectory); | 917 api_permissions.insert(APIPermission::kFileSystemWriteDirectory); |
846 scoped_refptr<PermissionSet> permissions( | 918 scoped_refptr<PermissionSet> permissions( |
847 new PermissionSet(api_permissions, ManifestPermissionSet(), | 919 new PermissionSet(api_permissions, ManifestPermissionSet(), |
848 URLPatternSet(), URLPatternSet())); | 920 URLPatternSet(), URLPatternSet())); |
849 PermissionMessageIDs ids = | 921 EXPECT_TRUE(PermissionSetProducesMessage( |
850 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 922 permissions.get(), Manifest::TYPE_PLATFORM_APP, |
851 permissions.get(), Manifest::TYPE_PLATFORM_APP); | 923 PermissionMessage::kFileSystemWriteDirectory, |
852 ASSERT_EQ(1u, ids.size()); | 924 MakePermissionIDSet(api_permissions))); |
853 EXPECT_EQ(PermissionMessage::kFileSystemWriteDirectory, ids[0]); | |
854 } | 925 } |
855 | 926 |
856 TEST(PermissionsTest, SuppressedPermissionMessages) { | 927 TEST(PermissionsTest, SuppressedPermissionMessages) { |
857 { | 928 { |
858 // Tabs warning suppresses favicon warning. | 929 // Tabs warning suppresses favicon warning. |
859 APIPermissionSet api_permissions; | 930 APIPermissionSet api_permissions; |
860 api_permissions.insert(APIPermission::kTab); | 931 api_permissions.insert(APIPermission::kTab); |
861 URLPatternSet hosts; | 932 URLPatternSet hosts; |
862 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 933 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
863 "chrome://favicon/")); | 934 "chrome://favicon/")); |
864 scoped_refptr<PermissionSet> permissions( | 935 scoped_refptr<PermissionSet> permissions( |
865 new PermissionSet(api_permissions, ManifestPermissionSet(), | 936 new PermissionSet(api_permissions, ManifestPermissionSet(), |
866 hosts, URLPatternSet())); | 937 hosts, URLPatternSet())); |
867 PermissionMessageIDs ids = | 938 EXPECT_TRUE(PermissionSetProducesMessage( |
868 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 939 permissions.get(), Manifest::TYPE_EXTENSION, PermissionMessage::kTabs, |
869 permissions.get(), Manifest::TYPE_EXTENSION); | 940 MakePermissionIDSet(APIPermission::kTab, APIPermission::kFavicon))); |
870 EXPECT_EQ(1u, ids.size()); | |
871 EXPECT_EQ(PermissionMessage::kTabs, ids[0]); | |
872 } | 941 } |
873 { | 942 { |
874 // History warning suppresses favicon warning. | 943 // History warning suppresses favicon warning. |
875 APIPermissionSet api_permissions; | 944 APIPermissionSet api_permissions; |
876 api_permissions.insert(APIPermission::kHistory); | 945 api_permissions.insert(APIPermission::kHistory); |
877 URLPatternSet hosts; | 946 URLPatternSet hosts; |
878 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 947 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
879 "chrome://favicon/")); | 948 "chrome://favicon/")); |
880 scoped_refptr<PermissionSet> permissions( | 949 scoped_refptr<PermissionSet> permissions( |
881 new PermissionSet(api_permissions, ManifestPermissionSet(), | 950 new PermissionSet(api_permissions, ManifestPermissionSet(), |
882 hosts, URLPatternSet())); | 951 hosts, URLPatternSet())); |
883 PermissionMessageIDs ids = | 952 EXPECT_TRUE(PermissionSetProducesMessage( |
884 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 953 permissions.get(), Manifest::TYPE_EXTENSION, |
885 permissions.get(), Manifest::TYPE_EXTENSION); | 954 PermissionMessage::kBrowsingHistory, |
886 EXPECT_EQ(1u, ids.size()); | 955 MakePermissionIDSet(APIPermission::kHistory, APIPermission::kFavicon))); |
887 EXPECT_EQ(PermissionMessage::kBrowsingHistory, ids[0]); | |
888 } | 956 } |
889 { | 957 { |
890 // All sites warning suppresses tabs warning. | 958 // All sites warning suppresses tabs warning. |
891 APIPermissionSet api_permissions; | 959 APIPermissionSet api_permissions; |
| 960 api_permissions.insert(APIPermission::kTab); |
892 URLPatternSet hosts; | 961 URLPatternSet hosts; |
893 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 962 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
894 api_permissions.insert(APIPermission::kTab); | |
895 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 963 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
896 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 964 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
897 PermissionMessageIDs ids = | 965 EXPECT_TRUE(PermissionSetProducesMessage( |
898 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 966 permissions.get(), Manifest::TYPE_EXTENSION, |
899 permissions.get(), Manifest::TYPE_EXTENSION); | 967 PermissionMessage::kHostsAll, |
900 EXPECT_EQ(1u, ids.size()); | 968 MakePermissionIDSet(APIPermission::kHostsAll, APIPermission::kTab))); |
901 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]); | |
902 } | 969 } |
903 { | 970 { |
904 // All sites warning suppresses topSites warning. | 971 // All sites warning suppresses topSites warning. |
905 APIPermissionSet api_permissions; | 972 APIPermissionSet api_permissions; |
| 973 api_permissions.insert(APIPermission::kTopSites); |
906 URLPatternSet hosts; | 974 URLPatternSet hosts; |
907 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 975 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
908 api_permissions.insert(APIPermission::kTopSites); | |
909 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 976 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
910 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 977 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
911 PermissionMessageIDs ids = | 978 EXPECT_TRUE(PermissionSetProducesMessage( |
912 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 979 permissions.get(), Manifest::TYPE_EXTENSION, |
913 permissions.get(), Manifest::TYPE_EXTENSION); | 980 PermissionMessage::kHostsAll, |
914 EXPECT_EQ(1u, ids.size()); | 981 MakePermissionIDSet(APIPermission::kHostsAll, |
915 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]); | 982 APIPermission::kTopSites))); |
916 } | 983 } |
917 { | 984 { |
918 // All sites warning suppresses declarativeWebRequest warning. | 985 // All sites warning suppresses declarativeWebRequest warning. |
919 APIPermissionSet api_permissions; | 986 APIPermissionSet api_permissions; |
| 987 api_permissions.insert(APIPermission::kDeclarativeWebRequest); |
920 URLPatternSet hosts; | 988 URLPatternSet hosts; |
921 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 989 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
922 api_permissions.insert(APIPermission::kDeclarativeWebRequest); | |
923 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 990 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
924 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 991 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
925 PermissionMessageIDs ids = | 992 EXPECT_TRUE(PermissionSetProducesMessage( |
926 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 993 permissions.get(), Manifest::TYPE_EXTENSION, |
927 permissions.get(), Manifest::TYPE_EXTENSION); | 994 PermissionMessage::kHostsAll, |
928 EXPECT_EQ(1u, ids.size()); | 995 MakePermissionIDSet(APIPermission::kHostsAll, |
929 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]); | 996 APIPermission::kDeclarativeWebRequest))); |
930 } | 997 } |
931 { | 998 { |
932 // BrowsingHistory warning suppresses all history read/write warnings. | 999 // BrowsingHistory warning suppresses all history read/write warnings. |
933 APIPermissionSet api_permissions; | 1000 APIPermissionSet api_permissions; |
934 api_permissions.insert(APIPermission::kHistory); | 1001 api_permissions.insert(APIPermission::kHistory); |
935 api_permissions.insert(APIPermission::kTab); | 1002 api_permissions.insert(APIPermission::kTab); |
936 api_permissions.insert(APIPermission::kTopSites); | 1003 api_permissions.insert(APIPermission::kTopSites); |
937 api_permissions.insert(APIPermission::kProcesses); | 1004 api_permissions.insert(APIPermission::kProcesses); |
938 api_permissions.insert(APIPermission::kWebNavigation); | 1005 api_permissions.insert(APIPermission::kWebNavigation); |
939 scoped_refptr<PermissionSet> permissions( | 1006 scoped_refptr<PermissionSet> permissions( |
940 new PermissionSet(api_permissions, ManifestPermissionSet(), | 1007 new PermissionSet(api_permissions, ManifestPermissionSet(), |
941 URLPatternSet(), URLPatternSet())); | 1008 URLPatternSet(), URLPatternSet())); |
942 PermissionMessageIDs ids = | 1009 EXPECT_TRUE(PermissionSetProducesMessage( |
943 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 1010 permissions.get(), Manifest::TYPE_EXTENSION, |
944 permissions.get(), Manifest::TYPE_EXTENSION); | 1011 PermissionMessage::kBrowsingHistory, |
945 EXPECT_EQ(1u, ids.size()); | 1012 MakePermissionIDSet(api_permissions))); |
946 EXPECT_EQ(PermissionMessage::kBrowsingHistory, ids[0]); | |
947 } | 1013 } |
948 { | 1014 { |
949 // Tabs warning suppresses all read-only history warnings. | 1015 // Tabs warning suppresses all read-only history warnings. |
950 APIPermissionSet api_permissions; | 1016 APIPermissionSet api_permissions; |
951 api_permissions.insert(APIPermission::kTab); | 1017 api_permissions.insert(APIPermission::kTab); |
952 api_permissions.insert(APIPermission::kTopSites); | 1018 api_permissions.insert(APIPermission::kTopSites); |
953 api_permissions.insert(APIPermission::kProcesses); | 1019 api_permissions.insert(APIPermission::kProcesses); |
954 api_permissions.insert(APIPermission::kWebNavigation); | 1020 api_permissions.insert(APIPermission::kWebNavigation); |
955 scoped_refptr<PermissionSet> permissions( | 1021 scoped_refptr<PermissionSet> permissions( |
956 new PermissionSet(api_permissions, ManifestPermissionSet(), | 1022 new PermissionSet(api_permissions, ManifestPermissionSet(), |
957 URLPatternSet(), URLPatternSet())); | 1023 URLPatternSet(), URLPatternSet())); |
958 PermissionMessageIDs ids = | 1024 EXPECT_TRUE(PermissionSetProducesMessage( |
959 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 1025 permissions.get(), Manifest::TYPE_EXTENSION, PermissionMessage::kTabs, |
960 permissions.get(), Manifest::TYPE_EXTENSION); | 1026 MakePermissionIDSet(api_permissions))); |
961 EXPECT_EQ(1u, ids.size()); | |
962 EXPECT_EQ(PermissionMessage::kTabs, ids[0]); | |
963 } | 1027 } |
964 } | 1028 } |
965 | 1029 |
966 TEST(PermissionsTest, AccessToDevicesMessages) { | 1030 TEST(PermissionsTest, AccessToDevicesMessages) { |
967 { | 1031 { |
968 APIPermissionSet api_permissions; | 1032 APIPermissionSet api_permissions; |
969 api_permissions.insert(APIPermission::kSerial); | 1033 api_permissions.insert(APIPermission::kSerial); |
970 scoped_refptr<PermissionSet> permissions( | 1034 scoped_refptr<PermissionSet> permissions( |
971 new PermissionSet(api_permissions, | 1035 new PermissionSet(api_permissions, |
972 ManifestPermissionSet(), | 1036 ManifestPermissionSet(), |
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1715 URLPattern(URLPattern::SCHEME_ALL, "http://www.google.com/")); | 1779 URLPattern(URLPattern::SCHEME_ALL, "http://www.google.com/")); |
1716 allowed_hosts.AddPattern( | 1780 allowed_hosts.AddPattern( |
1717 URLPattern(URLPattern::SCHEME_ALL, "chrome://favicon/")); | 1781 URLPattern(URLPattern::SCHEME_ALL, "chrome://favicon/")); |
1718 allowed_hosts.AddPattern( | 1782 allowed_hosts.AddPattern( |
1719 URLPattern(URLPattern::SCHEME_ALL, "chrome://thumb/")); | 1783 URLPattern(URLPattern::SCHEME_ALL, "chrome://thumb/")); |
1720 scoped_refptr<PermissionSet> permissions( | 1784 scoped_refptr<PermissionSet> permissions( |
1721 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(), | 1785 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(), |
1722 allowed_hosts, URLPatternSet())); | 1786 allowed_hosts, URLPatternSet())); |
1723 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( | 1787 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( |
1724 permissions.get(), Manifest::TYPE_EXTENSION); | 1788 permissions.get(), Manifest::TYPE_EXTENSION); |
| 1789 PermissionMessageProvider::Get()->GetCoalescedPermissionMessages( |
| 1790 PermissionMessageProvider::Get()->GetAllPermissionIDs( |
| 1791 permissions.get(), Manifest::TYPE_EXTENSION)); |
1725 } | 1792 } |
1726 | 1793 |
1727 TEST(PermissionsTest, IsPrivilegeIncrease_DeclarativeWebRequest) { | 1794 TEST(PermissionsTest, IsPrivilegeIncrease_DeclarativeWebRequest) { |
1728 scoped_refptr<Extension> extension( | 1795 scoped_refptr<Extension> extension( |
1729 LoadManifest("permissions", "permissions_all_urls.json")); | 1796 LoadManifest("permissions", "permissions_all_urls.json")); |
1730 scoped_refptr<const PermissionSet> permissions( | 1797 scoped_refptr<const PermissionSet> permissions( |
1731 extension->permissions_data()->active_permissions()); | 1798 extension->permissions_data()->active_permissions()); |
1732 | 1799 |
1733 scoped_refptr<Extension> extension_dwr( | 1800 scoped_refptr<Extension> extension_dwr( |
1734 LoadManifest("permissions", "web_request_all_host_permissions.json")); | 1801 LoadManifest("permissions", "web_request_all_host_permissions.json")); |
1735 scoped_refptr<const PermissionSet> permissions_dwr( | 1802 scoped_refptr<const PermissionSet> permissions_dwr( |
1736 extension_dwr->permissions_data()->active_permissions()); | 1803 extension_dwr->permissions_data()->active_permissions()); |
1737 | 1804 |
1738 EXPECT_FALSE(PermissionMessageProvider::Get()-> | 1805 EXPECT_FALSE(PermissionMessageProvider::Get()-> |
1739 IsPrivilegeIncrease(permissions.get(), | 1806 IsPrivilegeIncrease(permissions.get(), |
1740 permissions_dwr.get(), | 1807 permissions_dwr.get(), |
1741 extension->GetType())); | 1808 extension->GetType())); |
1742 } | 1809 } |
1743 | 1810 |
1744 } // namespace extensions | 1811 } // namespace extensions |
OLD | NEW |