| Index: ui/file_manager/file_manager/foreground/js/directory_tree.js
|
| diff --git a/ui/file_manager/file_manager/foreground/js/directory_tree.js b/ui/file_manager/file_manager/foreground/js/directory_tree.js
|
| index aa87168bfdaa34a16119ec825d9c18e96237698a..0f4c8627f0851dc55eb2ee180759aa3612efab97 100644
|
| --- a/ui/file_manager/file_manager/foreground/js/directory_tree.js
|
| +++ b/ui/file_manager/file_manager/foreground/js/directory_tree.js
|
| @@ -545,7 +545,8 @@ VolumeItem.prototype.selectByEntry = function(entry) {
|
| this.searchAndSelectByEntry(entry);
|
| return;
|
| }
|
| - if (util.isSameEntry(entry, this.entry))
|
| + if (util.isSameEntry(this.entry, entry) ||
|
| + util.isDescendantEntry(this.entry, entry))
|
| this.selected = true;
|
| };
|
|
|
| @@ -933,12 +934,18 @@ DirectoryTree.prototype.searchAndSelectByEntry = function(entry) {
|
| continue;
|
|
|
| if (util.isSameEntry(item.entry, entry)) {
|
| + this.dontHandleChangeEvent_ = true;
|
| item.selectByEntry(entry);
|
| + this.dontHandleChangeEvent_ = false;
|
| return true;
|
| }
|
| }
|
| // Otherwise, search whole tree.
|
| - return DirectoryItemTreeBaseMethods.searchAndSelectByEntry.call(this, entry);
|
| + this.dontHandleChangeEvent_ = true;
|
| + var found = DirectoryItemTreeBaseMethods.searchAndSelectByEntry.call(
|
| + this, entry);
|
| + this.dontHandleChangeEvent_ = false;
|
| + return found;
|
| };
|
|
|
| /**
|
| @@ -967,7 +974,7 @@ DirectoryTree.prototype.decorate = function(
|
|
|
| // Add a handler for directory change.
|
| this.addEventListener('change', function() {
|
| - if (this.selectedItem)
|
| + if (this.selectedItem && !this.dontHandleChangeEvent_)
|
| this.selectedItem.activate();
|
| }.bind(this));
|
|
|
|
|