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

Unified Diff: chrome/browser/resources/file_manager/js/file_type.js

Issue 10184005: [File Manager] Properly enable/disable Copy and Open for GData files in the offline mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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
Index: chrome/browser/resources/file_manager/js/file_type.js
diff --git a/chrome/browser/resources/file_manager/js/file_type.js b/chrome/browser/resources/file_manager/js/file_type.js
index ce859602c22639384164ee581c7861fc9b104be5..170349bca2263df76946e31ae9c4437fd5e1ecda 100644
--- a/chrome/browser/resources/file_manager/js/file_type.js
+++ b/chrome/browser/resources/file_manager/js/file_type.js
@@ -216,3 +216,33 @@ FileType.canUseImageUrlForPreview = function(metadata, opt_size) {
(metadata.width && metadata.height &&
(metadata.width * metadata.height <= FileType.MAX_PREVIEW_PIXEL_COUNT)));
};
+
+/**
+ * @param {GDataFileProperties} gdata GData file properties.
+ * @return {boolean} True of the file is available in the offline mode.
+ */
+FileType.isAvaliableOffline_ = function(gdata) {
+ return gdata.isPresent && !gdata.isHosted;
+};
+
+/**
+ * Check if all the specified files are available in the offline mode.
+ *
+ * @param {Array.<Entry>?} entries File entries, ignore if null.
+ * @param {Array.<string>} urls File urls.
+ * @param {function(booolean)} callback Function accepting the result.
+ */
+FileType.checkOfflineAvailability = function(entries, urls, callback) {
+ chrome.fileBrowserPrivate.getGDataFileProperties(urls,
+ function(gdata) {
+ var result = true;
+ for (var i = 0; i != gdata.length; i++) {
+ if ((entries && entries[i].isDirectory) ||
+ !FileType.isAvaliableOffline_(gdata[i])) {
+ result = false;
+ break;
+ }
+ }
+ callback(result);
+ });
+};

Powered by Google App Engine
This is Rietveld 408576698