Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / templates / intros / fileSystemProvider.html
1 <p class="caution">
2 <b>Important:</b>
3 This API works <b>only on Chrome OS</b>.
4 </p>
5
6 <h2 id="manifest">Manifest</h2>
7 <p>You must declare the "fileSystemProvider" permission
8 in the <a href="manifest">extension manifest</a>
9 to use the File System Provider API.
10 For example:</p>
11 <pre data-filename="manifest.json">
12 {
13   "name": "My extension",
14   ...
15   <b>"permissions": [
16     "fileSystemProvider"
17   ]</b>,
18   ...
19 }
20 </pre>
21
22 <h2 id="overview">Overview</h2>
23 <p>
24 File System Provider API allows extensions to support virtual file systems,
25 which are available in the file manager on Chrome OS.
26 Use cases include decompressing archives and accessing files in a cloud
27 service other than Drive.
28 </p>
29
30 <h2 id="archives">File handlers</h2>
31 <p>
32 Provided file systems can either provide file system contents from an external
33 source (such as a remote server), or using a local file (such as an archive) as
34 its input.
35 </p>
36 <p>
37 In the second case, the providing extension should have a
38 <a href="manifest/file_handlers">file_handlers</a> manifest entry in order
39 to be launched when the file is selected in the file manager.
40 When the extension is executed with a file to be handled, it has to mount a
41 file system and start serving contents from the provided file.
42 </p>
43
44 <h2 id="archives">Life cycle</h2>
45 <p>
46 Provided file systems once mounted are remembered by Chrome and remounted
47 automatically after reboot or restart. Hence, once a file system is
48 <a href="method-mount">mounted</a> by a providing extension, it will stay until
49 either the extension is unloaded, or the extension calls the
50 <a href="#method-unmount"> unmount</a> method.
51 </p>
52 <p>
53 In case of acting as a file handler, the handled file may need to be stored
54 to access it after either a reboot, or suspending and resuming an event page
55 of the providing extension. In such case
56 <a href="fileSystem#method-retainEntry">chrome.fileSystem.retainEntry</a> and
57 <a href="fileSystem#method-restoreEntry">chrome.fileSystem.restoreEntry</a>
58 should be used.
59 </p>