| Index: ui/file_manager/video_player/js/background.js
|
| diff --git a/ui/file_manager/video_player/js/background.js b/ui/file_manager/video_player/js/background.js
|
| index 57ff169de2513641e90df9f9b7b208f1cf681bc2..71395bfb35bf9feb032b96c50dd2f97689b6374c 100644
|
| --- a/ui/file_manager/video_player/js/background.js
|
| +++ b/ui/file_manager/video_player/js/background.js
|
| @@ -4,7 +4,6 @@
|
|
|
| 'use strict';
|
|
|
| -
|
| // Stores the app windows OLNY for test purpose.
|
| // We SHOULD NOT use it as it is except for test, since the files which have
|
| // the same name will be overridden each other.
|
| @@ -14,10 +13,27 @@ chrome.app.runtime.onLaunched.addListener(function(launchData) {
|
| if (!launchData || !launchData.items || launchData.items.length == 0)
|
| return;
|
|
|
| - var entry = launchData.items[0].entry;
|
| - entry.file(function(file) {
|
| - var url = window.URL.createObjectURL(file);
|
| - open(url, entry.name);
|
| + var getFilePromises = launchData.items.map(function(item) {
|
| + var entry = item.entry;
|
| + return new Promise(function(fullfill, reject) {
|
| + entry.file(
|
| + function(file) {
|
| + fullfill({
|
| + entry: entry,
|
| + file: file,
|
| + fileUrl: window.URL.createObjectURL(file)
|
| + });
|
| + },
|
| + function() {
|
| + fullfill({entry: entry, file: null, fileUrl: null});
|
| + });
|
| + });
|
| + });
|
| +
|
| + Promise.all(getFilePromises).then(function(results) {
|
| + results = results.filter(function(result) { return result.file !== null; });
|
| + if (results.length > 0)
|
| + open(results);
|
| }.wrap(),
|
| function() {
|
| // TODO(yoshiki): handle error in a smarter way.
|
| @@ -25,7 +41,11 @@ chrome.app.runtime.onLaunched.addListener(function(launchData) {
|
| }.wrap());
|
| }.wrap());
|
|
|
| -function open(url, title) {
|
| +/**
|
| + * Opens player window.
|
| + * @param {Array.<Object>} videos List of videos to play.
|
| + **/
|
| +function open(videos) {
|
| chrome.app.window.create('video_player.html', {
|
| id: 'video',
|
| singleton: false,
|
| @@ -34,10 +54,10 @@ function open(url, title) {
|
| },
|
| function(createdWindow) {
|
| // Stores the window for test purpose.
|
| - appWindowsForTest[title] = createdWindow;
|
| + appWindowsForTest[videos[0].entry.name] = createdWindow;
|
|
|
| createdWindow.setIcon('images/200/icon.png');
|
| - createdWindow.contentWindow.videoUrl = url;
|
| - createdWindow.contentWindow.videoTitle = title;
|
| + createdWindow.contentWindow.videos = videos;
|
| + chrome.runtime.sendMessage({ready: true}, function() {});
|
| }.wrap());
|
| }
|
|
|