Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: chrome/browser/extensions/api/management/management_apitest.cc

Issue 1661713002: Remove the rest of HostDesktopType from c/b/ui/browser_finder.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-11
Patch Set: linux adl Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "build/build_config.h" 7 #include "build/build_config.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/extensions/extension_apitest.h" 9 #include "chrome/browser/extensions/extension_apitest.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 ASSERT_TRUE(LoadExtension( 217 ASSERT_TRUE(LoadExtension(
218 test_data_dir_.AppendASCII("management/launch_on_install"))); 218 test_data_dir_.AppendASCII("management/launch_on_install")));
219 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); 219 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied());
220 220
221 // Load an app with app.launch.container = "panel". 221 // Load an app with app.launch.container = "panel".
222 std::string app_id; 222 std::string app_id;
223 LoadAndWaitForLaunch("management/launch_app_panel", &app_id); 223 LoadAndWaitForLaunch("management/launch_app_panel", &app_id);
224 ASSERT_FALSE(HasFatalFailure()); // Stop the test if any ASSERT failed. 224 ASSERT_FALSE(HasFatalFailure()); // Stop the test if any ASSERT failed.
225 225
226 // Find the app's browser. Check that it is a popup. 226 // Find the app's browser. Check that it is a popup.
227 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), 227 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
228 browser()->host_desktop_type()));
229 Browser* app_browser = FindOtherBrowser(browser()); 228 Browser* app_browser = FindOtherBrowser(browser());
230 ASSERT_TRUE(app_browser->is_type_popup()); 229 ASSERT_TRUE(app_browser->is_type_popup());
231 ASSERT_TRUE(app_browser->is_app()); 230 ASSERT_TRUE(app_browser->is_app());
232 231
233 // Close the app panel. 232 // Close the app panel.
234 content::WindowedNotificationObserver signal( 233 content::WindowedNotificationObserver signal(
235 chrome::NOTIFICATION_BROWSER_CLOSED, 234 chrome::NOTIFICATION_BROWSER_CLOSED,
236 content::Source<Browser>(app_browser)); 235 content::Source<Browser>(app_browser));
237 236
238 chrome::CloseWindow(app_browser); 237 chrome::CloseWindow(app_browser);
239 signal.Wait(); 238 signal.Wait();
240 239
241 // Unload the extension. 240 // Unload the extension.
242 UninstallExtension(app_id); 241 UninstallExtension(app_id);
243 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 242 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
244 browser()->host_desktop_type()));
245 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 243 ASSERT_FALSE(service->GetExtensionById(app_id, true));
246 244
247 // Set a pref indicating that the user wants to launch in a regular tab. 245 // Set a pref indicating that the user wants to launch in a regular tab.
248 // This should be ignored, because panel apps always load in a popup. 246 // This should be ignored, because panel apps always load in a popup.
249 extensions::SetLaunchType(browser()->profile(), app_id, 247 extensions::SetLaunchType(browser()->profile(), app_id,
250 extensions::LAUNCH_TYPE_REGULAR); 248 extensions::LAUNCH_TYPE_REGULAR);
251 249
252 // Load the extension again. 250 // Load the extension again.
253 std::string app_id_new; 251 std::string app_id_new;
254 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new); 252 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new);
255 ASSERT_FALSE(HasFatalFailure()); 253 ASSERT_FALSE(HasFatalFailure());
256 254
257 // If the ID changed, then the pref will not apply to the app. 255 // If the ID changed, then the pref will not apply to the app.
258 ASSERT_EQ(app_id, app_id_new); 256 ASSERT_EQ(app_id, app_id_new);
259 257
260 // Find the app's browser. Apps that should load in a panel ignore 258 // Find the app's browser. Apps that should load in a panel ignore
261 // prefs, so we should still see the launch in a popup. 259 // prefs, so we should still see the launch in a popup.
262 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), 260 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
263 browser()->host_desktop_type()));
264 app_browser = FindOtherBrowser(browser()); 261 app_browser = FindOtherBrowser(browser());
265 ASSERT_TRUE(app_browser->is_type_popup()); 262 ASSERT_TRUE(app_browser->is_type_popup());
266 ASSERT_TRUE(app_browser->is_app()); 263 ASSERT_TRUE(app_browser->is_app());
267 } 264 }
268 265
269 // Disabled: http://crbug.com/230165 266 // Disabled: http://crbug.com/230165
270 #if defined(OS_WIN) 267 #if defined(OS_WIN)
271 #define MAYBE_LaunchTabApp DISABLED_LaunchTabApp 268 #define MAYBE_LaunchTabApp DISABLED_LaunchTabApp
272 #else 269 #else
273 #define MAYBE_LaunchTabApp LaunchTabApp 270 #define MAYBE_LaunchTabApp LaunchTabApp
274 #endif 271 #endif
275 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, MAYBE_LaunchTabApp) { 272 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, MAYBE_LaunchTabApp) {
276 ExtensionService* service = extensions::ExtensionSystem::Get( 273 ExtensionService* service = extensions::ExtensionSystem::Get(
277 browser()->profile())->extension_service(); 274 browser()->profile())->extension_service();
278 275
279 // Load an extension that calls launchApp() on any app that gets 276 // Load an extension that calls launchApp() on any app that gets
280 // installed. 277 // installed.
281 ExtensionTestMessageListener launcher_loaded("launcher loaded", false); 278 ExtensionTestMessageListener launcher_loaded("launcher loaded", false);
282 ASSERT_TRUE(LoadExtension( 279 ASSERT_TRUE(LoadExtension(
283 test_data_dir_.AppendASCII("management/launch_on_install"))); 280 test_data_dir_.AppendASCII("management/launch_on_install")));
284 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied()); 281 ASSERT_TRUE(launcher_loaded.WaitUntilSatisfied());
285 282
286 // Code below assumes that the test starts with a single browser window 283 // Code below assumes that the test starts with a single browser window
287 // hosting one tab. 284 // hosting one tab.
288 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 285 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
289 browser()->host_desktop_type()));
290 ASSERT_EQ(1, browser()->tab_strip_model()->count()); 286 ASSERT_EQ(1, browser()->tab_strip_model()->count());
291 287
292 // Load an app with app.launch.container = "tab". 288 // Load an app with app.launch.container = "tab".
293 std::string app_id; 289 std::string app_id;
294 LoadAndWaitForLaunch("management/launch_app_tab", &app_id); 290 LoadAndWaitForLaunch("management/launch_app_tab", &app_id);
295 ASSERT_FALSE(HasFatalFailure()); 291 ASSERT_FALSE(HasFatalFailure());
296 292
297 // Check that the app opened in a new tab of the existing browser. 293 // Check that the app opened in a new tab of the existing browser.
298 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 294 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
299 browser()->host_desktop_type()));
300 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 295 ASSERT_EQ(2, browser()->tab_strip_model()->count());
301 296
302 // Unload the extension. 297 // Unload the extension.
303 UninstallExtension(app_id); 298 UninstallExtension(app_id);
304 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 299 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
305 browser()->host_desktop_type()));
306 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 300 ASSERT_FALSE(service->GetExtensionById(app_id, true));
307 301
308 // Set a pref indicating that the user wants to launch in a window. 302 // Set a pref indicating that the user wants to launch in a window.
309 extensions::SetLaunchType(browser()->profile(), app_id, 303 extensions::SetLaunchType(browser()->profile(), app_id,
310 extensions::LAUNCH_TYPE_WINDOW); 304 extensions::LAUNCH_TYPE_WINDOW);
311 305
312 std::string app_id_new; 306 std::string app_id_new;
313 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new); 307 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new);
314 ASSERT_FALSE(HasFatalFailure()); 308 ASSERT_FALSE(HasFatalFailure());
315 309
316 // If the ID changed, then the pref will not apply to the app. 310 // If the ID changed, then the pref will not apply to the app.
317 ASSERT_EQ(app_id, app_id_new); 311 ASSERT_EQ(app_id, app_id_new);
318 312
319 unsigned expected_browser_count = 2; 313 unsigned expected_browser_count = 2;
320 #if defined(OS_MACOSX) 314 #if defined(OS_MACOSX)
321 // Without the new Bookmark Apps, Mac has no way of making standalone browser 315 // Without the new Bookmark Apps, Mac has no way of making standalone browser
322 // windows for apps, so it will add to the tabstrip instead. 316 // windows for apps, so it will add to the tabstrip instead.
323 EXPECT_FALSE(extensions::util::IsNewBookmarkAppsEnabled()); 317 EXPECT_FALSE(extensions::util::IsNewBookmarkAppsEnabled());
324 EXPECT_FALSE(extensions::util::CanHostedAppsOpenInWindows()); 318 EXPECT_FALSE(extensions::util::CanHostedAppsOpenInWindows());
325 expected_browser_count = 1; 319 expected_browser_count = 1;
326 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 320 ASSERT_EQ(2, browser()->tab_strip_model()->count());
327 #endif 321 #endif
328 // Find the app's browser. Opening in a new window will create 322 // Find the app's browser. Opening in a new window will create
329 // a new browser. 323 // a new browser.
330 ASSERT_EQ(expected_browser_count, 324 ASSERT_EQ(expected_browser_count,
331 chrome::GetBrowserCount(browser()->profile(), 325 chrome::GetBrowserCount(browser()->profile()));
332 browser()->host_desktop_type()));
333 if (expected_browser_count == 2) { 326 if (expected_browser_count == 2) {
334 Browser* app_browser = FindOtherBrowser(browser()); 327 Browser* app_browser = FindOtherBrowser(browser());
335 ASSERT_TRUE(app_browser->is_app()); 328 ASSERT_TRUE(app_browser->is_app());
336 } 329 }
337 } 330 }
338 331
339 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchType) { 332 IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, LaunchType) {
340 LoadExtensions(); 333 LoadExtensions();
341 base::FilePath basedir = test_data_dir_.AppendASCII("management"); 334 base::FilePath basedir = test_data_dir_.AppendASCII("management");
342 LoadNamedExtension(basedir, "packaged_app"); 335 LoadNamedExtension(basedir, "packaged_app");
343 336
344 ASSERT_TRUE(RunExtensionSubtest("management/test", "launchType.html")); 337 ASSERT_TRUE(RunExtensionSubtest("management/test", "launchType.html"));
345 } 338 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698