Index: chrome/common/extensions/api/experimental_media_galleries.idl |
diff --git a/chrome/common/extensions/api/experimental_media_galleries.idl b/chrome/common/extensions/api/experimental_media_galleries.idl |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae42828bc94c6b08b75b65c5cd872089906e73c4 |
--- /dev/null |
+++ b/chrome/common/extensions/api/experimental_media_galleries.idl |
@@ -0,0 +1,53 @@ |
+// 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. |
+ |
+// File-level comment to appease parser. Eventually this will not be necessary. |
+ |
+namespace experimental.mediaGalleries { |
+ |
+ enum GetMediaFileSystemsInteractivity { |
+ silent, prompt, prompt_if_needed |
+ }; |
+ |
+ [inline_doc] dictionary MediaFileSystemsDetails { |
+ // Whether to prompt the user for additional media galleries before |
+ // returning the permitted set. Default is silent. |
+ GetMediaFileSystemsInteractivity? interactivity; |
+ }; |
+ |
+ dictionary AssembleMediaFileDetails { |
+ // TODO(estade): this should be [instanceOf=Blob]. |
+ object mediaFileContents; |
+ |
+ // TODO(estade): this should be [instanceOf=Metafile]. |
+ object metadata; |
+ }; |
+ |
+ // TODO(estade): the type of the argument should be LocalFileSystem[]. |
+ callback MediaFileSystemsCallback = void (object mediaFileSystems); |
+ callback AssembleMediaFileCallback = |
+ void ([instanceOf=Blob] optional object mediaFile); |
+ |
+ interface Functions { |
+ // Get the media galleries configured in this user agent. If none are |
+ // configured or available, the callback will receive an empty array. |
+ static void getMediaFileSystems(optional MediaFileSystemsDetails details, |
+ MediaFileSystemsCallback callback); |
+ |
+ // Create a new MediaFile setting the metadata in the Blob to the supplied |
+ // values, overriding any existing metadata in the media file. If user agent |
+ // does not recognize the Blob as a supported file format, it will fail. |
+ static void assembleMediaFile(AssembleMediaFileDetails details, |
+ AssembleMediaFileCallback callback); |
+ |
+ // Get any thumbnails contained in the passed media file. The resulting |
+ // directory reader refers to a virtual directory that can not be navigated |
+ // to. If there are no thumbnails in the passed file entry, the virtual |
+ // directory will have no entries. |
+ // TODO(estade): The return type should be Directory. The argument type |
+ // should be [instanceOf=FileEntry]. |
+ [nocompile] static object extractEmbeddedThumbnails(object mediaFile); |
+ }; |
+ |
+}; |