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

Side by Side Diff: chrome/common/extensions/docs/templates/intros/fileSystemProvider.html

Issue 1127273004: Update documentation for "file_system_provider" manifest section. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed + merged with 1084283004 Created 5 years, 7 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 <h2 id="manifest">Manifest</h2> 1 <h2 id="manifest">Manifest</h2>
2 <p>You must declare the "fileSystemProvider" permission 2 <p>You must declare the "fileSystemProvider" permission and section
3 in the <a href="manifest">extension manifest</a> 3 in the <a href="manifest">extension manifest</a>
4 to use the File System Provider API. 4 to use the File System Provider API.
5 For example:</p> 5 For example:</p>
6 <pre data-filename="manifest.json"> 6 <pre data-filename="manifest.json">
7 { 7 {
8 "name": "My extension", 8 "name": "My {{?is_apps}}app{{:is_apps}}extension{{/is_apps}}",
not at google - send to devlin 2015/05/12 00:08:51 you should be able to use {{platform}} for this, i
mtomasz 2015/05/12 08:01:19 Done.
9 ... 9 ...
10 <b>"permissions": [ 10 "permissions": [
11 "fileSystemProvider" 11 "fileSystemProvider"
12 ]</b>, 12 ],
13 ...
14 "file_system_provider": [
15 "configurable": true,
16 "multiple_mounts": true,
17 "source": "network"
18 ],
13 ... 19 ...
14 } 20 }
15 </pre> 21 </pre>
16 22
23 <p class="api_reference">
24 The <code>file_system_provider</code> section must be declared as follows:
25 {{+partials.manifest_type
26 type:apis.extensions.manifestTypes.byName.FileSystemProviderCapabilities /}}
27 </p>
not at google - send to devlin 2015/05/12 00:08:51 It would be nice to mention somewhere what the dif
mtomasz 2015/05/12 08:01:19 UI is still evolving. Currently I added some short
28
17 <h2 id="overview">Overview</h2> 29 <h2 id="overview">Overview</h2>
18 <p> 30 <p>
19 File System Provider API allows extensions to support virtual file systems, 31 File System Provider API allows extensions to support virtual file systems,
20 which are available in the file manager on Chrome OS. 32 which are available in the file manager on Chrome OS.
21 Use cases include decompressing archives and accessing files in a cloud 33 Use cases include decompressing archives and accessing files in a cloud
22 service other than Drive. 34 service other than Drive.
23 </p> 35 </p>
24 36
25 <h2 id="archives">File handlers</h2> 37 <h2 id="archives">Mounting file systems</h2>
26 <p> 38 <p>
27 Provided file systems can either provide file system contents from an external 39 Providing extensions can either provide file system contents from an external
28 source (such as a remote server), or using a local file (such as an archive) as 40 source (such as a remote server or a USB device), or using a local file (such as
29 its input. 41 an archive) as its input.
30 </p> 42 </p>
31 <p> 43 <p>
32 In the second case, the providing extension should have a 44 {{?is_apps}}
45 For file handlers, the providing extension should have a
33 <a href="manifest/file_handlers">file_handlers</a> manifest entry in order 46 <a href="manifest/file_handlers">file_handlers</a> manifest entry in order
34 to be launched when the file is selected in the file manager. 47 to be launched when the file is selected in the file manager.
35 When the extension is executed with a file to be handled, it has to mount a 48 When the extension is executed with a file to be handled, it has to mount a
36 file system and start serving contents from the provided file. 49 file system and start serving contents from the provided file.
50 {{:is_apps}}
51 In order to write file systems which are file handlers (source is <code>"file"
not at google - send to devlin 2015/05/12 00:08:51 Try to get the "file" part on a single line, like
52 </code>) the provider must be a packaged app, as the <code>onLaunched</code>
not at google - send to devlin 2015/05/12 00:08:51 provide the full path to onLaunched, to make it cl
mtomasz 2015/05/12 08:01:19 Could you clarify?
not at google - send to devlin 2015/05/12 20:58:34 I mean that onLaunched is an event in chrome.app.r
53 event is not available to extensions.
54 {{/is_apps}}
55 </p>
56 <p>
57 If the source is network or a device, then the file system should be mounted
58 when $(ref:onMountRequested) event is called.
59 </p>
60 <p>
61 <table id="source-table">
62 <tr>
63 <th>
64 <a href="#property-options-source">Source</a> of the file system data
65 </th>
66 <th>Entry point</th>
67 </tr>
68 <tr>
69 <td>
70 <code>"file"</code>
71 </td>
72 <td>
73 {{?is_apps}}
74 $(ref:app.runtime.onLaunched)
75 {{:is_apps}}
76 Available to <a href="/apps/fileSystemProvider#source-table">packaged
77 apps</a> only.
78 {{/is_apps}}
79 </td>
80 </tr>
81 <tr>
82 <td>
83 <code>"device"</code> or <code>"network"</code>
84 </td>
85 <td>
86 $(ref:onMountRequested)
87 </td>
88 </tr>
89 </table>
90 </p>
91
92 <h2 id="archives">Configuring file systems</h2>
93 <p>
94 Provided file systems once mounted can be configured via the
95 $(ref:onConfigureRequested) event. It's especially useful for file systems which
96 provide contents via network in order to set proper credentials. Handling this
97 event is optional.
37 </p> 98 </p>
38 99
39 <h2 id="archives">Life cycle</h2> 100 <h2 id="archives">Life cycle</h2>
40 <p> 101 <p>
41 Provided file systems once mounted are remembered by Chrome and remounted 102 Provided file systems once mounted are remembered by Chrome and remounted
42 automatically after reboot or restart. Hence, once a file system is 103 automatically after reboot or restart. Hence, once a file system is
43 <a href="method-mount">mounted</a> by a providing extension, it will stay until 104 <a href="#method-mount">mounted</a> by a providing extension, it will stay until
44 either the extension is unloaded, or the extension calls the 105 either the extension is unloaded, or the extension calls the
45 <a href="#method-unmount"> unmount</a> method. 106 $(ref:unmount) method.
46 </p> 107 </p>
108 {{?is_apps}}
47 <p> 109 <p>
48 In case of acting as a file handler, the handled file may need to be stored 110 In case of acting as a file handler, the handled file may need to be stored
49 to access it after either a reboot, or suspending and resuming an event page 111 to access it after either a reboot, or suspending and resuming an event page
50 of the providing extension. In such case 112 of the providing extension. In such case $(ref:fileSystem.retainEntry) and
51 <a href="fileSystem#method-retainEntry">chrome.fileSystem.retainEntry</a> and 113 $(ref:fileSystem.restoreEntry) should be used.
52 <a href="fileSystem#method-restoreEntry">chrome.fileSystem.restoreEntry</a>
53 should be used.
54 </p> 114 </p>
115 {{/is_apps}}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698