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

Unified Diff: ui/file_manager/file_manager/foreground/js/quick_view_controller.js

Issue 2631143002: Refactor Quick View controller. (Closed)
Patch Set: Addressed comments. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/file_manager/file_manager/foreground/js/quick_view_controller.js
diff --git a/ui/file_manager/file_manager/foreground/js/quick_view_controller.js b/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
index 7435dc650796cbc154d2e1314229f9bd321e65eb..34e234e7ac63d3efaea6e9bf4589fb1a823976a2 100644
--- a/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
@@ -291,61 +291,61 @@ QuickViewController.prototype.getQuickViewParameters_ = function(entry, items) {
filePath: entry.name,
};
+ if (item.externalFileUrl) {
+ switch (type) {
+ case 'image':
+ if (item.thumbnailUrl) {
+ return this.loadThumbnailFromDrive_(item.thumbnailUrl)
+ .then(function(result) {
+ if (result.status === 'success')
+ params.contentUrl = result.data;
+ return params;
+ }.bind(this));
+ }
+ break;
+ case 'video':
+ if (item.thumbnailUrl) {
+ return this.loadThumbnailFromDrive_(item.thumbnailUrl)
+ .then(function(result) {
+ if (result.status === 'success') {
+ params.videoPoster = result.data;
+ }
+ return params;
+ });
+ }
+ break;
+ }
+ // If the file is in Drive, we ask user to open it with external app.
+ return Promise.resolve(params);
+ }
+
/**
- * @type function(!FileEntry): !Promise<!File>
+ * @type {!Promise<!File>}
*/
- var getFile = function(entry) {
- return new Promise(function(resolve, reject) {
- entry.file(resolve, reject);
- });
- };
+ var getFile = new Promise(function(resolve, reject) {
+ entry.file(resolve, reject);
+ });
- if (type === 'image') {
- if (item.externalFileUrl) {
- if (item.thumbnailUrl) {
- return this.loadThumbnailFromDrive_(item.thumbnailUrl)
- .then(function(result) {
- if (result.status === 'success')
- params.contentUrl = result.data;
- return params;
- }.bind(this));
- }
- } else {
- return getFile(entry).then(function(file) {
+ switch (type) {
+ case 'image':
+ return getFile.then(function(file) {
params.contentUrl = URL.createObjectURL(file);
return params;
});
- }
- } else if (type === 'video') {
- if (item.externalFileUrl) {
- if (item.thumbnailUrl) {
- return this.loadThumbnailFromDrive_(item.thumbnailUrl)
- .then(function(result) {
- if (result.status === 'success') {
- params.videoPoster = result.data;
- }
- return params;
- });
- }
- } else {
+ case 'video':
params.autoplay = true;
if (item.thumbnailUrl) {
params.videoPoster = item.thumbnailUrl;
}
- return getFile(entry).then(function(file) {
+ return getFile.then(function(file) {
params.contentUrl = URL.createObjectURL(file);
return params;
});
- }
- } else if (type === 'audio') {
- if (item.externalFileUrl) {
- // If the file is in Drive, we ask user to open it with external app.
- } else {
+ case 'audio':
params.autoplay = true;
return Promise
.all([
- this.metadataModel_.get([entry], ['contentThumbnailUrl']),
- getFile(entry)
+ this.metadataModel_.get([entry], ['contentThumbnailUrl']), getFile
])
.then(function(values) {
/** @type {!Array<!MetadataItem>} */
@@ -359,14 +359,12 @@ QuickViewController.prototype.getQuickViewParameters_ = function(entry, items) {
params.contentUrl = URL.createObjectURL(file);
return params;
});
- }
- }
- if (item.externalFileUrl || type === '.folder') {
- return Promise.resolve(params);
+ case '.folder':
+ return Promise.resolve(params);
}
return Promise
.all([
- getFile(entry),
+ getFile,
new Promise(function(resolve) {
chrome.fileManagerPrivate.getFileTasks([entry], resolve);
})
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698