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

Reply via email to