Title: [120472] trunk/Source/WebCore
- Revision
- 120472
- Author
- [email protected]
- Date
- 2012-06-15 09:57:11 -0700 (Fri, 15 Jun 2012)
Log Message
Web Inspector: Add FileSystemRequestManager and FileSystemDispatcher
https://bugs.webkit.org/show_bug.cgi?id=89191
Patch by Taiju Tsuiki <[email protected]> on 2012-06-15
Reviewed by Vsevolod Vlasov.
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototoype._requestId):
(WebInspector.FileSystemRequestManager.prototoype.readDirectory):
(WebInspector.FileSystemRequestManager.prototoype._didReadDirectory):
(WebInspector.FileSystemDispatcher):
(WebInspector.FileSystemDispatcher.prototype.gotFileSystemRoot):
(WebInspector.FileSystemDispatcher.prototype.didReadDirectory):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (120471 => 120472)
--- trunk/Source/WebCore/ChangeLog 2012-06-15 16:50:44 UTC (rev 120471)
+++ trunk/Source/WebCore/ChangeLog 2012-06-15 16:57:11 UTC (rev 120472)
@@ -1,3 +1,20 @@
+2012-06-15 Taiju Tsuiki <[email protected]>
+
+ Web Inspector: Add FileSystemRequestManager and FileSystemDispatcher
+ https://bugs.webkit.org/show_bug.cgi?id=89191
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel):
+ (WebInspector.FileSystemRequestManager):
+ (WebInspector.FileSystemRequestManager.prototoype._requestId):
+ (WebInspector.FileSystemRequestManager.prototoype.readDirectory):
+ (WebInspector.FileSystemRequestManager.prototoype._didReadDirectory):
+ (WebInspector.FileSystemDispatcher):
+ (WebInspector.FileSystemDispatcher.prototype.gotFileSystemRoot):
+ (WebInspector.FileSystemDispatcher.prototype.didReadDirectory):
+
2012-06-15 Pavel Feldman <[email protected]>
Web Inspector: extension's Resource.getContent always returns original revision.
Modified: trunk/Source/WebCore/inspector/front-end/FileSystemModel.js (120471 => 120472)
--- trunk/Source/WebCore/inspector/front-end/FileSystemModel.js 2012-06-15 16:50:44 UTC (rev 120471)
+++ trunk/Source/WebCore/inspector/front-end/FileSystemModel.js 2012-06-15 16:57:11 UTC (rev 120472)
@@ -44,7 +44,7 @@
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
- FileSystemAgent.enable();
+ this._agentWrapper = new WebInspector.FileSystemRequestManager();
if (WebInspector.resourceTreeModel.mainFrame)
this._attachFrameRecursively(WebInspector.resourceTreeModel.mainFrame);
@@ -221,3 +221,73 @@
return "filesystem:" + this.origin + "/" + this.type;
}
}
+
+/**
+ * @constructor
+ */
+WebInspector.FileSystemRequestManager = function()
+{
+ this._pendingReadDirectoryRequests = {};
+
+ InspectorBackend.registerFileSystemDispatcher(new WebInspector.FileSystemDispatcher(this));
+ FileSystemAgent.enable();
+}
+
+WebInspector.FileSystemRequestManager.nextRequestId = 1;
+
+WebInspector.FileSystemRequestManager.prototype = {
+ /**
+ * @return {number}
+ */
+ _requestId: function()
+ {
+ return WebInspector.FileSystemRequestManager.nextRequestId++;
+ },
+
+ /**
+ * @param {string} url
+ * @param {function(number, Array.<FileSystemAgent.Entry>=)} callback
+ */
+ readDirectory: function(url, callback)
+ {
+ var requestId = this.requestId();
+ this._pendingReadDirectoryRequests[requestId] = callback;
+ FileSystemAgent.readDirectory(requestId, url);
+ },
+
+ /**
+ * @param {number} requestId
+ * @param {number} errorCode
+ * @param {Array.<FileSystemAgent.Entry>=} backendEntries
+ */
+ _didReadDirectory: function(requestId, errorCode, backendEntries)
+ {
+ var callback = /** @type {function(number, Array.<FileSystemAgent.Entry>=)} */ this._pendingReadDirectoryRequests[requestId];
+ if (!callback)
+ return;
+ delete this._pendingReadDirectoryRequests[requestId];
+ callback(errorCode, backendEntries);
+ }
+}
+
+/**
+ * @constructor
+ * @implements {FileSystemAgent.Dispatcher}
+ * @param {WebInspector.FileSystemRequestManager} agentWrapper
+ */
+WebInspector.FileSystemDispatcher = function(agentWrapper)
+{
+ this._agentWrapper = agentWrapper;
+}
+
+WebInspector.FileSystemDispatcher.prototype = {
+ /**
+ * @param {number} requestId
+ * @param {number} errorCode
+ * @param {Array.<FileSystemAgent.Entry>=} backendEntries
+ */
+ didReadDirectory: function(requestId, errorCode, backendEntries)
+ {
+ this._agentWrapper._didReadDirectory(requestId, errorCode, backendEntries);
+ }
+}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes