| Index: components/arc/common/file_system.mojom
|
| diff --git a/components/arc/common/file_system.mojom b/components/arc/common/file_system.mojom
|
| index 403e0c76ca043332fa0a6e77fd6d85fefd03f662..de13a030d0099265c5fd65fb27f39bfade747812 100644
|
| --- a/components/arc/common/file_system.mojom
|
| +++ b/components/arc/common/file_system.mojom
|
| @@ -2,14 +2,67 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| //
|
| -// Next MinVersion: 2
|
| +// Next MinVersion: 3
|
|
|
| module arc.mojom;
|
|
|
| -// Next method ID: 3
|
| +// Represents a document in Android DocumentsProvider.
|
| +// See Android docs of DocumentsContract.Document for details.
|
| +struct Document {
|
| + // Opaque ID of the document.
|
| + string document_id;
|
| +
|
| + // Display name of the document.
|
| + string display_name;
|
| +
|
| + // MIME type of the document.
|
| + // A directory is represented by a document having MIME_TYPE_DIR MIME type.
|
| + string mime_type;
|
| +
|
| + // Size of the document in bytes. If the size is unknown, -1 is set.
|
| + int64 size;
|
| +
|
| + // Timestamp when the document was modified last time, in milliseconds
|
| + // since UNIX epoch.
|
| + // TODO(crbug.com/672737): Use mojo.common.mojom.Time once the type is
|
| + // converted to a non-native type so that it can be used from Java.
|
| + uint64 last_modified;
|
| +};
|
| +
|
| +// Next method ID: 5
|
| interface FileSystemInstance {
|
| + // Notes about Android Documents Provider:
|
| + //
|
| + // In Android Storage Access Framework, a document is uniquely identified by
|
| + // a pair of "authority" and "document ID".
|
| + //
|
| + // - An authority specifies a Documents Provider that serves a document.
|
| + // It is the origin part of a content:// URI used to access the Documents
|
| + // Provider via Content Resolver protocol.
|
| + // Example: "com.android.providers.media.documents"
|
| + // - A document ID is an opaque string that specifies a particular document
|
| + // in a documents provider. Its format varies by providers.
|
| + //
|
| + // See the following documents for details about Documents Provider:
|
| + // https://developer.android.com/guide/topics/providers/document-provider.html
|
| + // https://developer.android.com/reference/android/provider/DocumentsContract.html
|
| +
|
| + // Queries child documents of the directory specified by |authority| and
|
| + // |parent_document_id| in Documents Provider.
|
| + // If such a directory does not exist, null is returned.
|
| + [MinVersion=2] GetChildDocuments@4(string authority,
|
| + string parent_document_id) =>
|
| + (array<Document>? documents);
|
| +
|
| + // Queries the document specified by |authority| and |document_id| in
|
| + // Documents Provider.
|
| + // If such a document does not exist, null is returned.
|
| + [MinVersion=2] GetDocument@3(string authority, string document_id) =>
|
| + (Document? document);
|
| +
|
| // Asks the ContentResolver for the size of the file specified by the URL.
|
| - // If the file does not exist or the size is unknown, -1 is returned.
|
| + // If the file does not exist or the size is unknown (e.g. directories and
|
| + // streams), -1 is returned.
|
| [MinVersion=1] GetFileSize@1(string url) => (int64 size);
|
|
|
| // Asks the ContentResolver to get a FD to read the file specified by the
|
|
|