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 98fb729224ec85660984670e94cf192f1b20e66a..bf72ad677b6bc42316ad14a4b3763e4314c48864 100644 |
--- a/chrome/common/extensions/api/file_browser_private.json |
+++ b/chrome/common/extensions/api/file_browser_private.json |
@@ -343,6 +343,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 before starting the copy operation, END_ENTRY_COPY is fired for each entry after ending the copy operation. PROGRESS is fired periodically during copy. 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 in that directory is now being copied." |
satorux1
2013/08/27 08:24:34
what file -> what file/directory because a direct
hidehiko
2013/08/27 09:21:35
Done.
|
+ }, |
+ "size": { |
+ "type": "number", |
+ "optional": true, |
+ "description": "Number of processed bytes for the entry 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." |
satorux1
2013/08/27 08:24:34
Please document that this field is always zero for
hidehiko
2013/08/27 09:21:35
Changed "the entry" -> "the file".
PROGRESS should
satorux1
2013/08/27 09:50:04
Hmm, i thought we wanted PROGRESS for directories.
hidehiko
2013/08/27 09:56:43
BEGIN_ENTRY_COPY and END_ENTRY_COPY are fired for
satorux1
2013/08/28 02:29:00
That makes perfect sense. I forgot about the BEGIN
|
+ }, |
+ "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.", |
@@ -837,6 +864,52 @@ |
] |
}, |
{ |
+ "name": "startCopy", |
+ "description": "Starts to copy an entry. If the source is directory, the copy is done recursively.", |
+ "parameters": [ |
+ { |
+ "name": "sourceUrl", |
+ "type": "string", |
+ "description": "URL of the source entry to be copied." |
+ }, |
+ { |
+ "name": "targetUrl", |
+ "type": "string", |
+ "description": "URL of the destination location." |
+ }, |
+ { |
+ "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": [ |
@@ -1201,6 +1274,45 @@ |
} |
] |
}, |
+ // 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", |