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 <map> | 5 #include <map> |
6 | 6 |
7 #include "chrome/browser/extensions/extension_apitest.h" | 7 #include "chrome/browser/extensions/extension_apitest.h" |
8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
9 #include "chrome/browser/extensions/extension_system.h" | 9 #include "chrome/browser/extensions/extension_system.h" |
10 #include "chrome/browser/extensions/extension_test_message_listener.h" | 10 #include "chrome/browser/extensions/extension_test_message_listener.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 } | 110 } |
111 | 111 |
112 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, Uninstall) { | 112 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, Uninstall) { |
113 LoadExtensions(); | 113 LoadExtensions(); |
114 ASSERT_TRUE(RunExtensionSubtest("management/test", "uninstall.html")); | 114 ASSERT_TRUE(RunExtensionSubtest("management/test", "uninstall.html")); |
115 } | 115 } |
116 | 116 |
117 // Tests actions on extensions when no management policy is in place. | 117 // Tests actions on extensions when no management policy is in place. |
118 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, ManagementPolicyAllowed) { | 118 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, ManagementPolicyAllowed) { |
119 LoadExtensions(); | 119 LoadExtensions(); |
120 ExtensionService* service = browser()->profile()->GetExtensionService(); | 120 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 121 browser()->profile())->extension_service(); |
121 EXPECT_TRUE(service->GetExtensionById(extension_ids_["enabled_extension"], | 122 EXPECT_TRUE(service->GetExtensionById(extension_ids_["enabled_extension"], |
122 false)); | 123 false)); |
123 | 124 |
124 // Ensure that all actions are allowed. | 125 // Ensure that all actions are allowed. |
125 extensions::ExtensionSystem::Get( | 126 extensions::ExtensionSystem::Get( |
126 browser()->profile())->management_policy()->UnregisterAllProviders(); | 127 browser()->profile())->management_policy()->UnregisterAllProviders(); |
127 | 128 |
128 ASSERT_TRUE(RunExtensionSubtest("management/management_policy", | 129 ASSERT_TRUE(RunExtensionSubtest("management/management_policy", |
129 "allowed.html")); | 130 "allowed.html")); |
130 // The last thing the test does is uninstall the "enabled_extension". | 131 // The last thing the test does is uninstall the "enabled_extension". |
131 EXPECT_FALSE(service->GetExtensionById(extension_ids_["enabled_extension"], | 132 EXPECT_FALSE(service->GetExtensionById(extension_ids_["enabled_extension"], |
132 true)); | 133 true)); |
133 } | 134 } |
134 | 135 |
135 // Tests actions on extensions when management policy prohibits those actions. | 136 // Tests actions on extensions when management policy prohibits those actions. |
136 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, ManagementPolicyProhibited) { | 137 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, ManagementPolicyProhibited) { |
137 LoadExtensions(); | 138 LoadExtensions(); |
138 ExtensionService* service = browser()->profile()->GetExtensionService(); | 139 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 140 browser()->profile())->extension_service(); |
139 EXPECT_TRUE(service->GetExtensionById(extension_ids_["enabled_extension"], | 141 EXPECT_TRUE(service->GetExtensionById(extension_ids_["enabled_extension"], |
140 false)); | 142 false)); |
141 | 143 |
142 // Prohibit status changes. | 144 // Prohibit status changes. |
143 extensions::ManagementPolicy* policy = extensions::ExtensionSystem::Get( | 145 extensions::ManagementPolicy* policy = extensions::ExtensionSystem::Get( |
144 browser()->profile())->management_policy(); | 146 browser()->profile())->management_policy(); |
145 policy->UnregisterAllProviders(); | 147 policy->UnregisterAllProviders(); |
146 extensions::TestManagementPolicyProvider provider( | 148 extensions::TestManagementPolicyProvider provider( |
147 extensions::TestManagementPolicyProvider::PROHIBIT_MODIFY_STATUS); | 149 extensions::TestManagementPolicyProvider::PROHIBIT_MODIFY_STATUS); |
148 policy->RegisterProvider(&provider); | 150 policy->RegisterProvider(&provider); |
149 ASSERT_TRUE(RunExtensionSubtest("management/management_policy", | 151 ASSERT_TRUE(RunExtensionSubtest("management/management_policy", |
150 "prohibited.html")); | 152 "prohibited.html")); |
151 } | 153 } |
152 | 154 |
153 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchPanelApp) { | 155 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchPanelApp) { |
154 ExtensionService* service = browser()->profile()->GetExtensionService(); | 156 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 157 browser()->profile())->extension_service(); |
155 | 158 |
156 // Load an extension that calls launchApp() on any app that gets | 159 // Load an extension that calls launchApp() on any app that gets |
157 // installed. | 160 // installed. |
158 ExtensionTestMessageListener launcher_loaded("launcher loaded", false); | 161 ExtensionTestMessageListener launcher_loaded("launcher loaded", false); |
159 ASSERT_TRUE(LoadExtension( | 162 ASSERT_TRUE(LoadExtension( |
160 test_data_dir_.AppendASCII("management/launch_on_install"))); | 163 test_data_dir_.AppendASCII("management/launch_on_install"))); |
161 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); | 164 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); |
162 | 165 |
163 // Load an app with app.launch.container = "panel". | 166 // Load an app with app.launch.container = "panel". |
164 std::string app_id; | 167 std::string app_id; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 | 202 |
200 // Find the app's browser. Apps that should load in a panel ignore | 203 // Find the app's browser. Apps that should load in a panel ignore |
201 // prefs, so we should still see the launch in a popup. | 204 // prefs, so we should still see the launch in a popup. |
202 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile())); | 205 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile())); |
203 app_browser = FindOtherBrowser(browser()); | 206 app_browser = FindOtherBrowser(browser()); |
204 ASSERT_TRUE(app_browser->is_type_popup()); | 207 ASSERT_TRUE(app_browser->is_type_popup()); |
205 ASSERT_TRUE(app_browser->is_app()); | 208 ASSERT_TRUE(app_browser->is_app()); |
206 } | 209 } |
207 | 210 |
208 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchTabApp) { | 211 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchTabApp) { |
209 ExtensionService* service = browser()->profile()->GetExtensionService(); | 212 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 213 browser()->profile())->extension_service(); |
210 | 214 |
211 // Load an extension that calls launchApp() on any app that gets | 215 // Load an extension that calls launchApp() on any app that gets |
212 // installed. | 216 // installed. |
213 ExtensionTestMessageListener launcher_loaded("launcher loaded", false); | 217 ExtensionTestMessageListener launcher_loaded("launcher loaded", false); |
214 ASSERT_TRUE(LoadExtension( | 218 ASSERT_TRUE(LoadExtension( |
215 test_data_dir_.AppendASCII("management/launch_on_install"))); | 219 test_data_dir_.AppendASCII("management/launch_on_install"))); |
216 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); | 220 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); |
217 | 221 |
218 // Code below assumes that the test starts with a single browser window | 222 // Code below assumes that the test starts with a single browser window |
219 // hosting one tab. | 223 // hosting one tab. |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 ASSERT_EQ(2, browser()->tab_count()); | 256 ASSERT_EQ(2, browser()->tab_count()); |
253 #else | 257 #else |
254 // Find the app's browser. Opening in a new window will create | 258 // Find the app's browser. Opening in a new window will create |
255 // a new browser. | 259 // a new browser. |
256 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile())); | 260 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile())); |
257 Browser* app_browser = FindOtherBrowser(browser()); | 261 Browser* app_browser = FindOtherBrowser(browser()); |
258 ASSERT_TRUE(app_browser->is_app()); | 262 ASSERT_TRUE(app_browser->is_app()); |
259 ASSERT_FALSE(app_browser->is_type_panel()); | 263 ASSERT_FALSE(app_browser->is_type_panel()); |
260 #endif | 264 #endif |
261 } | 265 } |
OLD | NEW |