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

Unified Diff: Source/devtools/front_end/sdk/WorkspaceController.js

Issue 353743008: DevTools: Throttle file system refreshes on focus. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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: Source/devtools/front_end/sdk/WorkspaceController.js
diff --git a/Source/devtools/front_end/sdk/WorkspaceController.js b/Source/devtools/front_end/sdk/WorkspaceController.js
index 9ae5d89996e71590fca1f5c087574519424c815f..923bfcc88a30528a2ba8bdaae44fb244dc9c47e7 100644
--- a/Source/devtools/front_end/sdk/WorkspaceController.js
+++ b/Source/devtools/front_end/sdk/WorkspaceController.js
@@ -36,6 +36,7 @@ WebInspector.WorkspaceController = function(workspace)
this._workspace = workspace;
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.InspectedURLChanged, this._inspectedURLChanged, this);
window.addEventListener("focus", this._windowFocused.bind(this), false);
+ this._fileSystemRefreshThrottler = new WebInspector.Throttler(1000);
}
WebInspector.WorkspaceController.prototype = {
@@ -52,19 +53,19 @@ WebInspector.WorkspaceController.prototype = {
*/
_windowFocused: function(event)
{
- if (this._fileSystemRefreshTimeout)
- return;
- this._fileSystemRefreshTimeout = setTimeout(refreshFileSystems.bind(this), 1000);
+ this._fileSystemRefreshThrottler.schedule(refreshFileSystems.bind(this));
/**
* @this {WebInspector.WorkspaceController}
+ * @param {!WebInspector.Throttler.FinishCallback} callback
*/
- function refreshFileSystems()
+ function refreshFileSystems(callback)
{
- delete this._fileSystemRefreshTimeout;
+ var barrier = new CallbackBarrier();
var projects = this._workspace.projects();
for (var i = 0; i < projects.length; ++i)
- projects[i].refresh("/");
+ projects[i].refresh("/", barrier.createCallback());
+ barrier.callWhenDone(callback);
lushnikov 2014/06/26 16:01:25 FYI: this differs from what it used to be, but I b
}
}
}
« Source/devtools/front_end/sdk/Workspace.js ('K') | « Source/devtools/front_end/sdk/Workspace.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698