| 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 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 748 skip.insert(APIPermission::kWebrtcLoggingPrivate); | 748 skip.insert(APIPermission::kWebrtcLoggingPrivate); |
| 749 skip.insert(APIPermission::kWebstorePrivate); | 749 skip.insert(APIPermission::kWebstorePrivate); |
| 750 | 750 |
| 751 // Warned as part of host permissions. | 751 // Warned as part of host permissions. |
| 752 skip.insert(APIPermission::kDevtools); | 752 skip.insert(APIPermission::kDevtools); |
| 753 | 753 |
| 754 // Platform apps. | 754 // Platform apps. |
| 755 skip.insert(APIPermission::kFileSystem); | 755 skip.insert(APIPermission::kFileSystem); |
| 756 skip.insert(APIPermission::kFileSystemProvider); | 756 skip.insert(APIPermission::kFileSystemProvider); |
| 757 skip.insert(APIPermission::kFileSystemRetainEntries); | 757 skip.insert(APIPermission::kFileSystemRetainEntries); |
| 758 skip.insert(APIPermission::kFileSystemWrite); |
| 758 skip.insert(APIPermission::kSocket); | 759 skip.insert(APIPermission::kSocket); |
| 759 skip.insert(APIPermission::kUsbDevice); | 760 skip.insert(APIPermission::kUsbDevice); |
| 760 | 761 |
| 761 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 762 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
| 762 APIPermissionSet permissions = info->GetAll(); | 763 APIPermissionSet permissions = info->GetAll(); |
| 763 for (APIPermissionSet::const_iterator i = permissions.begin(); | 764 for (APIPermissionSet::const_iterator i = permissions.begin(); |
| 764 i != permissions.end(); ++i) { | 765 i != permissions.end(); ++i) { |
| 765 const APIPermissionInfo* permission_info = i->info(); | 766 const APIPermissionInfo* permission_info = i->info(); |
| 766 EXPECT_TRUE(permission_info != NULL); | 767 EXPECT_TRUE(permission_info != NULL); |
| 767 | 768 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 778 TEST(PermissionsTest, FileSystemPermissionMessages) { | 779 TEST(PermissionsTest, FileSystemPermissionMessages) { |
| 779 APIPermissionSet api_permissions; | 780 APIPermissionSet api_permissions; |
| 780 api_permissions.insert(APIPermission::kFileSystemWrite); | 781 api_permissions.insert(APIPermission::kFileSystemWrite); |
| 781 api_permissions.insert(APIPermission::kFileSystemDirectory); | 782 api_permissions.insert(APIPermission::kFileSystemDirectory); |
| 782 scoped_refptr<PermissionSet> permissions( | 783 scoped_refptr<PermissionSet> permissions( |
| 783 new PermissionSet(api_permissions, ManifestPermissionSet(), | 784 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 784 URLPatternSet(), URLPatternSet())); | 785 URLPatternSet(), URLPatternSet())); |
| 785 PermissionMessages messages = | 786 PermissionMessages messages = |
| 786 PermissionMessageProvider::Get()->GetPermissionMessages( | 787 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 787 permissions, Manifest::TYPE_PLATFORM_APP); | 788 permissions, Manifest::TYPE_PLATFORM_APP); |
| 788 ASSERT_EQ(2u, messages.size()); | 789 ASSERT_EQ(1u, messages.size()); |
| 789 std::sort(messages.begin(), messages.end()); | 790 std::sort(messages.begin(), messages.end()); |
| 790 std::set<PermissionMessage::ID> ids; | 791 std::set<PermissionMessage::ID> ids; |
| 791 for (PermissionMessages::const_iterator it = messages.begin(); | 792 for (PermissionMessages::const_iterator it = messages.begin(); |
| 792 it != messages.end(); ++it) { | 793 it != messages.end(); ++it) { |
| 793 ids.insert(it->id()); | 794 ids.insert(it->id()); |
| 794 } | 795 } |
| 795 EXPECT_TRUE(ContainsKey(ids, PermissionMessage::kFileSystemDirectory)); | 796 EXPECT_TRUE(ContainsKey(ids, PermissionMessage::kFileSystemDirectory)); |
| 796 EXPECT_TRUE(ContainsKey(ids, PermissionMessage::kFileSystemWrite)); | |
| 797 } | 797 } |
| 798 | 798 |
| 799 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) { | 799 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) { |
| 800 APIPermissionSet api_permissions; | 800 APIPermissionSet api_permissions; |
| 801 api_permissions.insert(APIPermission::kFileSystemWrite); | 801 api_permissions.insert(APIPermission::kFileSystemWrite); |
| 802 api_permissions.insert(APIPermission::kFileSystemDirectory); | 802 api_permissions.insert(APIPermission::kFileSystemDirectory); |
| 803 api_permissions.insert(APIPermission::kFileSystemWriteDirectory); | 803 api_permissions.insert(APIPermission::kFileSystemWriteDirectory); |
| 804 scoped_refptr<PermissionSet> permissions( | 804 scoped_refptr<PermissionSet> permissions( |
| 805 new PermissionSet(api_permissions, ManifestPermissionSet(), | 805 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 806 URLPatternSet(), URLPatternSet())); | 806 URLPatternSet(), URLPatternSet())); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 885 Manifest::TYPE_PLATFORM_APP)); | 885 Manifest::TYPE_PLATFORM_APP)); |
| 886 EXPECT_FALSE(provider->IsPrivilegeIncrease(write_directory_permissions, | 886 EXPECT_FALSE(provider->IsPrivilegeIncrease(write_directory_permissions, |
| 887 directory_permissions, | 887 directory_permissions, |
| 888 Manifest::TYPE_PLATFORM_APP)); | 888 Manifest::TYPE_PLATFORM_APP)); |
| 889 EXPECT_TRUE(provider->IsPrivilegeIncrease(write_permissions, | 889 EXPECT_TRUE(provider->IsPrivilegeIncrease(write_permissions, |
| 890 directory_permissions, | 890 directory_permissions, |
| 891 Manifest::TYPE_PLATFORM_APP)); | 891 Manifest::TYPE_PLATFORM_APP)); |
| 892 EXPECT_TRUE(provider->IsPrivilegeIncrease(write_permissions, | 892 EXPECT_TRUE(provider->IsPrivilegeIncrease(write_permissions, |
| 893 write_directory_permissions, | 893 write_directory_permissions, |
| 894 Manifest::TYPE_PLATFORM_APP)); | 894 Manifest::TYPE_PLATFORM_APP)); |
| 895 EXPECT_TRUE(provider->IsPrivilegeIncrease(directory_permissions, | 895 EXPECT_FALSE(provider->IsPrivilegeIncrease(directory_permissions, |
| 896 write_permissions, | 896 write_permissions, |
| 897 Manifest::TYPE_PLATFORM_APP)); | 897 Manifest::TYPE_PLATFORM_APP)); |
| 898 EXPECT_TRUE(provider->IsPrivilegeIncrease(directory_permissions, | 898 EXPECT_TRUE(provider->IsPrivilegeIncrease(directory_permissions, |
| 899 write_directory_permissions, | 899 write_directory_permissions, |
| 900 Manifest::TYPE_PLATFORM_APP)); | 900 Manifest::TYPE_PLATFORM_APP)); |
| 901 } | 901 } |
| 902 | 902 |
| 903 TEST(PermissionsTest, GetWarningMessages_ManyHosts) { | 903 TEST(PermissionsTest, GetWarningMessages_ManyHosts) { |
| 904 scoped_refptr<Extension> extension; | 904 scoped_refptr<Extension> extension; |
| 905 | 905 |
| 906 extension = LoadManifest("permissions", "many-hosts.json"); | 906 extension = LoadManifest("permissions", "many-hosts.json"); |
| 907 std::vector<base::string16> warnings = | 907 std::vector<base::string16> warnings = |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1565 scoped_refptr<const PermissionSet> permissions_dwr( | 1565 scoped_refptr<const PermissionSet> permissions_dwr( |
| 1566 extension_dwr->GetActivePermissions()); | 1566 extension_dwr->GetActivePermissions()); |
| 1567 | 1567 |
| 1568 EXPECT_FALSE(PermissionMessageProvider::Get()-> | 1568 EXPECT_FALSE(PermissionMessageProvider::Get()-> |
| 1569 IsPrivilegeIncrease(permissions.get(), | 1569 IsPrivilegeIncrease(permissions.get(), |
| 1570 permissions_dwr.get(), | 1570 permissions_dwr.get(), |
| 1571 extension->GetType())); | 1571 extension->GetType())); |
| 1572 } | 1572 } |
| 1573 | 1573 |
| 1574 } // namespace extensions | 1574 } // namespace extensions |
| OLD | NEW |