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

Unified Diff: ui/file_manager/file_manager/background/js/volume_info_impl.js

Issue 2839863002: Add Team Drive subtree to the directory list view. (Closed)
Patch Set: Remove some unncecesary code Created 3 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: ui/file_manager/file_manager/background/js/volume_info_impl.js
diff --git a/ui/file_manager/file_manager/background/js/volume_info_impl.js b/ui/file_manager/file_manager/background/js/volume_info_impl.js
index c2904b73c5d8df5fb3d78a5d0f895c860661ea11..d233a933e3e6cbf7b08c1abf1c84f2390e34b576 100644
--- a/ui/file_manager/file_manager/background/js/volume_info_impl.js
+++ b/ui/file_manager/file_manager/background/js/volume_info_impl.js
@@ -53,11 +53,19 @@ function VolumeInfoImpl(
this.fileSystem_ = fileSystem;
this.label_ = label;
this.displayRoot_ = null;
+ this.teamDriveDisplayRoot_ = null;
+
+ /** @type {boolean} */
+ this.isTeamDrivesEnabled_ = false;
+
+ chrome.commandLinePrivate.hasSwitch('team-drives', function(enabled) {
+ this.isTeamDrivesEnabled_ = enabled;
+ }.bind(this));
/** @type {Object<!FakeEntry>} */
this.fakeEntries_ = {};
- /** @type {Promise.<!DirectoryEntry>} */
+ /** @type {Promise<!DirectoryEntry>} */
this.displayRootPromise_ = null;
if (volumeType === VolumeManagerCommon.VolumeType.DRIVE) {
@@ -122,6 +130,14 @@ VolumeInfoImpl.prototype = /** @struct */ {
return this.displayRoot_;
},
/**
+ * @return {DirectoryEntry} The display root path of Team Drives directory.
+ * It is null before finishing to resolve the entry. Valid only for Drive
+ * volume.
+ */
+ get teamDriveDisplayRoot() {
+ return this.teamDriveDisplayRoot_;
+ },
+ /**
* @return {Object<!FakeEntry>} Fake entries.
*/
get fakeEntries() {
@@ -221,6 +237,23 @@ VolumeInfoImpl.prototype.resolveDisplayRoot = function(opt_onSuccess,
var displayRootURL = this.fileSystem_.root.toURL() + '/root';
this.displayRootPromise_ = new Promise(
window.webkitResolveLocalFileSystemURL.bind(null, displayRootURL));
+ if (this.isTeamDrivesEnabled_) {
+ // Make sure that the Team Drives display root is also resolved when
+ // Drive root is resolved.
+ this.displayRootPromise_ =
+ Promise
+ .all([
+ this.displayRootPromise_,
+ new Promise(window.webkitResolveLocalFileSystemURL.bind(
+ null,
+ this.fileSystem_.root.toURL() +
+ VolumeManagerCommon.TEAM_DRIVES_DIRECTORY_PATH))
+ ])
+ .then(function(displayRoots) {
+ this.teamDriveDisplayRoot_ = displayRoots[1];
+ return displayRoots[0];
+ }.bind(this));
+ }
}
// Store the obtained displayRoot.

Powered by Google App Engine
This is Rietveld 408576698