| 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 |