OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef APPS_LAUNCHER_H_ | 5 #ifndef APPS_LAUNCHER_H_ |
6 #define APPS_LAUNCHER_H_ | 6 #define APPS_LAUNCHER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
| 11 #include "extensions/common/constants.h" |
| 12 |
11 class GURL; | 13 class GURL; |
12 class Profile; | 14 class Profile; |
13 | 15 |
14 namespace base { | 16 namespace base { |
15 class CommandLine; | 17 class CommandLine; |
16 class FilePath; | 18 class FilePath; |
17 } | 19 } |
18 | 20 |
19 namespace extensions { | 21 namespace extensions { |
20 class Extension; | 22 class Extension; |
21 } | 23 } |
22 | 24 |
23 namespace apps { | 25 namespace apps { |
24 | 26 |
25 // Launches the platform app |extension|. Creates appropriate launch data for | 27 // Launches the platform app |extension|. Creates appropriate launch data for |
26 // the |command_line| fields present. |extension| and |profile| must not be | 28 // the |command_line| fields present. |extension| and |profile| must not be |
27 // NULL. An empty |command_line| means there is no launch data. If non-empty, | 29 // NULL. An empty |command_line| means there is no launch data. If non-empty, |
28 // |current_directory| is used to expand any relative paths on the command line. | 30 // |current_directory| is used to expand any relative paths on the command line. |
| 31 // |source| is one of the enumerated values which trace how the app is launched. |
29 void LaunchPlatformAppWithCommandLine(Profile* profile, | 32 void LaunchPlatformAppWithCommandLine(Profile* profile, |
30 const extensions::Extension* extension, | 33 const extensions::Extension* extension, |
31 const base::CommandLine& command_line, | 34 const base::CommandLine& command_line, |
32 const base::FilePath& current_directory); | 35 const base::FilePath& current_directory, |
| 36 extensions::AppLaunchSource source); |
33 | 37 |
34 // Launches the platform app |extension| by issuing an onLaunched event | 38 // Launches the platform app |extension| by issuing an onLaunched event |
35 // with the contents of |file_path| available through the launch data. | 39 // with the contents of |file_path| available through the launch data. |
36 void LaunchPlatformAppWithPath(Profile* profile, | 40 void LaunchPlatformAppWithPath(Profile* profile, |
37 const extensions::Extension* extension, | 41 const extensions::Extension* extension, |
38 const base::FilePath& file_path); | 42 const base::FilePath& file_path); |
39 | 43 |
40 // Launches the platform app |extension| with no launch data. | 44 // Launches the platform app |extension|. |source| tells us how the app is |
| 45 // launched. |
41 void LaunchPlatformApp(Profile* profile, | 46 void LaunchPlatformApp(Profile* profile, |
42 const extensions::Extension* extension); | 47 const extensions::Extension* extension, |
| 48 extensions::AppLaunchSource source); |
43 | 49 |
44 // Launches the platform app |extension| with |handler_id| and the contents of | 50 // Launches the platform app |extension| with |handler_id| and the contents of |
45 // |file_paths| available through the launch data. |handler_id| corresponds to | 51 // |file_paths| available through the launch data. |handler_id| corresponds to |
46 // the id of the file_handlers item in the manifest that resulted in a match | 52 // the id of the file_handlers item in the manifest that resulted in a match |
47 // that triggered this launch. | 53 // that triggered this launch. |
48 void LaunchPlatformAppWithFileHandler( | 54 void LaunchPlatformAppWithFileHandler( |
49 Profile* profile, | 55 Profile* profile, |
50 const extensions::Extension* extension, | 56 const extensions::Extension* extension, |
51 const std::string& handler_id, | 57 const std::string& handler_id, |
52 const std::vector<base::FilePath>& file_paths); | 58 const std::vector<base::FilePath>& file_paths); |
53 | 59 |
54 // Launches the platform app |extension| with |handler_id|, |url| and | 60 // Launches the platform app |extension| with |handler_id|, |url| and |
55 // |referrer_url| available through the launch data. |handler_id| corresponds to | 61 // |referrer_url| available through the launch data. |handler_id| corresponds to |
56 // the id of the file_handlers item in the manifest that resulted in a match | 62 // the id of the file_handlers item in the manifest that resulted in a match |
57 // that triggered this launch. | 63 // that triggered this launch. |
58 void LaunchPlatformAppWithUrl(Profile* profile, | 64 void LaunchPlatformAppWithUrl(Profile* profile, |
59 const extensions::Extension* extension, | 65 const extensions::Extension* extension, |
60 const std::string& handler_id, | 66 const std::string& handler_id, |
61 const GURL& url, | 67 const GURL& url, |
62 const GURL& referrer_url); | 68 const GURL& referrer_url); |
63 | 69 |
64 void RestartPlatformApp(Profile* profile, | 70 void RestartPlatformApp(Profile* profile, |
65 const extensions::Extension* extension); | 71 const extensions::Extension* extension); |
66 | 72 |
67 } // namespace apps | 73 } // namespace apps |
68 | 74 |
69 #endif // APPS_LAUNCHER_H_ | 75 #endif // APPS_LAUNCHER_H_ |
OLD | NEW |