OLD | NEW |
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 // Use the <code>chrome.app.runtime</code> API to manage the app lifecycle. | 5 // Use the <code>chrome.app.runtime</code> API to manage the app lifecycle. |
6 // The app runtime manages app installation, controls the event page, and can | 6 // The app runtime manages app installation, controls the event page, and can |
7 // shut down the app at anytime. | 7 // shut down the app at anytime. |
8 namespace app.runtime { | 8 namespace app.runtime { |
9 | 9 |
10 [inline_doc] dictionary LaunchItem { | 10 [inline_doc] dictionary LaunchItem { |
11 // FileEntry for the file. | 11 // FileEntry for the file. |
12 [instanceOf=FileEntry] object entry; | 12 [instanceOf=FileEntry] object entry; |
13 | 13 |
14 // The MIME type of the file. | 14 // The MIME type of the file. |
15 DOMString type; | 15 DOMString type; |
16 }; | 16 }; |
17 | 17 |
| 18 // Enumeration of app launch sources. |
| 19 enum LaunchSource { |
| 20 app_launcher, |
| 21 new_tab_page, |
| 22 reload, |
| 23 restart, |
| 24 load_and_launch, |
| 25 command_line, |
| 26 file_handler, |
| 27 url_handler, |
| 28 |
| 29 system_tray, |
| 30 about_page, |
| 31 keyboard |
| 32 }; |
| 33 |
18 // Optional data for the launch. Either <code>items</code>, or | 34 // Optional data for the launch. Either <code>items</code>, or |
19 // the pair (<code>url, referrerUrl</code>) can be present for any given | 35 // the pair (<code>url, referrerUrl</code>) can be present for any given |
20 // launch. | 36 // launch. |
21 [inline_doc] dictionary LaunchData { | 37 [inline_doc] dictionary LaunchData { |
22 // The ID of the file or URL handler that the app is being invoked with. | 38 // The ID of the file or URL handler that the app is being invoked with. |
23 // Handler IDs are the top-level keys in the <code>file_handlers</code> | 39 // Handler IDs are the top-level keys in the <code>file_handlers</code> |
24 // and/or <code>url_handlers</code> dictionaries in the manifest. | 40 // and/or <code>url_handlers</code> dictionaries in the manifest. |
25 DOMString? id; | 41 DOMString? id; |
26 | 42 |
27 // The file entries for the <code>onLaunched</code> event triggered by a | 43 // The file entries for the <code>onLaunched</code> event triggered by a |
28 // matching file handler in the <code>file_handlers</code> manifest key. | 44 // matching file handler in the <code>file_handlers</code> manifest key. |
29 LaunchItem[]? items; | 45 LaunchItem[]? items; |
30 | 46 |
31 // The URL for the <code>onLaunched</code> event triggered by a matching | 47 // The URL for the <code>onLaunched</code> event triggered by a matching |
32 // URL handler in the <code>url_handlers</code> manifest key. | 48 // URL handler in the <code>url_handlers</code> manifest key. |
33 DOMString? url; | 49 DOMString? url; |
34 | 50 |
35 // The referrer URL for the <code>onLaunched</code> event triggered by a | 51 // The referrer URL for the <code>onLaunched</code> event triggered by a |
36 // matching URL handler in the <code>url_handlers</code> manifest key. | 52 // matching URL handler in the <code>url_handlers</code> manifest key. |
37 DOMString? referrerUrl; | 53 DOMString? referrerUrl; |
38 | 54 |
39 // Whether the app is being launched in a <a | 55 // Whether the app is being launched in a <a |
40 // href="https://support.google.com/chromebook/answer/3134673">Chrome OS | 56 // href="https://support.google.com/chromebook/answer/3134673">Chrome OS |
41 // kiosk session</a>. | 57 // kiosk session</a>. |
42 boolean? isKioskSession; | 58 boolean? isKioskSession; |
| 59 |
| 60 // Where the app is launched from. |
| 61 LaunchSource? source; |
43 }; | 62 }; |
44 | 63 |
45 // This object specifies details and operations to perform on the embedding | 64 // This object specifies details and operations to perform on the embedding |
46 // request. The app to be embedded can make a decision on whether or not to | 65 // request. The app to be embedded can make a decision on whether or not to |
47 // allow the embedding and what to embed based on the embedder making the | 66 // allow the embedding and what to embed based on the embedder making the |
48 // request. | 67 // request. |
49 dictionary EmbedRequest { | 68 dictionary EmbedRequest { |
50 DOMString embedderId; | 69 DOMString embedderId; |
51 | 70 |
52 // Optional developer specified data that the app to be embedded can use | 71 // Optional developer specified data that the app to be embedded can use |
(...skipping 15 matching lines...) Expand all Loading... |
68 static void onEmbedRequested(EmbedRequest request); | 87 static void onEmbedRequested(EmbedRequest request); |
69 | 88 |
70 // Fired when an app is launched from the launcher. | 89 // Fired when an app is launched from the launcher. |
71 static void onLaunched(optional LaunchData launchData); | 90 static void onLaunched(optional LaunchData launchData); |
72 | 91 |
73 // Fired at Chrome startup to apps that were running when Chrome last shut | 92 // Fired at Chrome startup to apps that were running when Chrome last shut |
74 // down. | 93 // down. |
75 static void onRestarted(); | 94 static void onRestarted(); |
76 }; | 95 }; |
77 }; | 96 }; |
OLD | NEW |