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

Side by Side Diff: chrome/browser/ui/extensions/application_launch.cc

Issue 156843004: Remove ExtensionService::extension_prefs() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: additional cleanup Created 6 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 | 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 "chrome/browser/ui/extensions/application_launch.h" 5 #include "chrome/browser/ui/extensions/application_launch.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "apps/launcher.h" 9 #include "apps/launcher.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 const Extension* extension) { 165 const Extension* extension) {
166 if (!extension || container != extensions::LAUNCH_CONTAINER_WINDOW) 166 if (!extension || container != extensions::LAUNCH_CONTAINER_WINDOW)
167 return ui::SHOW_STATE_DEFAULT; 167 return ui::SHOW_STATE_DEFAULT;
168 168
169 if (chrome::IsRunningInForcedAppMode()) 169 if (chrome::IsRunningInForcedAppMode())
170 return ui::SHOW_STATE_FULLSCREEN; 170 return ui::SHOW_STATE_FULLSCREEN;
171 171
172 #if defined(USE_ASH) 172 #if defined(USE_ASH)
173 // In ash, LAUNCH_TYPE_FULLSCREEN launches in a maximized app window and 173 // In ash, LAUNCH_TYPE_FULLSCREEN launches in a maximized app window and
174 // LAUNCH_TYPE_WINDOW launches in a normal app window. 174 // LAUNCH_TYPE_WINDOW launches in a normal app window.
175 ExtensionService* service =
176 extensions::ExtensionSystem::Get(profile)->extension_service();
177 extensions::LaunchType launch_type = extensions::GetLaunchType( 175 extensions::LaunchType launch_type = extensions::GetLaunchType(
178 service->extension_prefs(), extension); 176 ExtensionPrefs::Get(profile), extension);
179 if (launch_type == extensions::LAUNCH_TYPE_FULLSCREEN) 177 if (launch_type == extensions::LAUNCH_TYPE_FULLSCREEN)
180 return ui::SHOW_STATE_MAXIMIZED; 178 return ui::SHOW_STATE_MAXIMIZED;
181 else if (launch_type == extensions::LAUNCH_TYPE_WINDOW) 179 else if (launch_type == extensions::LAUNCH_TYPE_WINDOW)
182 return ui::SHOW_STATE_NORMAL; 180 return ui::SHOW_STATE_NORMAL;
183 #endif 181 #endif
184 182
185 return ui::SHOW_STATE_DEFAULT; 183 return ui::SHOW_STATE_DEFAULT;
186 } 184 }
187 185
188 WebContents* OpenApplicationWindow(const AppLaunchParams& params) { 186 WebContents* OpenApplicationWindow(const AppLaunchParams& params) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 launch_params.desktop_type)); 252 launch_params.desktop_type));
255 browser->window()->Show(); 253 browser->window()->Show();
256 // There's no current tab in this browser window, so add a new one. 254 // There's no current tab in this browser window, so add a new one.
257 disposition = NEW_FOREGROUND_TAB; 255 disposition = NEW_FOREGROUND_TAB;
258 } else { 256 } else {
259 // For existing browser, ensure its window is shown and activated. 257 // For existing browser, ensure its window is shown and activated.
260 browser->window()->Show(); 258 browser->window()->Show();
261 browser->window()->Activate(); 259 browser->window()->Activate();
262 } 260 }
263 261
264 // Check the prefs for overridden mode.
265 ExtensionService* extension_service =
266 extensions::ExtensionSystem::Get(profile)->extension_service();
267 DCHECK(extension_service);
268
269 extensions::LaunchType launch_type = extensions::GetLaunchType( 262 extensions::LaunchType launch_type = extensions::GetLaunchType(
270 extension_service->extension_prefs(), extension); 263 ExtensionPrefs::Get(profile), extension);
271 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100); 264 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100);
272 265
273 int add_type = TabStripModel::ADD_ACTIVE; 266 int add_type = TabStripModel::ADD_ACTIVE;
274 if (launch_type == extensions::LAUNCH_TYPE_PINNED) 267 if (launch_type == extensions::LAUNCH_TYPE_PINNED)
275 add_type |= TabStripModel::ADD_PINNED; 268 add_type |= TabStripModel::ADD_PINNED;
276 269
277 GURL extension_url = UrlForExtension(extension, launch_params.override_url); 270 GURL extension_url = UrlForExtension(extension, launch_params.override_url);
278 chrome::NavigateParams params(browser, extension_url, 271 chrome::NavigateParams params(browser, extension_url,
279 content::PAGE_TRANSITION_AUTO_TOPLEVEL); 272 content::PAGE_TRANSITION_AUTO_TOPLEVEL);
280 params.tabstrip_add_types = add_type; 273 params.tabstrip_add_types = add_type;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 return contents; 324 return contents;
332 } 325 }
333 326
334 WebContents* OpenEnabledApplication(const AppLaunchParams& params) { 327 WebContents* OpenEnabledApplication(const AppLaunchParams& params) {
335 const Extension* extension = GetExtension(params); 328 const Extension* extension = GetExtension(params);
336 if (!extension) 329 if (!extension)
337 return NULL; 330 return NULL;
338 Profile* profile = params.profile; 331 Profile* profile = params.profile;
339 332
340 WebContents* tab = NULL; 333 WebContents* tab = NULL;
341 ExtensionPrefs* prefs = extensions::ExtensionSystem::Get(profile)-> 334 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile);
342 extension_service()->extension_prefs();
343 prefs->SetActiveBit(extension->id(), true); 335 prefs->SetActiveBit(extension->id(), true);
344 336
345 UMA_HISTOGRAM_ENUMERATION( 337 UMA_HISTOGRAM_ENUMERATION(
346 "Extensions.AppLaunchContainer", params.container, 100); 338 "Extensions.AppLaunchContainer", params.container, 100);
347 339
348 if (extension->is_platform_app()) { 340 if (extension->is_platform_app()) {
349 // Remember what desktop the launch happened on so that when the app opens a 341 // Remember what desktop the launch happened on so that when the app opens a
350 // window we can open them on the right desktop. 342 // window we can open them on the right desktop.
351 PerAppSettingsServiceFactory::GetForBrowserContext(profile)-> 343 PerAppSettingsServiceFactory::GetForBrowserContext(profile)->
352 SetDesktopLastLaunchedFrom(extension->id(), params.desktop_type); 344 SetDesktopLastLaunchedFrom(extension->id(), params.desktop_type);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 const extensions::Extension* extension, 413 const extensions::Extension* extension,
422 WindowOpenDisposition disposition) 414 WindowOpenDisposition disposition)
423 : profile(profile), 415 : profile(profile),
424 extension_id(extension ? extension->id() : std::string()), 416 extension_id(extension ? extension->id() : std::string()),
425 container(extensions::LAUNCH_CONTAINER_NONE), 417 container(extensions::LAUNCH_CONTAINER_NONE),
426 disposition(disposition), 418 disposition(disposition),
427 desktop_type(chrome::GetActiveDesktop()), 419 desktop_type(chrome::GetActiveDesktop()),
428 override_url(), 420 override_url(),
429 override_bounds(), 421 override_bounds(),
430 command_line(CommandLine::NO_PROGRAM) { 422 command_line(CommandLine::NO_PROGRAM) {
431 ExtensionService* service =
432 extensions::ExtensionSystem::Get(profile)->extension_service();
433 DCHECK(service);
434
435 // Look up the app preference to find out the right launch container. Default 423 // Look up the app preference to find out the right launch container. Default
436 // is to launch as a regular tab. 424 // is to launch as a regular tab.
437 container = extensions::GetLaunchContainer( 425 container = extensions::GetLaunchContainer(
438 service->extension_prefs(), extension); 426 ExtensionPrefs::Get(profile), extension);
439 } 427 }
440 428
441 AppLaunchParams::AppLaunchParams(Profile* profile, 429 AppLaunchParams::AppLaunchParams(Profile* profile,
442 const extensions::Extension* extension, 430 const extensions::Extension* extension,
443 int event_flags, 431 int event_flags,
444 chrome::HostDesktopType desktop_type) 432 chrome::HostDesktopType desktop_type)
445 : profile(profile), 433 : profile(profile),
446 extension_id(extension ? extension->id() : std::string()), 434 extension_id(extension ? extension->id() : std::string()),
447 container(extensions::LAUNCH_CONTAINER_NONE), 435 container(extensions::LAUNCH_CONTAINER_NONE),
448 disposition(ui::DispositionFromEventFlags(event_flags)), 436 disposition(ui::DispositionFromEventFlags(event_flags)),
449 desktop_type(desktop_type), 437 desktop_type(desktop_type),
450 override_url(), 438 override_url(),
451 override_bounds(), 439 override_bounds(),
452 command_line(CommandLine::NO_PROGRAM) { 440 command_line(CommandLine::NO_PROGRAM) {
453 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB) { 441 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB) {
454 container = extensions::LAUNCH_CONTAINER_TAB; 442 container = extensions::LAUNCH_CONTAINER_TAB;
455 } else if (disposition == NEW_WINDOW) { 443 } else if (disposition == NEW_WINDOW) {
456 container = extensions::LAUNCH_CONTAINER_WINDOW; 444 container = extensions::LAUNCH_CONTAINER_WINDOW;
457 } else { 445 } else {
458 ExtensionService* service =
459 extensions::ExtensionSystem::Get(profile)->extension_service();
460 DCHECK(service);
461
462 // Look at preference to find the right launch container. If no preference 446 // Look at preference to find the right launch container. If no preference
463 // is set, launch as a regular tab. 447 // is set, launch as a regular tab.
464 container = extensions::GetLaunchContainer( 448 container = extensions::GetLaunchContainer(
465 service->extension_prefs(), extension); 449 ExtensionPrefs::Get(profile), extension);
466 disposition = NEW_FOREGROUND_TAB; 450 disposition = NEW_FOREGROUND_TAB;
467 } 451 }
468 } 452 }
469 453
470 AppLaunchParams::~AppLaunchParams() { 454 AppLaunchParams::~AppLaunchParams() {
471 } 455 }
472 456
473 WebContents* OpenApplication(const AppLaunchParams& params) { 457 WebContents* OpenApplication(const AppLaunchParams& params) {
474 return OpenEnabledApplication(params); 458 return OpenEnabledApplication(params);
475 } 459 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 // up in LoadingStateChanged to schedule a GetApplicationInfo. And when 496 // up in LoadingStateChanged to schedule a GetApplicationInfo. And when
513 // the web app info is available, extensions::TabHelper notifies Browser via 497 // the web app info is available, extensions::TabHelper notifies Browser via
514 // OnDidGetApplicationInfo, which calls 498 // OnDidGetApplicationInfo, which calls
515 // web_app::UpdateShortcutForTabContents when it sees UPDATE_SHORTCUT as 499 // web_app::UpdateShortcutForTabContents when it sees UPDATE_SHORTCUT as
516 // pending web app action. 500 // pending web app action.
517 extensions::TabHelper::FromWebContents(tab)->set_pending_web_app_action( 501 extensions::TabHelper::FromWebContents(tab)->set_pending_web_app_action(
518 extensions::TabHelper::UPDATE_SHORTCUT); 502 extensions::TabHelper::UPDATE_SHORTCUT);
519 503
520 return tab; 504 return tab;
521 } 505 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698