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

Side by Side Diff: ui/file_manager/file_manager/foreground/js/directory_model.js

Issue 904003002: Files.app: Start to use new metadata models in DirectoryContents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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 // If directory files changes too often, don't rescan directory more than once 5 // If directory files changes too often, don't rescan directory more than once
6 // per specified interval 6 // per specified interval
7 var SIMULTANEOUS_RESCAN_INTERVAL = 500; 7 var SIMULTANEOUS_RESCAN_INTERVAL = 500;
8 // Used for operations that require almost instant rescan. 8 // Used for operations that require almost instant rescan.
9 var SHORT_RESCAN_INTERVAL = 100; 9 var SHORT_RESCAN_INTERVAL = 100;
10 10
(...skipping 26 matching lines...) Expand all
37 37
38 this.directoryChangeQueue_ = new AsyncUtil.Queue(); 38 this.directoryChangeQueue_ = new AsyncUtil.Queue();
39 this.rescanAggregator_ = new AsyncUtil.Aggregator( 39 this.rescanAggregator_ = new AsyncUtil.Aggregator(
40 this.rescanSoon.bind(this, true), 500); 40 this.rescanSoon.bind(this, true), 500);
41 41
42 this.fileFilter_ = fileFilter; 42 this.fileFilter_ = fileFilter;
43 this.fileFilter_.addEventListener('changed', 43 this.fileFilter_.addEventListener('changed',
44 this.onFilterChanged_.bind(this)); 44 this.onFilterChanged_.bind(this));
45 45
46 this.currentFileListContext_ = new FileListContext( 46 this.currentFileListContext_ = new FileListContext(
47 fileFilter, metadataCache); 47 fileFilter, metadataCache, fileSystemMetadata);
48 this.currentDirContents_ = 48 this.currentDirContents_ =
49 DirectoryContents.createForDirectory(this.currentFileListContext_, null); 49 DirectoryContents.createForDirectory(this.currentFileListContext_, null);
50 50
51 this.metadataCache_ = metadataCache; 51 this.metadataCache_ = metadataCache;
52 this.fileSystemMetadata_ = fileSystemMetadata; 52 this.fileSystemMetadata_ = fileSystemMetadata;
53 53
54 this.volumeManager_ = volumeManager; 54 this.volumeManager_ = volumeManager;
55 this.volumeManager_.volumeInfoList.addEventListener( 55 this.volumeManager_.volumeInfoList.addEventListener(
56 'splice', this.onVolumeInfoListUpdated_.bind(this)); 56 'splice', this.onVolumeInfoListUpdated_.bind(this));
57 57
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 827
828 var dirContents = this.currentDirContents_; 828 var dirContents = this.currentDirContents_;
829 var sequence = this.changeDirectorySequence_; 829 var sequence = this.changeDirectorySequence_;
830 830
831 new Promise(entry.getDirectory.bind( 831 new Promise(entry.getDirectory.bind(
832 entry, name, {create: true, exclusive: true})). 832 entry, name, {create: true, exclusive: true})).
833 833
834 then(function(newEntry) { 834 then(function(newEntry) {
835 // Refresh the cache. 835 // Refresh the cache.
836 this.metadataCache_.clear([newEntry], '*'); 836 this.metadataCache_.clear([newEntry], '*');
837 this.fileSystemMetadata_.notifyEntryCreated([newEntry]); 837 this.fileSystemMetadata_.notifyEntriesCreated([newEntry]);
838 return new Promise(function(onFulfilled, onRejected) { 838 return new Promise(function(onFulfilled, onRejected) {
839 dirContents.prefetchMetadata( 839 dirContents.prefetchMetadata(
840 [newEntry], false, onFulfilled.bind(null, newEntry)); 840 [newEntry], false, onFulfilled.bind(null, newEntry));
841 }.bind(this)); 841 }.bind(this));
842 }.bind(this)). 842 }.bind(this)).
843 843
844 then(function(newEntry) { 844 then(function(newEntry) {
845 // Do not change anything or call the callback if current 845 // Do not change anything or call the callback if current
846 // directory changed. 846 // directory changed.
847 if (this.changeDirectorySequence_ !== sequence) { 847 if (this.changeDirectorySequence_ !== sequence) {
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
1200 if (this.onSearchCompleted_) { 1200 if (this.onSearchCompleted_) {
1201 this.removeEventListener('scan-completed', this.onSearchCompleted_); 1201 this.removeEventListener('scan-completed', this.onSearchCompleted_);
1202 this.onSearchCompleted_ = null; 1202 this.onSearchCompleted_ = null;
1203 } 1203 }
1204 1204
1205 if (this.onClearSearch_) { 1205 if (this.onClearSearch_) {
1206 this.onClearSearch_(); 1206 this.onClearSearch_();
1207 this.onClearSearch_ = null; 1207 this.onClearSearch_ = null;
1208 } 1208 }
1209 }; 1209 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698