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

Side by Side Diff: chrome/browser/resources/file_manager/js/metadata/metadata_cache.js

Issue 14658005: filemanager: Retrieve 'shared-with-me' property using getDriveEntryProperties API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update comments Created 7 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 * MetadataCache is a map from url to an object containing properties. 8 * MetadataCache is a map from url to an object containing properties.
9 * Properties are divided by types, and all properties of one type are accessed 9 * Properties are divided by types, and all properties of one type are accessed
10 * at once. 10 * at once.
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 DriveProvider.prototype.callApi_ = function() { 792 DriveProvider.prototype.callApi_ = function() {
793 this.scheduled_ = false; 793 this.scheduled_ = false;
794 794
795 var urls = this.urls_; 795 var urls = this.urls_;
796 var callbacks = this.callbacks_; 796 var callbacks = this.callbacks_;
797 this.urls_ = []; 797 this.urls_ = [];
798 this.callbacks_ = []; 798 this.callbacks_ = [];
799 var self = this; 799 var self = this;
800 800
801 var task = function(url, callback) { 801 var task = function(url, callback) {
802 chrome.fileBrowserPrivate.getDriveFileProperties(url, function(properties) { 802 chrome.fileBrowserPrivate.getDriveEntryProperties(url,
803 callback(self.convert_(properties, url)); 803 function(properties) {
804 }); 804 callback(self.convert_(properties, url));
805 });
805 }; 806 };
806 807
807 for (var i = 0; i < urls.length; i++) 808 for (var i = 0; i < urls.length; i++)
808 task(urls[i], callbacks[i]); 809 task(urls[i], callbacks[i]);
809 }; 810 };
810 811
811 /** 812 /**
812 * @param {DriveFileProperties} data Drive file properties. 813 * @param {DriveEntryProperties} data Drive entry properties.
813 * @param {string} url File url. 814 * @param {string} url File url.
814 * @return {boolean} True if the file is available offline. 815 * @return {boolean} True if the file is available offline.
815 */ 816 */
816 DriveProvider.isAvailableOffline = function(data, url) { 817 DriveProvider.isAvailableOffline = function(data, url) {
817 if (data.isPresent) 818 if (data.isPresent)
818 return true; 819 return true;
819 820
820 if (!data.isHosted) 821 if (!data.isHosted)
821 return false; 822 return false;
822 823
823 var subtype = FileType.getType(url).subtype; 824 var subtype = FileType.getType(url).subtype;
824 return subtype == 'doc' || subtype == 'sheet'; 825 return subtype == 'doc' || subtype == 'sheet';
825 }; 826 };
826 827
827 /** 828 /**
828 * @param {DriveFileProperties} data Drive file properties. 829 * @param {DriveEntryProperties} data Drive entry properties.
829 * @return {boolean} True if opening the file does not require downloading it 830 * @return {boolean} True if opening the file does not require downloading it
830 * via a metered connection. 831 * via a metered connection.
831 */ 832 */
832 DriveProvider.isAvailableWhenMetered = function(data) { 833 DriveProvider.isAvailableWhenMetered = function(data) {
833 return data.isPresent || data.isHosted; 834 return data.isPresent || data.isHosted;
834 }; 835 };
835 836
836 /** 837 /**
837 * Converts API metadata to internal format. 838 * Converts API metadata to internal format.
838 * @param {Object} data Metadata from API call. 839 * @param {Object} data Metadata from API call.
839 * @param {string} url File url. 840 * @param {string} url File url.
840 * @return {Object} Metadata in internal format. 841 * @return {Object} Metadata in internal format.
841 * @private 842 * @private
842 */ 843 */
843 DriveProvider.prototype.convert_ = function(data, url) { 844 DriveProvider.prototype.convert_ = function(data, url) {
844 var result = {}; 845 var result = {};
845 result.drive = { 846 result.drive = {
846 present: data.isPresent, 847 present: data.isPresent,
847 pinned: data.isPinned, 848 pinned: data.isPinned,
848 hosted: data.isHosted, 849 hosted: data.isHosted,
849 dirty: data.isDirty, 850 dirty: data.isDirty,
850 availableOffline: DriveProvider.isAvailableOffline(data, url), 851 availableOffline: DriveProvider.isAvailableOffline(data, url),
851 availableWhenMetered: DriveProvider.isAvailableWhenMetered(data), 852 availableWhenMetered: DriveProvider.isAvailableWhenMetered(data),
852 contentUrl: (data.contentUrl || '').replace(/\?.*$/gi, ''), 853 contentUrl: (data.contentUrl || '').replace(/\?.*$/gi, ''),
853 editUrl: data.editUrl || '', 854 editUrl: data.editUrl || '',
854 driveApps: data.driveApps || [], 855 driveApps: data.driveApps || [],
855 contentMimeType: data.contentMimeType || '' 856 contentMimeType: data.contentMimeType || '',
857 sharedWithMe: data.sharedWithMe
856 }; 858 };
857 859
858 if (!data.isPresent) { 860 if (!data.isPresent) {
859 // Block the local fetch for drive files, which require downloading. 861 // Block the local fetch for drive files, which require downloading.
860 result.thumbnail = { url: '', transform: null }; 862 result.thumbnail = { url: '', transform: null };
861 result.media = {}; 863 result.media = {};
862 } 864 }
863 865
864 if ('thumbnailUrl' in data) { 866 if ('thumbnailUrl' in data) {
865 result.thumbnail = { 867 result.thumbnail = {
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1070 1072
1071 /** 1073 /**
1072 * Handles the 'log' message from the worker. 1074 * Handles the 'log' message from the worker.
1073 * @param {Array.<*>} arglist Log arguments. 1075 * @param {Array.<*>} arglist Log arguments.
1074 * @private 1076 * @private
1075 */ 1077 */
1076 ContentProvider.prototype.onLog_ = function(arglist) { 1078 ContentProvider.prototype.onLog_ = function(arglist) {
1077 if (MetadataCache.log) // Avoid log spam by default. 1079 if (MetadataCache.log) // Avoid log spam by default.
1078 console.log.apply(console, ['metadata:'].concat(arglist)); 1080 console.log.apply(console, ['metadata:'].concat(arglist));
1079 }; 1081 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698