summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/resources/file_manager/js/file_manager.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/resources/file_manager/js/file_manager.js b/chrome/browser/resources/file_manager/js/file_manager.js
index 71b3ba1..548e240 100644
--- a/chrome/browser/resources/file_manager/js/file_manager.js
+++ b/chrome/browser/resources/file_manager/js/file_manager.js
@@ -3533,9 +3533,18 @@ FileManager.prototype = {
}
checkbox.checked = entry.gdata_.isPinned = props[0].isPinned;
}
-
- chrome.fileBrowserPrivate.pinGDataFile([entry.toURL()],
- checkbox.checked, callback);
+ var pin = checkbox.checked;
+ cacheGDataProps(entry, function(entry) {
+ if (self.isOffline() && pin && !entry.gdata_.isPresent) {
+ // If we are offline, we cannot pin a file that is not already present.
+ checkbox.checked = false; // Revert the default action.
+ self.alert.showHtml(
+ str('OFFLINE_HEADER'),
+ strf('OFFLINE_MESSAGE', str('OFFLINE_COLUMN_LABEL')));
+ return;
+ }
+ chrome.fileBrowserPrivate.pinGDataFile([entry.toURL()], pin, callback);
+ });
event.preventDefault();
};