media_galleries_custom_bindings.js revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Custom bindings for the Media Gallery API. 6 7var mediaGalleriesNatives = requireNative('mediaGalleries'); 8 9var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); 10 11chromeHidden.registerCustomHook('mediaGalleries', 12 function(bindingsAPI, extensionId) { 13 var apiFunctions = bindingsAPI.apiFunctions; 14 15 // getMediaFileSystems uses a custom callback so that it can instantiate and 16 // return an array of file system objects. 17 apiFunctions.setCustomCallback('getMediaFileSystems', 18 function(name, request, response) { 19 var result = null; 20 if (response) { 21 result = []; 22 for (var i = 0; i < response.length; i++) { 23 result.push(mediaGalleriesNatives.GetMediaFileSystemObject( 24 response[i].fsid, response[i].name)); 25 } 26 } 27 if (request.callback) 28 request.callback(result); 29 request.callback = null; 30 }); 31}); 32