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

Unified Diff: chrome/common/extensions/api/file_system.idl

Issue 2934143002: Move chrome.fileSystem implementation to //extensions (Closed)
Patch Set: rebase Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/api/BUILD.gn ('k') | extensions/browser/api/extensions_api_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/api/file_system.idl
diff --git a/chrome/common/extensions/api/file_system.idl b/chrome/common/extensions/api/file_system.idl
deleted file mode 100644
index 9ece58e9cfd7fcbde222d70c45e215d923e15bac..0000000000000000000000000000000000000000
--- a/chrome/common/extensions/api/file_system.idl
+++ /dev/null
@@ -1,234 +0,0 @@
-// Copyright (c) 2012 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 the <code>chrome.fileSystem</code> API to create, read, navigate,
-// and write to the user's local file system. With this API, Chrome Apps can
-// read and write to a user-selected location. For example, a text editor app
-// can use the API to read and write local documents. All failures are notified
-// via chrome.runtime.lastError.
-namespace fileSystem {
- dictionary AcceptOption {
- // This is the optional text description for this option. If not present,
- // a description will be automatically generated; typically containing an
- // expanded list of valid extensions (e.g. "text/html" may expand to
- // "*.html, *.htm").
- DOMString? description;
-
- // Mime-types to accept, e.g. "image/jpeg" or "audio/*". One of mimeTypes or
- // extensions must contain at least one valid element.
- DOMString[]? mimeTypes;
-
- // Extensions to accept, e.g. "jpg", "gif", "crx".
- DOMString[]? extensions;
- };
-
- enum ChooseEntryType {
-
- // Prompts the user to open an existing file and returns a FileEntry on
- // success. From Chrome 31 onwards, the FileEntry will be writable if the
- // application has the 'write' permission under 'fileSystem'; otherwise, the
- // FileEntry will be read-only.
- openFile,
-
- // Prompts the user to open an existing file and returns a writable
- // FileEntry on success. Calls using this type will fail with a runtime
- // error if the application doesn't have the 'write' permission under
- // 'fileSystem'.
- openWritableFile,
-
- // Prompts the user to open an existing file or a new file and returns a
- // writable FileEntry on success. Calls using this type will fail with a
- // runtime error if the application doesn't have the 'write' permission
- // under 'fileSystem'.
- saveFile,
-
- // Prompts the user to open a directory and returns a DirectoryEntry on
- // success. Calls using this type will fail with a runtime error if the
- // application doesn't have the 'directory' permission under 'fileSystem'.
- // If the application has the 'write' permission under 'fileSystem', the
- // returned DirectoryEntry will be writable; otherwise it will be read-only.
- // New in Chrome 31.
- openDirectory
- };
-
- // Type of a change happened to a child entry within a tracked directory.
- enum ChildChangeType {
- created,
- removed,
- changed
- };
-
- dictionary ChooseEntryOptions {
- // Type of the prompt to show. The default is 'openFile'.
- ChooseEntryType? type;
-
- // The suggested file name that will be presented to the user as the
- // default name to read or write. This is optional.
- DOMString? suggestedName;
-
- // The optional list of accept options for this file opener. Each option
- // will be presented as a unique group to the end-user.
- AcceptOption[]? accepts;
-
- // Whether to accept all file types, in addition to the options specified
- // in the accepts argument. The default is true. If the accepts field is
- // unset or contains no valid entries, this will always be reset to true.
- boolean? acceptsAllTypes;
-
- // Whether to accept multiple files. This is only supported for openFile and
- // openWritableFile. The callback to chooseEntry will be called with a list
- // of entries if this is set to true. Otherwise it will be called with a
- // single Entry.
- boolean? acceptsMultiple;
- };
-
- dictionary RequestFileSystemOptions {
- // The ID of the requested volume.
- DOMString volumeId;
-
- // Whether the requested file system should be writable. The default is
- // read-only.
- boolean? writable;
- };
-
- // Represents a mounted volume, which can be accessed via <code>chrome.
- // fileSystem.requestFileSystem</code>.
- dictionary Volume {
- DOMString volumeId;
- boolean writable;
- };
-
- // Change to an entry within a tracked directory.
- [nodoc] dictionary ChildChange {
- [instanceOf=Entry] object entry;
- ChildChangeType type;
- };
-
- // Event notifying about an inserted or a removed volume from the system.
- dictionary VolumeListChangedEvent {
- Volume[] volumes;
- };
-
- // Event notifying about a change in a file or a directory, including its
- // contents.
- [nodoc] dictionary EntryChangedEvent {
- // Tracked entry.
- [instanceOf=Entry] object target;
-
- // List of changed entries within the tracked directory in order they
- // happened. May not be available for some types of file systems.
- ChildChange[]? childChanges;
- };
-
- // Event notifying about a tracked file or a directory being removed.
- [nodoc] dictionary EntryRemovedEvent {
- [instanceOf=Entry] object target;
- };
-
- callback GetDisplayPathCallback = void (DOMString displayPath);
- callback EntryCallback = void ([instanceOf=Entry] object entry);
- callback EntriesCallback = void (
- [instanceOf=Entry] optional object entry,
- [instanceOf=FileEntry] optional object[] fileEntries);
- callback IsWritableCallback = void (boolean isWritable);
- callback IsRestorableCallback = void (boolean isRestorable);
- [nodoc] callback GetObservedEntriesCallback = void (
- [instanceOf=Entry] object[] entries);
- callback RequestFileSystemCallback = void(
- [instanceOf=FileSystem] optional object fileSystem);
- callback GetVolumeListCallback = void(optional Volume[] volumes);
-
- interface Functions {
- // Get the display path of an Entry object. The display path is based on
- // the full path of the file or directory on the local file system, but may
- // be made more readable for display purposes.
- static void getDisplayPath([instanceOf=Entry] object entry,
- GetDisplayPathCallback callback);
-
- // Get a writable Entry from another Entry. This call will fail with a
- // runtime error if the application does not have the 'write' permission
- // under 'fileSystem'. If entry is a DirectoryEntry, this call will fail if
- // the application does not have the 'directory' permission under
- // 'fileSystem'.
- static void getWritableEntry([instanceOf=Entry] object entry,
- EntryCallback callback);
-
- // Gets whether this Entry is writable or not.
- static void isWritableEntry([instanceOf=Entry] object entry,
- IsWritableCallback callback);
-
- // Ask the user to choose a file or directory.
- static void chooseEntry(optional ChooseEntryOptions options,
- EntriesCallback callback);
-
- // Returns the file entry with the given id if it can be restored. This call
- // will fail with a runtime error otherwise.
- static void restoreEntry(DOMString id, EntryCallback callback);
-
- // Returns whether the app has permission to restore the entry with the
- // given id.
- static void isRestorable(DOMString id, IsRestorableCallback callback);
-
- // Returns an id that can be passed to restoreEntry to regain access to a
- // given file entry. Only the 500 most recently used entries are retained,
- // where calls to retainEntry and restoreEntry count as use. If the app has
- // the 'retainEntries' permission under 'fileSystem', entries are retained
- // indefinitely. Otherwise, entries are retained only while the app is
- // running and across restarts.
- static DOMString retainEntry([instanceOf=Entry] object entry);
-
- // Requests access to a file system for a volume represented by <code>
- // options.volumeId</code>. If <code>options.writable</code> is set to true,
- // then the file system will be writable. Otherwise, it will be read-only.
- // The <code>writable</code> option requires the <code>
- // "fileSystem": {"write"}</code> permission in the manifest. Available to
- // kiosk apps running in kiosk session only. For manual-launch kiosk mode, a
- // confirmation dialog will be shown on top of the active app window.
- // In case of an error, <code>fileSystem</code> will be undefined, and
- // <code>chrome.runtime.lastError</code> will be set.
- static void requestFileSystem(RequestFileSystemOptions options,
- RequestFileSystemCallback callback);
-
- // Returns a list of volumes available for <code>requestFileSystem()</code>.
- // The <code>"fileSystem": {"requestFileSystem"}</code> manifest permission
- // is required. Available to kiosk apps running in the kiosk session only.
- // In case of an error, <code>volumes</code> will be undefined, and <code>
- // chrome.runtime.lastError</code> will be set.
- static void getVolumeList(GetVolumeListCallback callback);
-
- // Observes a directory entry. Emits an event if the tracked directory is
- // changed (including the list of files on it), or removed. If <code>
- // recursive</code> is set to true, then also all accessible subdirectories
- // will be tracked. Observers are automatically removed once the extension
- // is closed or suspended, unless <code>entry</code> is retained using
- // <code>chrome.fileSystem.retainEntry</code>.
- //
- // In such case of retained entries, the observer stays active across
- // restarts until <code>unobserveEntry</code> is explicitly called. Note,
- // that once the <code>entry</code> is not retained anymore, the observer
- // will be removed automatically. Observed entries are also automatically
- // restored when either <code>getObservers</code> is called, or an observing
- // event for it is invoked.
- [nodoc] static void observeDirectory(
- [instanceOf=DirectoryEntry] object entry,
- optional boolean recursive);
-
- // Unobserves a previously observed either a file or a directory.
- [nodoc] static void unobserveEntry([instanceOf=Entry] object entry);
-
- // Lists all observed entries.
- [nodoc] static void getObservedEntries(GetObservedEntriesCallback callback);
- };
-
- interface Events {
- // Called when a list of available volumes is changed.
- static void onVolumeListChanged(VolumeListChangedEvent event);
-
- // Called when an observed entry is changed.
- [nodoc] static void onEntryChanged(EntryChangedEvent event);
-
- // Called when an observed entry is removed.
- [nodoc] static void onEntryRemoved(EntryRemovedEvent event);
- };
-};
« no previous file with comments | « chrome/common/extensions/api/BUILD.gn ('k') | extensions/browser/api/extensions_api_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698