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

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

Issue 1807743003: Remove HostDesktopType from AppLaunchParams (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@temp-parent
Patch Set: cros Created 4 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/app_launch_params.h" 5 #include "chrome/browser/ui/extensions/app_launch_params.h"
6 6
7 #include "chrome/browser/extensions/launch_util.h" 7 #include "chrome/browser/extensions/launch_util.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "extensions/browser/extension_prefs.h" 9 #include "extensions/browser/extension_prefs.h"
10 #include "extensions/common/constants.h" 10 #include "extensions/common/constants.h"
11 #include "extensions/common/extension.h" 11 #include "extensions/common/extension.h"
12 #include "ui/base/window_open_disposition.h" 12 #include "ui/base/window_open_disposition.h"
13 13
14 using extensions::ExtensionPrefs; 14 using extensions::ExtensionPrefs;
15 15
16 AppLaunchParams::AppLaunchParams(Profile* profile, 16 AppLaunchParams::AppLaunchParams(Profile* profile,
17 const extensions::Extension* extension, 17 const extensions::Extension* extension,
18 extensions::LaunchContainer container, 18 extensions::LaunchContainer container,
19 WindowOpenDisposition disposition, 19 WindowOpenDisposition disposition,
20 extensions::AppLaunchSource source) 20 extensions::AppLaunchSource source)
21 : profile(profile), 21 : profile(profile),
22 extension_id(extension ? extension->id() : std::string()), 22 extension_id(extension ? extension->id() : std::string()),
23 container(container), 23 container(container),
24 disposition(disposition), 24 disposition(disposition),
25 desktop_type(chrome::GetActiveDesktop()),
26 override_url(),
27 override_bounds(),
28 command_line(base::CommandLine::NO_PROGRAM), 25 command_line(base::CommandLine::NO_PROGRAM),
29 source(source) { 26 source(source) {}
27
28 AppLaunchParams::AppLaunchParams(const AppLaunchParams& other) = default;
29
30 AppLaunchParams::~AppLaunchParams() {}
31
32 AppLaunchParams CreateAppLaunchParamsUserContainer(
33 Profile* profile,
34 const extensions::Extension* extension,
35 WindowOpenDisposition disposition,
36 extensions::AppLaunchSource source) {
37 // Look up the app preference to find out the right launch container. Default
38 // is to launch as a regular tab.
39 extensions::LaunchContainer container =
40 extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
41 return AppLaunchParams(profile, extension, container, disposition, source);
30 } 42 }
31 43
32 AppLaunchParams::AppLaunchParams(Profile* profile, 44 AppLaunchParams CreateAppLaunchParamsWithEventFlags(
33 const extensions::Extension* extension, 45 Profile* profile,
34 WindowOpenDisposition disposition, 46 const extensions::Extension* extension,
35 extensions::AppLaunchSource source) 47 int event_flags,
36 : profile(profile), 48 extensions::AppLaunchSource source) {
37 extension_id(extension ? extension->id() : std::string()), 49 WindowOpenDisposition raw_disposition =
38 container(extensions::LAUNCH_CONTAINER_NONE), 50 ui::DispositionFromEventFlags(event_flags);
39 disposition(disposition),
40 desktop_type(chrome::GetActiveDesktop()),
41 override_url(),
42 override_bounds(),
43 command_line(base::CommandLine::NO_PROGRAM),
44 source(source) {
45 // Look up the app preference to find out the right launch container. Default
46 // is to launch as a regular tab.
47 container =
48 extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
49 }
50 51
51 AppLaunchParams::AppLaunchParams(Profile* profile, 52 extensions::LaunchContainer container;
52 const extensions::Extension* extension, 53 WindowOpenDisposition disposition;
53 WindowOpenDisposition raw_disposition,
54 chrome::HostDesktopType desktop_type,
55 extensions::AppLaunchSource source)
56 : profile(profile),
57 extension_id(extension ? extension->id() : std::string()),
58 container(extensions::LAUNCH_CONTAINER_NONE),
59 desktop_type(desktop_type),
60 override_url(),
61 override_bounds(),
62 command_line(base::CommandLine::NO_PROGRAM),
63 source(source) {
64 if (raw_disposition == NEW_FOREGROUND_TAB || 54 if (raw_disposition == NEW_FOREGROUND_TAB ||
65 raw_disposition == NEW_BACKGROUND_TAB) { 55 raw_disposition == NEW_BACKGROUND_TAB) {
66 container = extensions::LAUNCH_CONTAINER_TAB; 56 container = extensions::LAUNCH_CONTAINER_TAB;
67 disposition = raw_disposition; 57 disposition = raw_disposition;
68 } else if (raw_disposition == NEW_WINDOW) { 58 } else if (raw_disposition == NEW_WINDOW) {
69 container = extensions::LAUNCH_CONTAINER_WINDOW; 59 container = extensions::LAUNCH_CONTAINER_WINDOW;
70 disposition = raw_disposition; 60 disposition = raw_disposition;
71 } else { 61 } else {
72 // Look at preference to find the right launch container. If no preference 62 // Look at preference to find the right launch container. If no preference
73 // is set, launch as a regular tab. 63 // is set, launch as a regular tab.
74 container = 64 container =
75 extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension); 65 extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
76 disposition = NEW_FOREGROUND_TAB; 66 disposition = NEW_FOREGROUND_TAB;
77 } 67 }
68 return AppLaunchParams(profile, extension, container, disposition, source);
78 } 69 }
79
80 AppLaunchParams::AppLaunchParams(const AppLaunchParams& other) = default;
81
82 AppLaunchParams::~AppLaunchParams() {
83 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/extensions/app_launch_params.h ('k') | chrome/browser/ui/startup/startup_browser_creator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698