| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <set> | 6 #include <set> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 2778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2789 TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) { | 2789 TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) { |
| 2790 base::FilePath extension_with_plugin_path = good1_path(); | 2790 base::FilePath extension_with_plugin_path = good1_path(); |
| 2791 base::FilePath extension_no_plugin_path = good2_path(); | 2791 base::FilePath extension_no_plugin_path = good2_path(); |
| 2792 | 2792 |
| 2793 InitPluginService(); | 2793 InitPluginService(); |
| 2794 InitializeEmptyExtensionService(); | 2794 InitializeEmptyExtensionService(); |
| 2795 InitializeProcessManager(); | 2795 InitializeProcessManager(); |
| 2796 service()->set_show_extensions_prompts(true); | 2796 service()->set_show_extensions_prompts(true); |
| 2797 | 2797 |
| 2798 // Start by canceling any install prompts. | 2798 // Start by canceling any install prompts. |
| 2799 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 2799 ExtensionInstallPrompt::g_auto_confirm_for_tests = |
| 2800 switches::kAppsGalleryInstallAutoConfirmForTests, | 2800 ExtensionInstallPrompt::CANCEL; |
| 2801 "cancel"); | |
| 2802 | 2801 |
| 2803 // The extension that has a plugin should not install. | 2802 // The extension that has a plugin should not install. |
| 2804 extensions::UnpackedInstaller::Create(service()) | 2803 extensions::UnpackedInstaller::Create(service()) |
| 2805 ->Load(extension_with_plugin_path); | 2804 ->Load(extension_with_plugin_path); |
| 2806 base::RunLoop().RunUntilIdle(); | 2805 base::RunLoop().RunUntilIdle(); |
| 2807 EXPECT_EQ(0u, GetErrors().size()); | 2806 EXPECT_EQ(0u, GetErrors().size()); |
| 2808 EXPECT_EQ(0u, loaded_.size()); | 2807 EXPECT_EQ(0u, loaded_.size()); |
| 2809 EXPECT_EQ(0u, registry()->enabled_extensions().size()); | 2808 EXPECT_EQ(0u, registry()->enabled_extensions().size()); |
| 2810 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 2809 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 2811 | 2810 |
| 2812 // But the extension with no plugin should since there's no prompt. | 2811 // But the extension with no plugin should since there's no prompt. |
| 2813 ExtensionErrorReporter::GetInstance()->ClearErrors(); | 2812 ExtensionErrorReporter::GetInstance()->ClearErrors(); |
| 2814 extensions::UnpackedInstaller::Create(service()) | 2813 extensions::UnpackedInstaller::Create(service()) |
| 2815 ->Load(extension_no_plugin_path); | 2814 ->Load(extension_no_plugin_path); |
| 2816 base::RunLoop().RunUntilIdle(); | 2815 base::RunLoop().RunUntilIdle(); |
| 2817 EXPECT_EQ(0u, GetErrors().size()); | 2816 EXPECT_EQ(0u, GetErrors().size()); |
| 2818 EXPECT_EQ(1u, loaded_.size()); | 2817 EXPECT_EQ(1u, loaded_.size()); |
| 2819 EXPECT_EQ(1u, registry()->enabled_extensions().size()); | 2818 EXPECT_EQ(1u, registry()->enabled_extensions().size()); |
| 2820 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 2819 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 2821 EXPECT_TRUE(registry()->enabled_extensions().Contains(good2)); | 2820 EXPECT_TRUE(registry()->enabled_extensions().Contains(good2)); |
| 2822 | 2821 |
| 2823 // The plugin extension should install if we accept the dialog. | 2822 // The plugin extension should install if we accept the dialog. |
| 2824 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 2823 ExtensionInstallPrompt::g_auto_confirm_for_tests = |
| 2825 switches::kAppsGalleryInstallAutoConfirmForTests, | 2824 ExtensionInstallPrompt::ACCEPT; |
| 2826 "accept"); | |
| 2827 | 2825 |
| 2828 ExtensionErrorReporter::GetInstance()->ClearErrors(); | 2826 ExtensionErrorReporter::GetInstance()->ClearErrors(); |
| 2829 extensions::UnpackedInstaller::Create(service()) | 2827 extensions::UnpackedInstaller::Create(service()) |
| 2830 ->Load(extension_with_plugin_path); | 2828 ->Load(extension_with_plugin_path); |
| 2831 base::RunLoop().RunUntilIdle(); | 2829 base::RunLoop().RunUntilIdle(); |
| 2832 EXPECT_EQ(0u, GetErrors().size()); | 2830 EXPECT_EQ(0u, GetErrors().size()); |
| 2833 EXPECT_EQ(2u, loaded_.size()); | 2831 EXPECT_EQ(2u, loaded_.size()); |
| 2834 EXPECT_EQ(2u, registry()->enabled_extensions().size()); | 2832 EXPECT_EQ(2u, registry()->enabled_extensions().size()); |
| 2835 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 2833 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 2836 EXPECT_TRUE(registry()->enabled_extensions().Contains(good1)); | 2834 EXPECT_TRUE(registry()->enabled_extensions().Contains(good1)); |
| 2837 EXPECT_TRUE(registry()->enabled_extensions().Contains(good2)); | 2835 EXPECT_TRUE(registry()->enabled_extensions().Contains(good2)); |
| 2838 | 2836 |
| 2839 // Make sure the granted permissions have been setup. | 2837 // Make sure the granted permissions have been setup. |
| 2840 scoped_refptr<PermissionSet> permissions( | 2838 scoped_refptr<PermissionSet> permissions( |
| 2841 ExtensionPrefs::Get(profile())->GetGrantedPermissions(good1)); | 2839 ExtensionPrefs::Get(profile())->GetGrantedPermissions(good1)); |
| 2842 EXPECT_FALSE(permissions->IsEmpty()); | 2840 EXPECT_FALSE(permissions->IsEmpty()); |
| 2843 EXPECT_TRUE(permissions->HasEffectiveFullAccess()); | 2841 EXPECT_TRUE(permissions->HasEffectiveFullAccess()); |
| 2844 EXPECT_FALSE(permissions->apis().empty()); | 2842 EXPECT_FALSE(permissions->apis().empty()); |
| 2845 EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin)); | 2843 EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin)); |
| 2846 | 2844 |
| 2847 // We should be able to reload the extension without getting another prompt. | 2845 // We should be able to reload the extension without getting another prompt. |
| 2848 loaded_.clear(); | 2846 loaded_.clear(); |
| 2849 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 2847 ExtensionInstallPrompt::g_auto_confirm_for_tests = |
| 2850 switches::kAppsGalleryInstallAutoConfirmForTests, | 2848 ExtensionInstallPrompt::CANCEL; |
| 2851 "cancel"); | |
| 2852 | 2849 |
| 2853 service()->ReloadExtension(good1); | 2850 service()->ReloadExtension(good1); |
| 2854 base::RunLoop().RunUntilIdle(); | 2851 base::RunLoop().RunUntilIdle(); |
| 2855 EXPECT_EQ(1u, loaded_.size()); | 2852 EXPECT_EQ(1u, loaded_.size()); |
| 2856 EXPECT_EQ(2u, registry()->enabled_extensions().size()); | 2853 EXPECT_EQ(2u, registry()->enabled_extensions().size()); |
| 2857 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 2854 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 2858 } | 2855 } |
| 2859 #endif // !defined(OS_POSIX) || defined(OS_MACOSX) | 2856 #endif // !defined(OS_POSIX) || defined(OS_MACOSX) |
| 2860 | 2857 |
| 2861 namespace { | 2858 namespace { |
| (...skipping 4100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6962 | 6959 |
| 6963 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 6960 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
| 6964 content::Source<Profile>(profile()), | 6961 content::Source<Profile>(profile()), |
| 6965 content::NotificationService::NoDetails()); | 6962 content::NotificationService::NoDetails()); |
| 6966 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); | 6963 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); |
| 6967 EXPECT_EQ(0u, registry()->enabled_extensions().size()); | 6964 EXPECT_EQ(0u, registry()->enabled_extensions().size()); |
| 6968 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 6965 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 6969 EXPECT_EQ(0u, registry()->terminated_extensions().size()); | 6966 EXPECT_EQ(0u, registry()->terminated_extensions().size()); |
| 6970 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); | 6967 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); |
| 6971 } | 6968 } |
| OLD | NEW |