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
|
} |
} |
} |