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 |