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

Unified Diff: chrome/browser/resources/file_manager/js/file_manager.js

Issue 25278002: Extract ContentScanner from DirectoryContent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/file_manager/js/file_manager.js
diff --git a/chrome/browser/resources/file_manager/js/file_manager.js b/chrome/browser/resources/file_manager/js/file_manager.js
index 36035cc7f3af68f8b6322f2cfc4c96e9660bc076..f531c1cc5702d288fa1bba29a57dcafc86653719 100644
--- a/chrome/browser/resources/file_manager/js/file_manager.js
+++ b/chrome/browser/resources/file_manager/js/file_manager.js
@@ -2669,7 +2669,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
* @private
*/
FileManager.prototype.onScanStarted_ = function() {
- if (this.scanInProgress_ && !this.scanUpdatedAtLeastOnceOrCompleted_) {
+ if (this.scanInProgress_) {
this.table_.list.endBatchUpdates();
this.grid_.endBatchUpdates();
}
@@ -2710,21 +2710,23 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.hideSpinnerLater_();
this.refreshCurrentDirectoryMetadata_();
+ if (this.scanUpdatedTimer_) {
mtomasz 2013/10/01 02:13:44 Can you please briefly explain this change? Thanks
hidehiko 2013/10/01 04:12:23 This patch fixes some weird event firing in Direct
+ clearTimeout(this.scanUpdatedTimer_);
+ this.scanUpdatedTimer_ = null;
+ }
+
// To avoid flickering postpone updating the ui by a small amount of time.
// There is a high chance, that metadata will be received within 50 ms.
this.scanCompletedTimer_ = setTimeout(function() {
// Check if batch updates are already finished by onScanUpdated_().
- if (this.scanUpdatedAtLeastOnceOrCompleted_)
- return;
- this.scanUpdatedAtLeastOnceOrCompleted_ = true;
- this.scanInProgress_ = false;
- if (this.scanUpdatedTimer_) {
- clearTimeout(this.scanUpdatedTimer_);
- this.scanUpdatedTimer_ = null;
+ if (!this.scanUpdatedAtLeastOnceOrCompleted_) {
+ this.scanUpdatedAtLeastOnceOrCompleted_ = true;
+ this.updateMiddleBarVisibility_();
}
+
+ this.scanInProgress_ = false;
this.table_.list.endBatchUpdates();
this.grid_.endBatchUpdates();
- this.updateMiddleBarVisibility_();
this.scanCompletedTimer_ = null;
}.bind(this), 50);
};
@@ -2738,26 +2740,26 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
return;
}
- // We need to hide the spinner only once.
- if (this.scanUpdatedAtLeastOnceOrCompleted_ || this.scanUpdatedTimer_)
+ if (this.scanUpdatedTimer_ || this.scanCompletedTimer_)
return;
// Show contents incrementally by finishing batch updated, but only after
// 200ms elapsed, to avoid flickering when it is not necessary.
this.scanUpdatedTimer_ = setTimeout(function() {
// We need to hide the spinner only once.
- if (this.scanUpdatedAtLeastOnceOrCompleted_)
- return;
- if (this.scanCompletedTimer_) {
- clearTimeout(this.scanCompletedTimer_);
- this.scanCompletedTimer_ = null;
+ if (!this.scanUpdatedAtLeastOnceOrCompleted_) {
+ this.scanUpdatedAtLeastOnceOrCompleted_ = true;
+ this.hideSpinnerLater_();
+ this.updateMiddleBarVisibility_();
+ }
+
+ // Update the UI.
+ if (this.scanInProgress_) {
+ this.table_.list.endBatchUpdates();
+ this.grid_.endBatchUpdates();
+ this.table_.list.startBatchUpdates();
+ this.grid_.startBatchUpdates();
}
- this.scanUpdatedAtLeastOnceOrCompleted_ = true;
- this.scanInProgress_ = false;
- this.hideSpinnerLater_();
- this.table_.list.endBatchUpdates();
- this.grid_.endBatchUpdates();
- this.updateMiddleBarVisibility_();
this.scanUpdatedTimer_ = null;
}.bind(this), 200);
};
@@ -2784,10 +2786,12 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
// Finish unfinished batch updates.
if (!this.scanUpdatedAtLeastOnceOrCompleted_) {
this.scanUpdatedAtLeastOnceOrCompleted_ = true;
+ this.updateMiddleBarVisibility_();
+ }
+ if (this.scanInProgress_) {
mtomasz 2013/10/01 02:25:23 This will always return true because of #2771, so
hidehiko 2013/10/01 04:12:23 Done.
this.scanInProgress_ = false;
this.table_.list.endBatchUpdates();
this.grid_.endBatchUpdates();
- this.updateMiddleBarVisibility_();
}
};

Powered by Google App Engine
This is Rietveld 408576698