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

Side by Side Diff: chrome/browser/resources/file_manager/js/volume_manager.js

Issue 23658009: Replace mountType by volumeType on fileBrowserPrivate APIs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 3 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 * Represents each volume, such as "drive", "download directory", each "USB 8 * Represents each volume, such as "drive", "download directory", each "USB
9 * flush storage", or "mounted zip archive" etc. 9 * flush storage", or "mounted zip archive" etc.
10 * 10 *
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 // about Drive, Downloads nor archives. 507 // about Drive, Downloads nor archives.
508 // TODO(hidehiko): Figure out the historical intention of the method, 508 // TODO(hidehiko): Figure out the historical intention of the method,
509 // and clean them up. 509 // and clean them up.
510 510
511 // Create VolumeInfo for each mount point. 511 // Create VolumeInfo for each mount point.
512 var group = new AsyncUtil.Group(); 512 var group = new AsyncUtil.Group();
513 for (var i = 0; i < mountPointList.length; i++) { 513 for (var i = 0; i < mountPointList.length; i++) {
514 var mountPoint = mountPointList[i]; 514 var mountPoint = mountPointList[i];
515 515
516 // TODO(hidehiko): It should be ok that the drive is mounted already. 516 // TODO(hidehiko): It should be ok that the drive is mounted already.
517 if (mountPoint.mountType == 'drive') 517 if (mountPoint.volumeType == 'drive')
518 console.error('Drive is not expected initially mounted'); 518 console.error('Drive is not expected initially mounted');
519 519
520 var error = mountPoint.mountCondition ? 520 var error = mountPoint.mountCondition ?
521 'error_' + mountPoint.mountCondition : ''; 521 'error_' + mountPoint.mountCondition : '';
522 group.add(function(mountPoint, error, callback) { 522 group.add(function(mountPoint, error, callback) {
523 volumeManagerUtil.createVolumeInfo( 523 volumeManagerUtil.createVolumeInfo(
524 '/' + mountPoint.mountPath, error, 524 '/' + mountPoint.mountPath, error,
525 function(volumeInfo) { 525 function(volumeInfo) {
526 this.volumeInfoList.add(volumeInfo); 526 this.volumeInfoList.add(volumeInfo);
527 callback(); 527 callback();
(...skipping 27 matching lines...) Expand all
555 555
556 /** 556 /**
557 * Event handler called when some volume was mounted or unmouted. 557 * Event handler called when some volume was mounted or unmouted.
558 * @param {MountCompletedEvent} event Received event. 558 * @param {MountCompletedEvent} event Received event.
559 * @private 559 * @private
560 */ 560 */
561 VolumeManager.prototype.onMountCompleted_ = function(event) { 561 VolumeManager.prototype.onMountCompleted_ = function(event) {
562 if (event.eventType == 'mount') { 562 if (event.eventType == 'mount') {
563 if (event.mountPath) { 563 if (event.mountPath) {
564 var requestKey = this.makeRequestKey_( 564 var requestKey = this.makeRequestKey_(
565 'mount', event.mountType, event.sourcePath); 565 'mount', event.volumeType, event.sourcePath);
566 var error = event.status == 'success' ? '' : event.status; 566 var error = event.status == 'success' ? '' : event.status;
567 volumeManagerUtil.createVolumeInfo( 567 volumeManagerUtil.createVolumeInfo(
568 event.mountPath, error, function(volume) { 568 event.mountPath, error, function(volume) {
569 this.volumeInfoList.add(volume); 569 this.volumeInfoList.add(volume);
570 this.finishRequest_(requestKey, event.status, event.mountPath); 570 this.finishRequest_(requestKey, event.status, event.mountPath);
571 cr.dispatchSimpleEvent(this, 'change'); 571 cr.dispatchSimpleEvent(this, 'change');
572 }.bind(this)); 572 }.bind(this));
573 } else { 573 } else {
574 console.warn('No mount path.'); 574 console.warn('No mount path.');
575 this.finishRequest_(requestKey, event.status); 575 this.finishRequest_(requestKey, event.status);
(...skipping 16 matching lines...) Expand all
592 this.dispatchEvent(e); 592 this.dispatchEvent(e);
593 } 593 }
594 this.finishRequest_(requestKey, status); 594 this.finishRequest_(requestKey, status);
595 595
596 if (event.status == 'success') { 596 if (event.status == 'success') {
597 this.volumeInfoList.remove(mountPath); 597 this.volumeInfoList.remove(mountPath);
598 cr.dispatchSimpleEvent(this, 'change'); 598 cr.dispatchSimpleEvent(this, 'change');
599 } 599 }
600 } 600 }
601 601
602 if (event.mountType == 'drive') { 602 if (event.volumeType == 'drive') {
603 if (event.status == 'success') { 603 if (event.status == 'success') {
604 if (event.eventType == 'mount') { 604 if (event.eventType == 'mount') {
605 // If the mount is not requested, the mount status will not be changed 605 // If the mount is not requested, the mount status will not be changed
606 // at mountDrive(). Sets it here in such a case. 606 // at mountDrive(). Sets it here in such a case.
607 var self = this; 607 var self = this;
608 var timeout = setTimeout(function() { 608 var timeout = setTimeout(function() {
609 if (self.getDriveStatus() == VolumeManager.DriveStatus.UNMOUNTED) 609 if (self.getDriveStatus() == VolumeManager.DriveStatus.UNMOUNTED)
610 self.setDriveStatus_(VolumeManager.DriveStatus.MOUNTING); 610 self.setDriveStatus_(VolumeManager.DriveStatus.MOUNTING);
611 timeout = null; 611 timeout = null;
612 }, VolumeManager.MOUNTING_DELAY); 612 }, VolumeManager.MOUNTING_DELAY);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 entry.createReader().readEntries( 650 entry.createReader().readEntries(
651 callback.bind(null, true), 651 callback.bind(null, true),
652 callback.bind(null, false)); 652 callback.bind(null, false));
653 }, 653 },
654 callback.bind(null, false)); 654 callback.bind(null, false));
655 }; 655 };
656 656
657 /** 657 /**
658 * Creates string to match mount events with requests. 658 * Creates string to match mount events with requests.
659 * @param {string} requestType 'mount' | 'unmount'. 659 * @param {string} requestType 'mount' | 'unmount'.
660 * @param {string} mountType 'device' | 'file' | 'network' | 'drive'. 660 * @param {string} volumeType 'drive' | 'downloads' | 'removable' | 'archive'.
661 * @param {string} mountOrSourcePath Source path provided by API after 661 * @param {string} mountOrSourcePath Source path provided by API after
662 * resolving mount request or mountPath for unmount request. 662 * resolving mount request or mountPath for unmount request.
663 * @return {string} Key for |this.requests_|. 663 * @return {string} Key for |this.requests_|.
664 * @private 664 * @private
665 */ 665 */
666 VolumeManager.prototype.makeRequestKey_ = function(requestType, 666 VolumeManager.prototype.makeRequestKey_ = function(requestType,
667 mountType, 667 volumeType,
668 mountOrSourcePath) { 668 mountOrSourcePath) {
669 return requestType + ':' + mountType + ':' + mountOrSourcePath; 669 return requestType + ':' + volumeType + ':' + mountOrSourcePath;
670 }; 670 };
671 671
672 672
673 /** 673 /**
674 * @param {function(string)} successCallback Success callback. 674 * @param {function(string)} successCallback Success callback.
675 * @param {function(VolumeManager.Error)} errorCallback Error callback. 675 * @param {function(VolumeManager.Error)} errorCallback Error callback.
676 */ 676 */
677 VolumeManager.prototype.mountDrive = function(successCallback, errorCallback) { 677 VolumeManager.prototype.mountDrive = function(successCallback, errorCallback) {
678 if (this.getDriveStatus() == VolumeManager.DriveStatus.ERROR) { 678 if (this.getDriveStatus() == VolumeManager.DriveStatus.ERROR) {
679 this.setDriveStatus_(VolumeManager.DriveStatus.UNMOUNTED); 679 this.setDriveStatus_(VolumeManager.DriveStatus.UNMOUNTED);
(...skipping 15 matching lines...) Expand all
695 }); 695 });
696 }; 696 };
697 697
698 /** 698 /**
699 * @param {string} fileUrl File url to the archive file. 699 * @param {string} fileUrl File url to the archive file.
700 * @param {function(string)} successCallback Success callback. 700 * @param {function(string)} successCallback Success callback.
701 * @param {function(VolumeManager.Error)} errorCallback Error callback. 701 * @param {function(VolumeManager.Error)} errorCallback Error callback.
702 */ 702 */
703 VolumeManager.prototype.mountArchive = function(fileUrl, successCallback, 703 VolumeManager.prototype.mountArchive = function(fileUrl, successCallback,
704 errorCallback) { 704 errorCallback) {
705 this.mount_(fileUrl, 'file', successCallback, errorCallback); 705 this.mount_(fileUrl, 'archive', successCallback, errorCallback);
706 }; 706 };
707 707
708 /** 708 /**
709 * Unmounts volume. 709 * Unmounts volume.
710 * @param {string} mountPath Volume mounted path. 710 * @param {string} mountPath Volume mounted path.
711 * @param {function(string)} successCallback Success callback. 711 * @param {function(string)} successCallback Success callback.
712 * @param {function(VolumeManager.Error)} errorCallback Error callback. 712 * @param {function(VolumeManager.Error)} errorCallback Error callback.
713 */ 713 */
714 VolumeManager.prototype.unmount = function(mountPath, 714 VolumeManager.prototype.unmount = function(mountPath,
715 successCallback, 715 successCallback,
(...skipping 20 matching lines...) Expand all
736 * @param {string} mountPath Volume mounted path. 736 * @param {string} mountPath Volume mounted path.
737 * @return {VolumeInfo} The data about the volume. 737 * @return {VolumeInfo} The data about the volume.
738 */ 738 */
739 VolumeManager.prototype.getVolumeInfo = function(mountPath) { 739 VolumeManager.prototype.getVolumeInfo = function(mountPath) {
740 volumeManagerUtil.validateMountPath(mountPath); 740 volumeManagerUtil.validateMountPath(mountPath);
741 return this.volumeInfoList.find(mountPath); 741 return this.volumeInfoList.find(mountPath);
742 }; 742 };
743 743
744 /** 744 /**
745 * @param {string} url URL for for |fileBrowserPrivate.addMount|. 745 * @param {string} url URL for for |fileBrowserPrivate.addMount|.
746 * @param {'drive'|'file'} mountType Mount type for 746 * @param {'drive'|'archive'} volumeType Volume type for
747 * |fileBrowserPrivate.addMount|. 747 * |fileBrowserPrivate.addMount|.
748 * @param {function(string)} successCallback Success callback. 748 * @param {function(string)} successCallback Success callback.
749 * @param {function(VolumeManager.Error)} errorCallback Error callback. 749 * @param {function(VolumeManager.Error)} errorCallback Error callback.
750 * @private 750 * @private
751 */ 751 */
752 VolumeManager.prototype.mount_ = function(url, mountType, 752 VolumeManager.prototype.mount_ = function(url, volumeType,
753 successCallback, errorCallback) { 753 successCallback, errorCallback) {
754 if (this.deferredQueue_) { 754 if (this.deferredQueue_) {
755 this.deferredQueue_.push(this.mount_.bind(this, 755 this.deferredQueue_.push(this.mount_.bind(this,
756 url, mountType, successCallback, errorCallback)); 756 url, volumeType, successCallback, errorCallback));
757 return; 757 return;
758 } 758 }
759 759
760 chrome.fileBrowserPrivate.addMount(url, mountType, {}, 760 chrome.fileBrowserPrivate.addMount(url, volumeType, {},
761 function(sourcePath) { 761 function(sourcePath) {
762 console.info('Mount request: url=' + url + '; mountType=' + mountType + 762 console.info('Mount request: url=' + url + '; volumeType=' + volumeType +
763 '; sourceUrl=' + sourcePath); 763 '; sourceUrl=' + sourcePath);
764 var requestKey = this.makeRequestKey_('mount', mountType, sourcePath); 764 var requestKey = this.makeRequestKey_('mount', volumeType, sourcePath);
765 this.startRequest_(requestKey, successCallback, errorCallback); 765 this.startRequest_(requestKey, successCallback, errorCallback);
766 }.bind(this)); 766 }.bind(this));
767 }; 767 };
768 768
769 /** 769 /**
770 * @param {string} key Key produced by |makeRequestKey_|. 770 * @param {string} key Key produced by |makeRequestKey_|.
771 * @param {function(string)} successCallback To be called when request finishes 771 * @param {function(string)} successCallback To be called when request finishes
772 * successfully. 772 * successfully.
773 * @param {function(VolumeManager.Error)} errorCallback To be called when 773 * @param {function(VolumeManager.Error)} errorCallback To be called when
774 * request fails. 774 * request fails.
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 callbacks[i].apply(self, args); 832 callbacks[i].apply(self, args);
833 } 833 }
834 }; 834 };
835 if (status == 'success') { 835 if (status == 'success') {
836 callEach(request.successCallbacks, this, [opt_mountPath]); 836 callEach(request.successCallbacks, this, [opt_mountPath]);
837 } else { 837 } else {
838 volumeManagerUtil.validateError(status); 838 volumeManagerUtil.validateError(status);
839 callEach(request.errorCallbacks, this, [status]); 839 callEach(request.errorCallbacks, this, [status]);
840 } 840 }
841 }; 841 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698