Index: chrome/renderer/resources/extensions/experimental.media_galleries_custom_bindings.js |
diff --git a/chrome/renderer/resources/extensions/experimental.media_galleries_custom_bindings.js b/chrome/renderer/resources/extensions/experimental.media_galleries_custom_bindings.js |
index 07b33d46065e1db756477000b15b36c8fddff232..e945a773d009c4d93399f5c11021a75b98bd64b0 100644 |
--- a/chrome/renderer/resources/extensions/experimental.media_galleries_custom_bindings.js |
+++ b/chrome/renderer/resources/extensions/experimental.media_galleries_custom_bindings.js |
@@ -4,7 +4,7 @@ |
// Custom bindings for the Media Gallery API. |
-var mediaGalleriesNatives = requireNative('mediaGalleries'); |
+var mediaGalleriesNatives = requireNative('experimental_mediaGalleries'); |
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
@@ -12,6 +12,23 @@ chromeHidden.registerCustomHook('experimental.mediaGalleries', |
function(bindingsAPI, extensionId) { |
var apiFunctions = bindingsAPI.apiFunctions; |
+ // getMediaFileSystems uses a custom callback so that it can instantiate and |
+ // return an array of file system objects. |
+ apiFunctions.setCustomCallback('getMediaFileSystems', |
+ function(name, request, response) { |
+ var result = null; |
+ if (response) { |
+ result = []; |
+ for (var i = 0; i < response.length; i++) { |
+ result.push(mediaGalleriesNatives.GetMediaFileSystemObject( |
+ response[i].fsid, response[i].name)); |
+ } |
+ } |
+ if (request.callback) |
+ request.callback(result); |
+ request.callback = null; |
+ }); |
+ |
// extractEmbeddedThumbnails uses a renderer side handler so that it can |
// synchronously return a result. The result object's state is computable |
// from the function's input. |