| Index: chrome/common/extensions/api/file_browser_private.json
|
| diff --git a/chrome/common/extensions/api/file_browser_private.json b/chrome/common/extensions/api/file_browser_private.json
|
| index fb6588ad9355b0177937c66f7eb9f25be1dbea6a..3ddd6b260aa0ff274700c513d5ad9113052128e4 100644
|
| --- a/chrome/common/extensions/api/file_browser_private.json
|
| +++ b/chrome/common/extensions/api/file_browser_private.json
|
| @@ -322,6 +322,33 @@
|
| }
|
| },
|
| {
|
| + "id": "CopyProgressStatus",
|
| + "type": "object",
|
| + "description": "Payload data for copy status progress updates.",
|
| + "properties": {
|
| + "type": {
|
| + "type": "string",
|
| + "enum": ["begin_entry_copy", "end_entry_copy", "progress", "success", "error"],
|
| + "description": "The type of the progress event. \"begin_entry_copy\" is fired for each entry (file or directory) before starting the copy operation, \"end_entry_copy\" is fired for each entry (file or directory) after ending the copy operation. \"progress\" is fired periodically to report progress of a file copy (not directory). \"success\" is fired after all entries are copied. \"error\" is fired when an error occurs."
|
| + },
|
| + "url": {
|
| + "type": "string",
|
| + "optional": true,
|
| + "description": "URL for the entry currently being copied. This field is particularly useful when a directory copy is initiated with startCopy(). The field tells what file/directory in that directory is now being copied."
|
| + },
|
| + "size": {
|
| + "type": "number",
|
| + "optional": true,
|
| + "description": "Number of processed bytes for the file currently being copied. Available only for \"progress\" event. To show the progress bar, a caller needs to pre-compute the size of files being copied for the file (not directory)."
|
| + },
|
| + "error": {
|
| + "type": "integer",
|
| + "optional": true,
|
| + "description": "FileError's code of the error. Available only for ERROR event."
|
| + }
|
| + }
|
| + },
|
| + {
|
| "id": "FileTransferCancelStatus",
|
| "type": "object",
|
| "description": "Payload data for file transfer cancel response.",
|
| @@ -794,6 +821,57 @@
|
| ]
|
| },
|
| {
|
| + "name": "startCopy",
|
| + "description": "Starts to copy an entry. If the source is a directory, the copy is done recursively.",
|
| + "parameters": [
|
| + {
|
| + "name": "sourceUrl",
|
| + "type": "string",
|
| + "description": "URL of the source entry to be copied."
|
| + },
|
| + {
|
| + "name": "parent",
|
| + "type": "string",
|
| + "description": "URL of the destination directory."
|
| + },
|
| + {
|
| + "name": "newName",
|
| + "type": "string",
|
| + "description": "Name of the new entry. It shouldn't contain '/'."
|
| + },
|
| + {
|
| + "name": "callback",
|
| + "type": "function",
|
| + "description": "Completion callback.",
|
| + "parameters": [
|
| + {
|
| + "name": "copyId",
|
| + "type": "integer",
|
| + "description": "ID of the copy task. Can be used to identify the progress, and to cancel the task."
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| + },
|
| + {
|
| + "name": "cancelCopy",
|
| + "description": "Cancels the running copy task.",
|
| + "parameters": [
|
| + {
|
| + "name": "copyId",
|
| + "type": "integer",
|
| + "description": "ID of the copy task to be cancelled."
|
| + },
|
| + {
|
| + "name": "callback",
|
| + "type": "function",
|
| + "optional": true,
|
| + "description": "Completion callback of the cancel.",
|
| + "parameters": []
|
| + }
|
| + ]
|
| + },
|
| + {
|
| "name": "setLastModified",
|
| "description": "Updates last modified to specified time in seconds",
|
| "parameters": [
|
| @@ -1160,6 +1238,50 @@
|
| }
|
| ]
|
| },
|
| + // Here is an example of onCopyProgress:
|
| + // Suppose a/b/c.txt (100bytes) and a/b/d.txt (200bytes), and trying to
|
| + // copy a to x recursively. The events will be:
|
| + //
|
| + // begin_entry_copy a
|
| + // <create empty directory x/a>
|
| + // end_entry_copy a
|
| + //
|
| + // begin_entry_copy a/b
|
| + // <create empty directory x/a/b>
|
| + // end_entry_copy a/b
|
| + //
|
| + // begin_entry_copy a/b/c.txt
|
| + // progress a/b/c.txt 0
|
| + // progress a/b/c.txt 10
|
| + // :
|
| + // progress a/b/c.txt 100
|
| + // end_entry_copy a/b/c.txt
|
| + //
|
| + // begin_entry_copy a/b/d.txt
|
| + // progress a/b/d.txt 0
|
| + // progress a/b/d.txt 10
|
| + // :
|
| + // progress a/b/d.txt 200
|
| + // end_entry_copy a/b/d.txt
|
| + //
|
| + // success x/a
|
| + {
|
| + "name": "onCopyProgress",
|
| + "type": "function",
|
| + "description": "Periodically fired during a copy task to report its progress update.",
|
| + "parameters": [
|
| + {
|
| + "type": "integer",
|
| + "name": "copyId",
|
| + "description": "Id of the copy task of this progress update."
|
| + },
|
| + {
|
| + "$ref": "CopyProgressStatus",
|
| + "name": "status",
|
| + "description": "Progress update status."
|
| + }
|
| + ]
|
| + },
|
| {
|
| "name": "onDirectoryChanged",
|
| "type": "function",
|
|
|