Index: chrome/common/extensions/permissions/permission_set_unittest.cc |
diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/chrome/common/extensions/permissions/permission_set_unittest.cc |
index ee7c6a08071f4d21827dae6ddfa7e5786e0947ea..7be99336c45adcca334c776484f2a69f1746ff2d 100644 |
--- a/chrome/common/extensions/permissions/permission_set_unittest.cc |
+++ b/chrome/common/extensions/permissions/permission_set_unittest.cc |
@@ -877,6 +877,46 @@ TEST(PermissionsTest, SuppressedPermissionMessages) { |
EXPECT_EQ(1u, messages.size()); |
EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); |
} |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kHistory); |
+ api_permissions.insert(APIPermission::kTopSites); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ PermissionMessages messages = |
+ PermissionMessageProvider::Get()->GetPermissionMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); |
+ } |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kTab); |
+ api_permissions.insert(APIPermission::kTopSites); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ PermissionMessages messages = |
+ PermissionMessageProvider::Get()->GetPermissionMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(PermissionMessage::kTopSites, messages[0].id()); |
+ } |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kHistory); |
+ api_permissions.insert(APIPermission::kTab); |
+ api_permissions.insert(APIPermission::kTopSites); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ PermissionMessages messages = |
+ PermissionMessageProvider::Get()->GetPermissionMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); |
+ } |
} |
TEST(PermissionsTest, MergedFileSystemPermissionComparison) { |
@@ -1035,6 +1075,54 @@ TEST(PermissionsTest, GetWarningMessages_CombinedSessions) { |
IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), |
messages[0]); |
} |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kTopSites); |
+ api_permissions.insert(APIPermission::kSessions); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ std::vector<base::string16> messages = |
+ PermissionMessageProvider::Get()->GetWarningMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(l10n_util::GetStringUTF16( |
+ IDS_EXTENSION_PROMPT_WARNING_TABS_AND_SESSIONS), |
+ messages[0]); |
+ } |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kTab); |
+ api_permissions.insert(APIPermission::kTopSites); |
+ api_permissions.insert(APIPermission::kSessions); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ std::vector<base::string16> messages = |
+ PermissionMessageProvider::Get()->GetWarningMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(l10n_util::GetStringUTF16( |
+ IDS_EXTENSION_PROMPT_WARNING_TABS_AND_SESSIONS), |
+ messages[0]); |
+ } |
+ { |
+ APIPermissionSet api_permissions; |
+ api_permissions.insert(APIPermission::kTab); |
+ api_permissions.insert(APIPermission::kTopSites); |
+ api_permissions.insert(APIPermission::kHistory); |
+ api_permissions.insert(APIPermission::kSessions); |
+ scoped_refptr<PermissionSet> permissions( |
+ new PermissionSet(api_permissions, ManifestPermissionSet(), |
+ URLPatternSet(), URLPatternSet())); |
+ std::vector<base::string16> messages = |
+ PermissionMessageProvider::Get()->GetWarningMessages( |
+ permissions, Manifest::TYPE_EXTENSION); |
+ EXPECT_EQ(1u, messages.size()); |
+ EXPECT_EQ(l10n_util::GetStringUTF16( |
+ IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), |
+ messages[0]); |
+ } |
} |
TEST(PermissionsTest, GetWarningMessages_DeclarativeWebRequest) { |