Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: ui/file_manager/file_manager/foreground/js/quick_view_controller.js

Issue 2640673002: (WIP) Use generator to generate externs for chrome.fileManagerPrivate API.
Patch Set: Compile passes Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698