| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * Controller for QuickView. | 6 * Controller for QuickView. |
| 7 * This should be initialized with |init_| method. | 7 * This should be initialized with |init_| method. |
| 8 * | 8 * |
| 9 * @param {!MetadataModel} metadataModel File system metadata. | 9 * @param {!MetadataModel} metadataModel File system metadata. |
| 10 * @param {!FileSelectionHandler} selectionHandler | 10 * @param {!FileSelectionHandler} selectionHandler |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 if (this.quickView_ && this.quickView_.isOpened()) { | 248 if (this.quickView_ && this.quickView_.isOpened()) { |
| 249 assert(this.entries_.length > 0); | 249 assert(this.entries_.length > 0); |
| 250 var entry = this.entries_[0]; | 250 var entry = this.entries_[0]; |
| 251 this.quickViewModel_.setSelectedEntry(entry); | 251 this.quickViewModel_.setSelectedEntry(entry); |
| 252 this.display_(); | 252 this.display_(); |
| 253 } | 253 } |
| 254 }; | 254 }; |
| 255 | 255 |
| 256 /** | 256 /** |
| 257 * @param {!FileEntry} entry | 257 * @param {!FileEntry} entry |
| 258 * @return {!Promise<!Array<!FileTask>>} | 258 * @return {!Promise<!Array<!chrome.fileManagerPrivate.FileTask>>} |
| 259 * @private | 259 * @private |
| 260 */ | 260 */ |
| 261 QuickViewController.prototype.getAvailableTasks_ = function(entry) { | 261 QuickViewController.prototype.getAvailableTasks_ = function(entry) { |
| 262 return this.taskController_.getFileTasks().then(function(tasks) { | 262 return this.taskController_.getFileTasks().then(function(tasks) { |
| 263 return tasks.getTaskItems(); | 263 return tasks.getTaskItems(); |
| 264 }); | 264 }); |
| 265 }; | 265 }; |
| 266 | 266 |
| 267 /** | 267 /** |
| 268 * Update quick view using current entries. | 268 * Update quick view using current entries. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 284 var entry = | 284 var entry = |
| 285 (/** @type {!FileEntry} */ (this.quickViewModel_.getSelectedEntry())); | 285 (/** @type {!FileEntry} */ (this.quickViewModel_.getSelectedEntry())); |
| 286 assert(entry); | 286 assert(entry); |
| 287 this.quickViewUma_.onEntryChanged(entry); | 287 this.quickViewUma_.onEntryChanged(entry); |
| 288 return Promise | 288 return Promise |
| 289 .all([ | 289 .all([ |
| 290 this.metadataModel_.get([entry], ['thumbnailUrl']), | 290 this.metadataModel_.get([entry], ['thumbnailUrl']), |
| 291 this.getAvailableTasks_(entry) | 291 this.getAvailableTasks_(entry) |
| 292 ]) | 292 ]) |
| 293 .then(function(values) { | 293 .then(function(values) { |
| 294 var items = (/**@type{Array<MetadataItem>}*/ (values[0])); | 294 var items = /**@type{Array<MetadataItem>}*/ (values[0]); |
| 295 var tasks = (/**@type{!Array<!FileTask>}*/ (values[1])); | 295 var tasks = /**@type{!Array<!chrome.fileManagerPrivate.FileTask>}*/ ( |
| 296 values[1]); |
| 296 return this.onMetadataLoaded_(entry, items, tasks); | 297 return this.onMetadataLoaded_(entry, items, tasks); |
| 297 }.bind(this)) | 298 }.bind(this)) |
| 298 .catch(console.error); | 299 .catch(console.error); |
| 299 }; | 300 }; |
| 300 | 301 |
| 301 /** | 302 /** |
| 302 * Update quick view using file entry and loaded metadata and tasks. | 303 * Update quick view using file entry and loaded metadata and tasks. |
| 303 * | 304 * |
| 304 * @param {!FileEntry} entry | 305 * @param {!FileEntry} entry |
| 305 * @param {Array<MetadataItem>} items | 306 * @param {Array<MetadataItem>} items |
| 306 * @param {!Array<!FileTask>} tasks | 307 * @param {!Array<!chrome.fileManagerPrivate.FileTask>} tasks |
| 307 * @private | 308 * @private |
| 308 */ | 309 */ |
| 309 QuickViewController.prototype.onMetadataLoaded_ = function( | 310 QuickViewController.prototype.onMetadataLoaded_ = function( |
| 310 entry, items, tasks) { | 311 entry, items, tasks) { |
| 311 return this.getQuickViewParameters_(entry, items, tasks) | 312 return this.getQuickViewParameters_(entry, items, tasks) |
| 312 .then(function(params) { | 313 .then(function(params) { |
| 313 this.quickView_.type = params.type || ''; | 314 this.quickView_.type = params.type || ''; |
| 314 this.quickView_.filePath = params.filePath || ''; | 315 this.quickView_.filePath = params.filePath || ''; |
| 315 this.quickView_.hasTask = params.hasTask || false; | 316 this.quickView_.hasTask = params.hasTask || false; |
| 316 this.quickView_.contentUrl = params.contentUrl || ''; | 317 this.quickView_.contentUrl = params.contentUrl || ''; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 330 * audioArtwork: (string|undefined), | 331 * audioArtwork: (string|undefined), |
| 331 * autoplay: (boolean|undefined), | 332 * autoplay: (boolean|undefined), |
| 332 * browsable: (boolean|undefined), | 333 * browsable: (boolean|undefined), |
| 333 * }} | 334 * }} |
| 334 */ | 335 */ |
| 335 var QuickViewParams; | 336 var QuickViewParams; |
| 336 | 337 |
| 337 /** | 338 /** |
| 338 * @param {!FileEntry} entry | 339 * @param {!FileEntry} entry |
| 339 * @param {Array<MetadataItem>} items | 340 * @param {Array<MetadataItem>} items |
| 340 * @param {!Array<!FileTask>} tasks | 341 * @param {!Array<!chrome.fileManagerPrivate.FileTask>} tasks |
| 341 * @return !Promise<!QuickViewParams> | 342 * @return !Promise<!QuickViewParams> |
| 342 * | 343 * |
| 343 * @private | 344 * @private |
| 344 */ | 345 */ |
| 345 QuickViewController.prototype.getQuickViewParameters_ = function( | 346 QuickViewController.prototype.getQuickViewParameters_ = function( |
| 346 entry, items, tasks) { | 347 entry, items, tasks) { |
| 347 var item = items[0]; | 348 var item = items[0]; |
| 348 var type = FileType.getType(entry).type; | 349 var type = FileType.getType(entry).type; |
| 349 | 350 |
| 350 /** @type {!QuickViewParams} */ | 351 /** @type {!QuickViewParams} */ |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 * | 438 * |
| 438 * @param {string} url Thumbnail url | 439 * @param {string} url Thumbnail url |
| 439 * @return Promise<{{status: string, data:string, width:number, height:number}}> | 440 * @return Promise<{{status: string, data:string, width:number, height:number}}> |
| 440 * @private | 441 * @private |
| 441 */ | 442 */ |
| 442 QuickViewController.prototype.loadThumbnailFromDrive_ = function(url) { | 443 QuickViewController.prototype.loadThumbnailFromDrive_ = function(url) { |
| 443 return new Promise(function(resolve) { | 444 return new Promise(function(resolve) { |
| 444 ImageLoaderClient.getInstance().load(url, resolve) | 445 ImageLoaderClient.getInstance().load(url, resolve) |
| 445 }); | 446 }); |
| 446 }; | 447 }; |
| OLD | NEW |