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

Side by Side Diff: chrome/browser/resources/file_manager/foreground/js/volume_manager_wrapper.js

Issue 148193002: Removed most of path utility functions in Files app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 6 years, 10 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
« no previous file with comments | « chrome/browser/resources/file_manager/foreground/js/folder_shortcuts_data_model.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 /** 5 /**
6 * Thin wrapper for VolumeManager. This should be an interface proxy to talk 6 * Thin wrapper for VolumeManager. This should be an interface proxy to talk
7 * to VolumeManager. This class also filters Drive related data/events if 7 * to VolumeManager. This class also filters Drive related data/events if
8 * driveEnabled is set to false. 8 * driveEnabled is set to false.
9 * 9 *
10 * @param {VolumeManagerWrapper.DriveEnabledStatus} driveEnabled DRIVE_ENABLED 10 * @param {VolumeManagerWrapper.DriveEnabledStatus} driveEnabled DRIVE_ENABLED
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 }.bind(this)); 252 }.bind(this));
253 }; 253 };
254 254
255 /** 255 /**
256 * Obtains location information from an entry. 256 * Obtains location information from an entry.
257 * 257 *
258 * @param {Entry} entry File or directory entry. 258 * @param {Entry} entry File or directory entry.
259 * @return {EntryLocation} Location information. 259 * @return {EntryLocation} Location information.
260 */ 260 */
261 VolumeManagerWrapper.prototype.getLocationInfo = function(entry) { 261 VolumeManagerWrapper.prototype.getLocationInfo = function(entry) {
262 return this.volumeManager_ && this.volumeManager_.getLocationInfo(entry); 262 var locationInfo =
263 this.volumeManager_ && this.volumeManager_.getLocationInfo(entry);
264 if (!locationInfo)
265 return null;
266 if (!this.filterDisabledDriveVolume_(locationInfo.volumeInfo))
267 return null;
268 return locationInfo;
263 }; 269 };
264 270
265 /** 271 /**
266 * Requests to mount the archive file. 272 * Requests to mount the archive file.
267 * @param {string} fileUrl The path to the archive file to be mounted. 273 * @param {string} fileUrl The path to the archive file to be mounted.
268 * @param {function(string)} successCallback Called with mount path on success. 274 * @param {function(string)} successCallback Called with mount path on success.
269 * @param {function(util.VolumeError)} errorCallback Called when an error 275 * @param {function(util.VolumeError)} errorCallback Called when an error
270 * occurs. 276 * occurs.
271 */ 277 */
272 VolumeManagerWrapper.prototype.mountArchive = function( 278 VolumeManagerWrapper.prototype.mountArchive = function(
(...skipping 20 matching lines...) Expand all
293 if (this.pendingTasks_) { 299 if (this.pendingTasks_) {
294 this.pendingTasks_.push( 300 this.pendingTasks_.push(
295 this.unmount.bind(this, volumeInfo, successCallback, errorCallback)); 301 this.unmount.bind(this, volumeInfo, successCallback, errorCallback));
296 return; 302 return;
297 } 303 }
298 304
299 this.volumeManager_.unmount(volumeInfo, successCallback, errorCallback); 305 this.volumeManager_.unmount(volumeInfo, successCallback, errorCallback);
300 }; 306 };
301 307
302 /** 308 /**
303 * Resolves the absolute path to an entry instance.
304 * @param {string} path The path to be resolved.
305 * @param {function(Entry)} successCallback Called with the resolved entry
306 * on success.
307 * @param {function(FileError)} errorCallback Called with the error on error.
308 */
309 VolumeManagerWrapper.prototype.resolveAbsolutePath = function(
310 path, successCallback, errorCallback) {
311 if (this.pendingTasks_) {
312 this.pendingTasks_.push(this.resolveAbsolutePath.bind(
313 this, path, successCallback, errorCallback));
314 return;
315 }
316
317 // If the drive is disabled, any resolving the path under drive should be
318 // failed.
319 if (!this.driveEnabled_ && PathUtil.isDriveBasedPath(path)) {
320 errorCallback(util.createDOMError(util.FileError.NOT_FOUND_ERR));
321 return;
322 }
323
324 this.volumeManager_.resolveAbsolutePath(path, successCallback, errorCallback);
325 };
326
327 /**
328 * Filters volume info by referring driveEnabled. 309 * Filters volume info by referring driveEnabled.
329 * 310 *
330 * @param {VolumeInfo} volumeInfo Volume info. 311 * @param {VolumeInfo} volumeInfo Volume info.
331 * @return {VolumeInfo} Null if the drive is disabled and the given volume is 312 * @return {VolumeInfo} Null if the drive is disabled and the given volume is
332 * drive. Otherwise just returns the volume. 313 * drive. Otherwise just returns the volume.
333 * @private 314 * @private
334 */ 315 */
335 VolumeManagerWrapper.prototype.filterDisabledDriveVolume_ = 316 VolumeManagerWrapper.prototype.filterDisabledDriveVolume_ =
336 function(volumeInfo) { 317 function(volumeInfo) {
337 var isDrive = volumeInfo && volumeInfo.volumeType === util.VolumeType.DRIVE; 318 var isDrive = volumeInfo && volumeInfo.volumeType === util.VolumeType.DRIVE;
338 return this.driveEnabled_ || !isDrive ? volumeInfo : null; 319 return this.driveEnabled_ || !isDrive ? volumeInfo : null;
339 }; 320 };
OLDNEW
« no previous file with comments | « chrome/browser/resources/file_manager/foreground/js/folder_shortcuts_data_model.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698