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

Side by Side Diff: chrome/common/extensions/docs/examples/api/fileSystemProvider/archive/background.js

Issue 1138503005: Fix examples for File System Provider API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added missing callbacks. 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
« no previous file with comments | « no previous file | chrome/common/extensions/docs/examples/api/fileSystemProvider/archive/example1.fake » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 'use strict'; 5 'use strict';
6 6
7 // Metadata is stored in files as serialized to JSON maps. See contents of 7 // Metadata is stored in files as serialized to JSON maps. See contents of
8 // example1.fake and example2.fake. 8 // example1.fake and example2.fake.
9 9
10 // Multiple volumes can be opened at the same time. The key is the 10 // Multiple volumes can be opened at the same time. The key is the
(...skipping 23 matching lines...) Expand all
34 34
35 function onUnmountRequested(options, onSuccess, onError) { 35 function onUnmountRequested(options, onSuccess, onError) {
36 if (Object.keys(volumes[options.fileSystemId].openedFiles).length != 0) { 36 if (Object.keys(volumes[options.fileSystemId].openedFiles).length != 0) {
37 onError('IN_USE'); 37 onError('IN_USE');
38 return; 38 return;
39 } 39 }
40 40
41 chrome.fileSystemProvider.unmount( 41 chrome.fileSystemProvider.unmount(
42 {fileSystemId: options.fileSystemId}, 42 {fileSystemId: options.fileSystemId},
43 function() { 43 function() {
44 if (chrome.runtime.lastError) {
45 onError(chrome.runtime.lastError.message);
46 return;
47 }
44 delete volumes[options.fileSystemId]; 48 delete volumes[options.fileSystemId];
45 saveState(); // Remove volume from local storage state. 49 saveState(); // Remove volume from local storage state.
46 onSuccess(); 50 onSuccess();
47 },
48 function() {
49 onError('FAILED');
50 }); 51 });
51 }; 52 };
52 53
53 function onGetMetadataRequested(options, onSuccess, onError) { 54 function onGetMetadataRequested(options, onSuccess, onError) {
54 restoreState(options.fileSystemId, function () { 55 restoreState(options.fileSystemId, function () {
55 var entryMetadata = 56 var entryMetadata =
56 volumes[options.fileSystemId].metadata[options.entryPath]; 57 volumes[options.fileSystemId].metadata[options.entryPath];
57 if (!entryMetadata) 58 if (!entryMetadata)
58 error('NOT_FOUND'); 59 error('NOT_FOUND');
59 else 60 else
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 event.items.forEach(function(item) { 196 event.items.forEach(function(item) {
196 readMetadataFromFile(item.entry, 197 readMetadataFromFile(item.entry,
197 function(metadata) { 198 function(metadata) {
198 // Mount the volume and save its information in local storage 199 // Mount the volume and save its information in local storage
199 // in order to be able to recover the metadata in case of 200 // in order to be able to recover the metadata in case of
200 // restarts, system crashes, etc. 201 // restarts, system crashes, etc.
201 chrome.fileSystem.getDisplayPath(item.entry, function(displayPath) { 202 chrome.fileSystem.getDisplayPath(item.entry, function(displayPath) {
202 volumes[displayPath] = new Volume(item.entry, metadata); 203 volumes[displayPath] = new Volume(item.entry, metadata);
203 chrome.fileSystemProvider.mount( 204 chrome.fileSystemProvider.mount(
204 {fileSystemId: displayPath, displayName: item.entry.name}, 205 {fileSystemId: displayPath, displayName: item.entry.name},
205 function() { saveState(); }, 206 function() {
206 function() { console.error('Failed to mount.'); }); 207 if (chrome.runtime.lastError) {
208 console.error('Failed to mount because of: ' +
209 chrome.runtime.lastError.message);
210 return;
211 };
212 saveState();
213 });
207 }); 214 });
208 }, 215 },
209 function(error) { 216 function(error) {
210 console.error(error); 217 console.error(error);
211 }); 218 });
212 }); 219 });
213 }); 220 });
214 221
215 // Event called on a profile startup. 222 // Event called on a profile startup.
216 chrome.runtime.onStartup.addListener(function () { 223 chrome.runtime.onStartup.addListener(function () {
(...skipping 21 matching lines...) Expand all
238 chrome.fileSystemProvider.onGetMetadataRequested.addListener( 245 chrome.fileSystemProvider.onGetMetadataRequested.addListener(
239 onGetMetadataRequested); 246 onGetMetadataRequested);
240 chrome.fileSystemProvider.onReadDirectoryRequested.addListener( 247 chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
241 onReadDirectoryRequested); 248 onReadDirectoryRequested);
242 chrome.fileSystemProvider.onOpenFileRequested.addListener( 249 chrome.fileSystemProvider.onOpenFileRequested.addListener(
243 onOpenFileRequested); 250 onOpenFileRequested);
244 chrome.fileSystemProvider.onCloseFileRequested.addListener( 251 chrome.fileSystemProvider.onCloseFileRequested.addListener(
245 onCloseFileRequested); 252 onCloseFileRequested);
246 chrome.fileSystemProvider.onReadFileRequested.addListener( 253 chrome.fileSystemProvider.onReadFileRequested.addListener(
247 onReadFileRequested); 254 onReadFileRequested);
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/docs/examples/api/fileSystemProvider/archive/example1.fake » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698