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

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

Issue 93883004: Sync the launch type pref for apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add test for invalid value, make tests actually check things Created 6 years, 11 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 "chrome/browser/chrome_notification_types.h" 7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/extensions/extension_apitest.h" 8 #include "chrome/browser/extensions/extension_apitest.h"
9 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_system.h" 10 #include "chrome/browser/extensions/extension_system.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 signal.Wait(); 213 signal.Wait();
214 214
215 // Unload the extension. 215 // Unload the extension.
216 UninstallExtension(app_id); 216 UninstallExtension(app_id);
217 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 217 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
218 browser()->host_desktop_type())); 218 browser()->host_desktop_type()));
219 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 219 ASSERT_FALSE(service->GetExtensionById(app_id, true));
220 220
221 // Set a pref indicating that the user wants to launch in a regular tab. 221 // Set a pref indicating that the user wants to launch in a regular tab.
222 // This should be ignored, because panel apps always load in a popup. 222 // This should be ignored, because panel apps always load in a popup.
223 extensions::SetLaunchType(service->extension_prefs(), 223 extensions::SetLaunchType(service, app_id, extensions::LAUNCH_TYPE_REGULAR);
224 app_id, extensions::LAUNCH_TYPE_REGULAR);
225 224
226 // Load the extension again. 225 // Load the extension again.
227 std::string app_id_new; 226 std::string app_id_new;
228 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new); 227 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new);
229 ASSERT_FALSE(HasFatalFailure()); 228 ASSERT_FALSE(HasFatalFailure());
230 229
231 // If the ID changed, then the pref will not apply to the app. 230 // If the ID changed, then the pref will not apply to the app.
232 ASSERT_EQ(app_id, app_id_new); 231 ASSERT_EQ(app_id, app_id_new);
233 232
234 // Find the app's browser. Apps that should load in a panel ignore 233 // Find the app's browser. Apps that should load in a panel ignore
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 browser()->host_desktop_type())); 272 browser()->host_desktop_type()));
274 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 273 ASSERT_EQ(2, browser()->tab_strip_model()->count());
275 274
276 // Unload the extension. 275 // Unload the extension.
277 UninstallExtension(app_id); 276 UninstallExtension(app_id);
278 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 277 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
279 browser()->host_desktop_type())); 278 browser()->host_desktop_type()));
280 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 279 ASSERT_FALSE(service->GetExtensionById(app_id, true));
281 280
282 // Set a pref indicating that the user wants to launch in a window. 281 // Set a pref indicating that the user wants to launch in a window.
283 extensions::SetLaunchType(service->extension_prefs(), 282 extensions::SetLaunchType(service, app_id, extensions::LAUNCH_TYPE_WINDOW);
284 app_id, extensions::LAUNCH_TYPE_WINDOW);
285 283
286 std::string app_id_new; 284 std::string app_id_new;
287 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new); 285 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new);
288 ASSERT_FALSE(HasFatalFailure()); 286 ASSERT_FALSE(HasFatalFailure());
289 287
290 // If the ID changed, then the pref will not apply to the app. 288 // If the ID changed, then the pref will not apply to the app.
291 ASSERT_EQ(app_id, app_id_new); 289 ASSERT_EQ(app_id, app_id_new);
292 290
293 #if defined(OS_MACOSX) 291 #if defined(OS_MACOSX)
294 // App windows are not yet implemented on mac os. We should fall back 292 // App windows are not yet implemented on mac os. We should fall back
295 // to a normal tab. 293 // to a normal tab.
296 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 294 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
297 browser()->host_desktop_type())); 295 browser()->host_desktop_type()));
298 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 296 ASSERT_EQ(2, browser()->tab_strip_model()->count());
299 #else 297 #else
300 // Find the app's browser. Opening in a new window will create 298 // Find the app's browser. Opening in a new window will create
301 // a new browser. 299 // a new browser.
302 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), 300 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(),
303 browser()->host_desktop_type())); 301 browser()->host_desktop_type()));
304 Browser* app_browser = FindOtherBrowser(browser()); 302 Browser* app_browser = FindOtherBrowser(browser());
305 ASSERT_TRUE(app_browser->is_app()); 303 ASSERT_TRUE(app_browser->is_app());
306 #endif 304 #endif
307 } 305 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698