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

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

Issue 105733003: Move LaunchType out of ExtensionPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indenting Created 7 years 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 | Annotate | Revision Log
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"
11 #include "chrome/browser/extensions/extension_test_message_listener.h" 11 #include "chrome/browser/extensions/extension_test_message_listener.h"
12 #include "chrome/browser/extensions/launch_util.h"
12 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
13 #include "chrome/browser/ui/browser.h" 14 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/browser_commands.h" 15 #include "chrome/browser/ui/browser_commands.h"
15 #include "chrome/browser/ui/browser_finder.h" 16 #include "chrome/browser/ui/browser_finder.h"
16 #include "chrome/browser/ui/browser_iterator.h" 17 #include "chrome/browser/ui/browser_iterator.h"
17 #include "chrome/browser/ui/tabs/tab_strip_model.h" 18 #include "chrome/browser/ui/tabs/tab_strip_model.h"
18 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
19 #include "content/public/test/test_utils.h" 20 #include "content/public/test/test_utils.h"
20 #include "extensions/browser/test_management_policy.h" 21 #include "extensions/browser/test_management_policy.h"
21 #include "extensions/common/manifest.h" 22 #include "extensions/common/manifest.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 signal.Wait(); 212 signal.Wait();
212 213
213 // Unload the extension. 214 // Unload the extension.
214 UninstallExtension(app_id); 215 UninstallExtension(app_id);
215 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 216 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
216 browser()->host_desktop_type())); 217 browser()->host_desktop_type()));
217 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 218 ASSERT_FALSE(service->GetExtensionById(app_id, true));
218 219
219 // Set a pref indicating that the user wants to launch in a regular tab. 220 // Set a pref indicating that the user wants to launch in a regular tab.
220 // This should be ignored, because panel apps always load in a popup. 221 // This should be ignored, because panel apps always load in a popup.
221 service->extension_prefs()->SetLaunchType( 222 extensions::SetLaunchType(service->extension_prefs(),
222 app_id, extensions::ExtensionPrefs::LAUNCH_TYPE_REGULAR); 223 app_id, extensions::LAUNCH_TYPE_REGULAR);
223 224
224 // Load the extension again. 225 // Load the extension again.
225 std::string app_id_new; 226 std::string app_id_new;
226 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new); 227 LoadAndWaitForLaunch("management/launch_app_panel", &app_id_new);
227 ASSERT_FALSE(HasFatalFailure()); 228 ASSERT_FALSE(HasFatalFailure());
228 229
229 // 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.
230 ASSERT_EQ(app_id, app_id_new); 231 ASSERT_EQ(app_id, app_id_new);
231 232
232 // 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
271 browser()->host_desktop_type())); 272 browser()->host_desktop_type()));
272 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 273 ASSERT_EQ(2, browser()->tab_strip_model()->count());
273 274
274 // Unload the extension. 275 // Unload the extension.
275 UninstallExtension(app_id); 276 UninstallExtension(app_id);
276 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 277 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
277 browser()->host_desktop_type())); 278 browser()->host_desktop_type()));
278 ASSERT_FALSE(service->GetExtensionById(app_id, true)); 279 ASSERT_FALSE(service->GetExtensionById(app_id, true));
279 280
280 // 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.
281 service->extension_prefs()->SetLaunchType( 282 extensions::SetLaunchType(service->extension_prefs(),
282 app_id, extensions::ExtensionPrefs::LAUNCH_TYPE_WINDOW); 283 app_id, extensions::LAUNCH_TYPE_WINDOW);
283 284
284 std::string app_id_new; 285 std::string app_id_new;
285 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new); 286 LoadAndWaitForLaunch("management/launch_app_tab", &app_id_new);
286 ASSERT_FALSE(HasFatalFailure()); 287 ASSERT_FALSE(HasFatalFailure());
287 288
288 // If the ID changed, then the pref will not apply to the app. 289 // If the ID changed, then the pref will not apply to the app.
289 ASSERT_EQ(app_id, app_id_new); 290 ASSERT_EQ(app_id, app_id_new);
290 291
291 #if defined(OS_MACOSX) 292 #if defined(OS_MACOSX)
292 // App windows are not yet implemented on mac os. We should fall back 293 // App windows are not yet implemented on mac os. We should fall back
293 // to a normal tab. 294 // to a normal tab.
294 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), 295 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
295 browser()->host_desktop_type())); 296 browser()->host_desktop_type()));
296 ASSERT_EQ(2, browser()->tab_strip_model()->count()); 297 ASSERT_EQ(2, browser()->tab_strip_model()->count());
297 #else 298 #else
298 // Find the app's browser. Opening in a new window will create 299 // Find the app's browser. Opening in a new window will create
299 // a new browser. 300 // a new browser.
300 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), 301 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(),
301 browser()->host_desktop_type())); 302 browser()->host_desktop_type()));
302 Browser* app_browser = FindOtherBrowser(browser()); 303 Browser* app_browser = FindOtherBrowser(browser());
303 ASSERT_TRUE(app_browser->is_app()); 304 ASSERT_TRUE(app_browser->is_app());
304 #endif 305 #endif
305 } 306 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/management/management_api.cc ('k') | chrome/browser/extensions/extension_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698