| Index: chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js | 
| diff --git a/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js b/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js | 
| index 70e1c250a7836cd88138273a328e1651feb32f8d..2973f8d411de91c187b8f5da741fde91b5aed6f2 100644 | 
| --- a/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js | 
| +++ b/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js | 
| @@ -22,8 +22,8 @@ function getFileSystem(volumeType) { | 
| for (var i = 0; i < list.length; i++) { | 
| if (list[i].volumeType == volumeType) { | 
| return new Promise(function(fulfill) { | 
| -          chrome.fileManagerPrivate.requestFileSystem( | 
| -              list[i].volumeId, fulfill); | 
| +          chrome.fileSystem.requestFileSystem( | 
| +              {volumeId: list[i].volumeId, writable: true}, fulfill); | 
| }); | 
| } | 
| } | 
| @@ -103,59 +103,78 @@ function testPromise(promise) { | 
| /** | 
| * Calls the executeTask API with the entries and checks the launch data passed | 
| * to onLaunched events. | 
| - * @param {entries} entries Entries to be tested. | 
| + * @param {Array<Entry>} isolatedEntries Entries to be tested. | 
| * @return {Promise} Promise to be fulfilled on success. | 
| */ | 
| -function launchWithEntries(entries) { | 
| -  var urls = entries.map(function(entry) { return entry.toURL(); }); | 
| -  var tasksPromise = new Promise(function(fulfill) { | 
| -    chrome.fileManagerPrivate.getFileTasks(urls, fulfill); | 
| -  }).then(function(tasks) { | 
| -    chrome.test.assertEq(1, tasks.length); | 
| -    chrome.test.assertEq('kidcpjlbjdmcnmccjhjdckhbngnhnepk|app|textAction', | 
| -                         tasks[0].taskId); | 
| -    return tasks[0]; | 
| -  }); | 
| -  var launchDataPromise = new Promise(function(fulfill) { | 
| -    chrome.app.runtime.onLaunched.addListener(function handler(launchData) { | 
| -      chrome.app.runtime.onLaunched.removeListener(handler); | 
| -      fulfill(launchData); | 
| -    }); | 
| -  }); | 
| -  var taskExecutedPromise = tasksPromise.then(function(task) { | 
| -    return new Promise(function(fulfill, reject) { | 
| -      chrome.fileManagerPrivate.executeTask( | 
| -          task.taskId, | 
| -          urls, | 
| -          function(result) { | 
| -            if (result) | 
| -              fulfill(); | 
| -            else | 
| -              reject(); | 
| +function launchWithEntries(isolatedEntries) { | 
| +  // TODO(mtomasz): Remove this hack once chrome.FileManager API can work on | 
| +  // isolated entries. | 
| +  return new Promise( | 
| +      function(fulfill, reject) { | 
| +        chrome.fileManagerPrivate.resolveIsolatedEntries( | 
| +            isolatedEntries, | 
| +            function(entries) { | 
| +              fulfill(entries); | 
| +            }); | 
| +      }) | 
| +      .then( | 
| +          function(entries) { | 
| +            var urls = entries.map(function(entry) { return entry.toURL(); }); | 
| +            var tasksPromise = new Promise(function(fulfill) { | 
| +              chrome.fileManagerPrivate.getFileTasks(urls, fulfill); | 
| +            }).then(function(tasks) { | 
| +              chrome.test.assertEq(1, tasks.length); | 
| +              chrome.test.assertEq( | 
| +                  'kidcpjlbjdmcnmccjhjdckhbngnhnepk|app|textAction', | 
| +                  tasks[0].taskId); | 
| +              return tasks[0]; | 
| +            }); | 
| +            var launchDataPromise = new Promise(function(fulfill) { | 
| +              chrome.app.runtime.onLaunched.addListener( | 
| +                  function handler(launchData) { | 
| +                    chrome.app.runtime.onLaunched.removeListener(handler); | 
| +                    fulfill(launchData); | 
| +                  }); | 
| +            }); | 
| +            var taskExecutedPromise = tasksPromise.then(function(task) { | 
| +              return new Promise(function(fulfill, reject) { | 
| +                chrome.fileManagerPrivate.executeTask( | 
| +                    task.taskId, | 
| +                    urls, | 
| +                    function(result) { | 
| +                      if (result) | 
| +                        fulfill(); | 
| +                      else | 
| +                        reject(); | 
| +                    }); | 
| +                }); | 
| +            }); | 
| +            var resolvedEntriesPromise = launchDataPromise.then( | 
| +                function(launchData) { | 
| +                  var entries = launchData.items.map( | 
| +                      function(item) { return item.entry; }); | 
| +                  return new Promise(function(fulfill) { | 
| +                    chrome.fileManagerPrivate.resolveIsolatedEntries( | 
| +                        entries, fulfill); | 
| +                  }); | 
| +                }); | 
| +            return Promise.all([ | 
| +              taskExecutedPromise, | 
| +              launchDataPromise, | 
| +              resolvedEntriesPromise | 
| +            ]).then(function(args) { | 
| +              chrome.test.assertEq(entries.length, args[1].items.length); | 
| +              chrome.test.assertEq( | 
| +                  entries.map(function(entry) { return entry.name; }), | 
| +                  args[1].items.map(function(item) { return item.entry.name; }), | 
| +                  'Wrong entries are passed to the application handler.'); | 
| +              chrome.test.assertEq( | 
| +                  entries.map(function(entry) { return entry.toURL(); }), | 
| +                  args[2].map(function(entry) { return entry.toURL(); }), | 
| +                  'Entries passed to the application handler cannot be ' + | 
| +                      'resolved.'); | 
| +            }) | 
| }); | 
| -      }); | 
| -  }); | 
| -  var resolvedEntriesPromise = launchDataPromise.then(function(launchData) { | 
| -    var entries = launchData.items.map(function(item) { return item.entry; }); | 
| -    return new Promise(function(fulfill) { | 
| -      chrome.fileManagerPrivate.resolveIsolatedEntries(entries, fulfill); | 
| -    }); | 
| -  }); | 
| -  return Promise.all([ | 
| -    taskExecutedPromise, | 
| -    launchDataPromise, | 
| -    resolvedEntriesPromise | 
| -  ]).then(function(args) { | 
| -    chrome.test.assertEq(entries.length, args[1].items.length); | 
| -    chrome.test.assertEq( | 
| -        entries.map(function(entry) { return entry.name; }), | 
| -        args[1].items.map(function(item) { return item.entry.name; }), | 
| -        'Wrong entries are passed to the application handler.'); | 
| -    chrome.test.assertEq( | 
| -        entries.map(function(entry) { return entry.toURL(); }), | 
| -        args[2].map(function(entry) { return entry.toURL(); }), | 
| -        'Entries passed to the application handler cannot be resolved.'); | 
| -  }); | 
| } | 
|  | 
| /** | 
|  |