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

Side by Side Diff: ui/file_manager/video_player/js/cast/media_manager.js

Issue 515033002: [fsp] Generalize fileBrowserPrivate.getEntryProperties(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 3 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
« no previous file with comments | « ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 'use strict'; 5 'use strict';
6 6
7 /** 7 /**
8 * Media manager class. 8 * Media manager class.
9 * This class supports the information for the media file. 9 * This class supports the information for the media file.
10 * @param {FileEntry} entry Entry of media file. This must be a external entry. 10 * @param {FileEntry} entry Entry of media file. This must be a external entry.
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 /** 98 /**
99 * Retrieves the mime of file. 99 * Retrieves the mime of file.
100 * 100 *
101 * @return {Promise} Promise which is resolved with the mime. Reject if failed. 101 * @return {Promise} Promise which is resolved with the mime. Reject if failed.
102 */ 102 */
103 MediaManager.prototype.getMime = function() { 103 MediaManager.prototype.getMime = function() {
104 if (this.cachedDriveProp_) 104 if (this.cachedDriveProp_)
105 return Promise.resolve(this.cachedDriveProp_.thumbnailUrl); 105 return Promise.resolve(this.cachedDriveProp_.thumbnailUrl);
106 106
107 return new Promise(function(fulfill, reject) { 107 return new Promise(function(fulfill, reject) {
108 chrome.fileBrowserPrivate.getDriveEntryProperties( 108 chrome.fileBrowserPrivate.getEntryProperties(
109 [this.entry_.toURL()], fulfill); 109 [this.entry_.toURL()], fulfill);
110 }.bind(this)).then(function(props) { 110 }.bind(this)).then(function(props) {
111 if (!props || !props[0] || !props[0].contentMimeType) { 111 if (!props || !props[0] || !props[0].contentMimeType) {
112 // TODO(yoshiki): Adds a logic to guess the mime. 112 // TODO(yoshiki): Adds a logic to guess the mime.
113 return Promise.reject('Mime fetch failed.'); 113 return Promise.reject('Mime fetch failed.');
114 } else { 114 } else {
115 this.cachedDriveProp_ = props[0]; 115 this.cachedDriveProp_ = props[0];
116 return props[0].contentMimeType; 116 return props[0].contentMimeType;
117 } 117 }
118 }.bind(this)); 118 }.bind(this));
119 }; 119 };
120 120
121 /** 121 /**
122 * Retrieves the thumbnail url of file. 122 * Retrieves the thumbnail url of file.
123 * 123 *
124 * @return {Promise} Promise which is resolved with the url. Reject if failed. 124 * @return {Promise} Promise which is resolved with the url. Reject if failed.
125 */ 125 */
126 MediaManager.prototype.getThumbnail = function() { 126 MediaManager.prototype.getThumbnail = function() {
127 if (this.cachedDriveProp_) 127 if (this.cachedDriveProp_)
128 return Promise.resolve(this.cachedDriveProp_.thumbnailUrl); 128 return Promise.resolve(this.cachedDriveProp_.thumbnailUrl);
129 129
130 return new Promise(function(fulfill, reject) { 130 return new Promise(function(fulfill, reject) {
131 chrome.fileBrowserPrivate.getDriveEntryProperties( 131 chrome.fileBrowserPrivate.getEntryProperties(
132 [this.entry_.toURL()], fulfill); 132 [this.entry_.toURL()], fulfill);
133 }.bind(this)).then(function(props) { 133 }.bind(this)).then(function(props) {
134 if (!props || !props[0] || !props[0].thumbnailUrl) { 134 if (!props || !props[0] || !props[0].thumbnailUrl) {
135 // TODO(yoshiki): Adds a logic to guess the mime. 135 // TODO(yoshiki): Adds a logic to guess the mime.
136 return Promise.reject('Thumbnail fetch failed.'); 136 return Promise.reject('Thumbnail fetch failed.');
137 } else { 137 } else {
138 this.cachedDriveProp_ = props[0]; 138 this.cachedDriveProp_ = props[0];
139 return props[0].thumbnailUrl; 139 return props[0].thumbnailUrl;
140 } 140 }
141 }.bind(this)); 141 }.bind(this));
142 }; 142 };
OLDNEW
« no previous file with comments | « ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698