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

Unified Diff: chrome/common/extensions/permissions/permission_set_unittest.cc

Issue 10837060: Don't show host permission warnings for platform apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
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 fb1db92683325bd0492b90195eecb91c9007150b..17f7cca2dbe1f21e254a4344900fece2f1ef3fd8 100644
--- a/chrome/common/extensions/permissions/permission_set_unittest.cc
+++ b/chrome/common/extensions/permissions/permission_set_unittest.cc
@@ -665,7 +665,7 @@ TEST(PermissionsTest, DefaultFunctionAccess) {
}
// Tests the default permissions (empty API permission set).
-TEST(PermissionSetTest, DefaultAnyAPIAccess) {
+TEST(PermissionsTest, DefaultAnyAPIAccess) {
const struct {
const char* api_name;
bool expect_success;
@@ -700,8 +700,7 @@ TEST(PermissionsTest, GetWarningMessages_ManyHosts) {
scoped_refptr<Extension> extension;
extension = LoadManifest("permissions", "many-hosts.json");
- std::vector<string16> warnings =
- extension->GetActivePermissions()->GetWarningMessages();
+ std::vector<string16> warnings = extension->GetPermissionMessageStrings();
ASSERT_EQ(1u, warnings.size());
EXPECT_EQ("Access your data on encrypted.google.com and www.google.com",
UTF16ToUTF8(warnings[0]));
@@ -712,8 +711,7 @@ TEST(PermissionsTest, GetWarningMessages_Plugins) {
scoped_refptr<PermissionSet> permissions;
extension = LoadManifest("permissions", "plugins.json");
- std::vector<string16> warnings =
- extension->GetActivePermissions()->GetWarningMessages();
+ std::vector<string16> warnings = extension->GetPermissionMessageStrings();
// We don't parse the plugins key on Chrome OS, so it should not ask for any
// permissions.
#if defined(OS_CHROMEOS)
@@ -732,7 +730,8 @@ TEST(PermissionsTest, GetWarningMessages_AudioVideo) {
PermissionSet* set =
const_cast<PermissionSet*>(
extension->GetActivePermissions().get());
- std::vector<string16> warnings = set->GetWarningMessages();
+ std::vector<string16> warnings =
+ set->GetWarningMessages(extension->GetType());
EXPECT_FALSE(Contains(warnings, "Use your microphone"));
EXPECT_FALSE(Contains(warnings, "Use your camera"));
EXPECT_TRUE(Contains(warnings, "Use your microphone and camera"));
@@ -741,7 +740,7 @@ TEST(PermissionsTest, GetWarningMessages_AudioVideo) {
// Just audio present.
set->apis_.erase(APIPermission::kVideoCapture);
- warnings = set->GetWarningMessages();
+ warnings = set->GetWarningMessages(extension->GetType());
EXPECT_EQ(combined_size, warnings.size());
EXPECT_EQ(combined_index, IndexOf(warnings, "Use your microphone"));
EXPECT_FALSE(Contains(warnings, "Use your camera"));
@@ -750,13 +749,27 @@ TEST(PermissionsTest, GetWarningMessages_AudioVideo) {
// Just video present.
set->apis_.erase(APIPermission::kAudioCapture);
set->apis_.insert(APIPermission::kVideoCapture);
- warnings = set->GetWarningMessages();
+ warnings = set->GetWarningMessages(extension->GetType());
EXPECT_EQ(combined_size, warnings.size());
EXPECT_FALSE(Contains(warnings, "Use your microphone"));
EXPECT_FALSE(Contains(warnings, "Use your microphone and camera"));
EXPECT_TRUE(Contains(warnings, "Use your camera"));
}
+TEST(PermissionsTest, GetWarningMessages_PlatformApppHosts) {
+ scoped_refptr<Extension> extension;
+
+ extension = LoadManifest("permissions", "platform_app_hosts.json");
+ EXPECT_TRUE(extension->is_platform_app());
+ std::vector<string16> warnings = extension->GetPermissionMessageStrings();
+ ASSERT_EQ(0u, warnings.size());
+
+ extension = LoadManifest("permissions", "platform_app_all_urls.json");
+ EXPECT_TRUE(extension->is_platform_app());
+ warnings = extension->GetPermissionMessageStrings();
+ ASSERT_EQ(0u, warnings.size());
+}
+
TEST(PermissionsTest, GetDistinctHostsForDisplay) {
scoped_refptr<PermissionSet> perm_set;
APIPermissionSet empty_perms;

Powered by Google App Engine
This is Rietveld 408576698