| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| 'use strict'; |
| |
| var dialogSettings = {}; |
| |
| function mountFileSystem(onSuccess, onError) { |
| chrome.fileSystemProvider.getAll(function(mounted) { |
| var index = mounted.length + 1; |
| chrome.fileSystemProvider.mount({ |
| fileSystemId: 'test-fs-' + index, |
| displayName: 'Test (' + index + ')' |
| }); |
| }); |
| } |
| |
| chrome.fileSystemProvider.onGetMetadataRequested.addListener( |
| function(options, onSuccess, onError) { |
| onSuccess({ |
| isDirectory: true, |
| name: '', |
| size: 0, |
| modificationTime: new Date() |
| }); |
| }); |
| |
| chrome.fileSystemProvider.onReadDirectoryRequested.addListener( |
| function(options, onSuccess, onError) { |
| onSuccess([], false /* hasMore */); |
| }); |
| |
| chrome.fileSystemProvider.onMountRequested.addListener(mountFileSystem); |
| |
| chrome.fileSystemProvider.onUnmountRequested.addListener( |
| function(options, onSuccess, onError) { |
| chrome.fileSystemProvider.unmount( |
| { |
| fileSystemId: options.fileSystemId |
| }, |
| function() { |
| if (chrome.runtime.lastError) |
| onError(chrome.runtime.lastError.message); |
| else |
| onSuccess(); |
| }); |
| }); |
| |
| chrome.fileSystemProvider.onGetActionsRequested.addListener( |
| function(options, onSuccess, onError) { |
| onSucces([]); |
| }); |
| |
| // If the manifest for device or file source is used, then mount a fake file |
| // system on install. |
| if (chrome.runtime.getManifest().name === "Testing Provider Device" || |
| chrome.runtime.getManifest().name === "Testing Provider File") { |
| chrome.runtime.onInstalled.addListener(mountFileSystem); |
| } |