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

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

Issue 1042793003: Extensions: Switch to new permission message system, part II (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permissions_switch
Patch Set: review Created 5 years, 8 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/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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698