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/files/file_path.h" | 5 #include "base/files/file_path.h" |
6 #include "base/files/scoped_temp_dir.h" | 6 #include "base/files/scoped_temp_dir.h" |
7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "chrome/browser/extensions/api/management/management_api.h" | 9 #include "chrome/browser/extensions/api/management/management_api.h" |
10 #include "chrome/browser/extensions/api/management/management_api_constants.h" | 10 #include "chrome/browser/extensions/api/management/management_api_constants.h" |
11 #include "chrome/browser/extensions/extension_browsertest.h" | 11 #include "chrome/browser/extensions/extension_browsertest.h" |
12 #include "chrome/browser/extensions/extension_function_test_utils.h" | 12 #include "chrome/browser/extensions/extension_function_test_utils.h" |
13 #include "chrome/browser/extensions/extension_service.h" | 13 #include "chrome/browser/extensions/extension_service.h" |
14 #include "chrome/browser/extensions/extension_test_message_listener.h" | 14 #include "chrome/browser/extensions/extension_test_message_listener.h" |
15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
17 #include "content/public/browser/notification_service.h" | 17 #include "content/public/browser/notification_service.h" |
18 #include "content/public/common/url_constants.h" | 18 #include "content/public/common/url_constants.h" |
19 #include "content/public/test/browser_test_utils.h" | 19 #include "content/public/test/browser_test_utils.h" |
20 #include "content/public/test/test_utils.h" | 20 #include "content/public/test/test_utils.h" |
21 #include "extensions/browser/extension_host.h" | 21 #include "extensions/browser/extension_host.h" |
22 #include "extensions/browser/extension_prefs.h" | 22 #include "extensions/browser/extension_prefs.h" |
23 #include "extensions/browser/extension_system.h" | 23 #include "extensions/browser/extension_system.h" |
24 #include "extensions/browser/notification_types.h" | 24 #include "extensions/browser/notification_types.h" |
| 25 #include "extensions/common/test_util.h" |
25 | 26 |
26 namespace keys = extension_management_api_constants; | 27 namespace keys = extension_management_api_constants; |
27 namespace util = extension_function_test_utils; | 28 namespace util = extension_function_test_utils; |
28 | 29 |
29 namespace extensions { | 30 namespace extensions { |
30 | 31 |
31 class ExtensionManagementApiBrowserTest : public ExtensionBrowserTest { | 32 class ExtensionManagementApiBrowserTest : public ExtensionBrowserTest { |
32 protected: | 33 protected: |
33 bool CrashEnabledExtension(const std::string& extension_id) { | 34 bool CrashEnabledExtension(const std::string& extension_id) { |
34 ExtensionHost* background_host = | 35 ExtensionHost* background_host = |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 ExtensionService* service = ExtensionSystem::Get(browser()->profile())-> | 112 ExtensionService* service = ExtensionSystem::Get(browser()->profile())-> |
112 extension_service(); | 113 extension_service(); |
113 | 114 |
114 // Install an extension. | 115 // Install an extension. |
115 const Extension* extension = InstallExtension( | 116 const Extension* extension = InstallExtension( |
116 test_data_dir_.AppendASCII("api_test/management/enabled_extension"), 1); | 117 test_data_dir_.AppendASCII("api_test/management/enabled_extension"), 1); |
117 ASSERT_TRUE(extension); | 118 ASSERT_TRUE(extension); |
118 | 119 |
119 const std::string id = extension->id(); | 120 const std::string id = extension->id(); |
120 | 121 |
121 scoped_refptr<Extension> empty_extension( | 122 scoped_refptr<Extension> empty_extension(test_util::CreateEmptyExtension()); |
122 extension_function_test_utils::CreateEmptyExtension()); | |
123 // Uninstall, then cancel via the confirm dialog. | 123 // Uninstall, then cancel via the confirm dialog. |
124 scoped_refptr<ManagementUninstallFunction> uninstall_function( | 124 scoped_refptr<ManagementUninstallFunction> uninstall_function( |
125 new ManagementUninstallFunction()); | 125 new ManagementUninstallFunction()); |
126 uninstall_function->set_extension(empty_extension.get()); | 126 uninstall_function->set_extension(empty_extension.get()); |
127 uninstall_function->set_user_gesture(true); | 127 uninstall_function->set_user_gesture(true); |
128 ManagementUninstallFunction::SetAutoConfirmForTest(false); | 128 ManagementUninstallFunction::SetAutoConfirmForTest(false); |
129 | 129 |
130 EXPECT_TRUE(MatchPattern( | 130 EXPECT_TRUE(MatchPattern( |
131 util::RunFunctionAndReturnError( | 131 util::RunFunctionAndReturnError( |
132 uninstall_function.get(), | 132 uninstall_function.get(), |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 // extension should be reloaded and enabled. | 316 // extension should be reloaded and enabled. |
317 ASSERT_TRUE(CrashEnabledExtension(kId)); | 317 ASSERT_TRUE(CrashEnabledExtension(kId)); |
318 SetEnabled(false, true, std::string()); | 318 SetEnabled(false, true, std::string()); |
319 SetEnabled(true, true, std::string()); | 319 SetEnabled(true, true, std::string()); |
320 const Extension* extension = ExtensionSystem::Get(browser()->profile()) | 320 const Extension* extension = ExtensionSystem::Get(browser()->profile()) |
321 ->extension_service()->GetExtensionById(kId, false); | 321 ->extension_service()->GetExtensionById(kId, false); |
322 EXPECT_TRUE(extension); | 322 EXPECT_TRUE(extension); |
323 } | 323 } |
324 | 324 |
325 } // namespace extensions | 325 } // namespace extensions |
OLD | NEW |