Title: [144058] trunk/Source/WebCore
Revision
144058
Author
[email protected]
Date
2013-02-26 07:59:46 -0800 (Tue, 26 Feb 2013)

Log Message

Web Inspector: Migrate FileSystem inspection support to ResourceTreeModel's SecurityOriginAdded/Removed events.
https://bugs.webkit.org/show_bug.cgi?id=110878

Reviewed by Alexander Pavlov.

Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
FileSystemModel. This patch migrates FileSystem inspection support to new events.

* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel):
(WebInspector.FileSystemModel.prototype._reset):
(WebInspector.FileSystemModel.prototype._securityOriginAdded):
(WebInspector.FileSystemModel.prototype._securityOriginRemoved):
(WebInspector.FileSystemModel.prototype._addOrigin):
(WebInspector.FileSystemModel.prototype._removeOrigin):
(WebInspector.FileSystemModel.prototype.refreshFileSystemList):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (144057 => 144058)


--- trunk/Source/WebCore/ChangeLog	2013-02-26 15:57:50 UTC (rev 144057)
+++ trunk/Source/WebCore/ChangeLog	2013-02-26 15:59:46 UTC (rev 144058)
@@ -1,3 +1,22 @@
+2013-02-26  Vsevolod Vlasov  <[email protected]>
+
+        Web Inspector: Migrate FileSystem inspection support to ResourceTreeModel's SecurityOriginAdded/Removed events.
+        https://bugs.webkit.org/show_bug.cgi?id=110878
+
+        Reviewed by Alexander Pavlov.
+
+        Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
+        FileSystemModel. This patch migrates FileSystem inspection support to new events.
+
+        * inspector/front-end/FileSystemModel.js:
+        (WebInspector.FileSystemModel):
+        (WebInspector.FileSystemModel.prototype._reset):
+        (WebInspector.FileSystemModel.prototype._securityOriginAdded):
+        (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
+        (WebInspector.FileSystemModel.prototype._addOrigin):
+        (WebInspector.FileSystemModel.prototype._removeOrigin):
+        (WebInspector.FileSystemModel.prototype.refreshFileSystemList):
+
 2013-02-26  Antoine Quint  <[email protected]>
 
         Web Inspector: Cannot deep expand an element that has previously been partially expanded

Modified: trunk/Source/WebCore/inspector/front-end/FileSystemModel.js (144057 => 144058)


--- trunk/Source/WebCore/inspector/front-end/FileSystemModel.js	2013-02-26 15:57:50 UTC (rev 144057)
+++ trunk/Source/WebCore/inspector/front-end/FileSystemModel.js	2013-02-26 15:59:46 UTC (rev 144058)
@@ -36,123 +36,71 @@
 {
     WebInspector.Object.call(this);
 
-    this._originForFrameId = {};
-    this._frameIdsForOrigin = {};
     this._fileSystemsForOrigin = {};
 
-    WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, this._frameAdded, this);
-    WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
-    WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
+    WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this);
+    WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
 
     FileSystemAgent.enable();
 
-    if (WebInspector.resourceTreeModel.mainFrame)
-        this._attachFrameRecursively(WebInspector.resourceTreeModel.mainFrame);
+    this._reset();
 }
 
 WebInspector.FileSystemModel.prototype = {
-    /**
-     * @param {WebInspector.Event} event
-     */
-    _frameAdded: function(event)
+    _reset: function()
     {
-        var frame = /** @type {WebInspector.ResourceTreeFrame} */ (event.data);
-        this._attachFrameRecursively(frame);
+        for (var securityOrigin in this._fileSystemsForOrigin)
+            this._removeOrigin(securityOrigin);
+        var securityOrigins = WebInspector.resourceTreeModel.securityOrigins();
+        for (var i = 0; i < securityOrigins.length; ++i)
+            this._addOrigin(securityOrigins[i]);
     },
 
     /**
      * @param {WebInspector.Event} event
      */
-    _frameNavigated: function(event)
+    _securityOriginAdded: function(event)
     {
-        var frame = /** @type {WebInspector.ResourceTreeFrame} */ (event.data);
-        this._attachFrameRecursively(frame);
+        var securityOrigin = /** @type {string} */ (event.data);
+        this._addOrigin(securityOrigin);
     },
 
     /**
      * @param {WebInspector.Event} event
      */
-    _frameDetached: function(event)
+    _securityOriginRemoved: function(event)
     {
-        var frame = /** @type {WebInspector.ResourceTreeFrame} */ (event.data);
-        this._detachFrameRecursively(frame);
+        var securityOrigin = /** @type {string} */ (event.data);
+        this._removeOrigin(securityOrigin);
     },
 
     /**
-     * @param {WebInspector.ResourceTreeFrame} frame
+     * @param {string} securityOrigin
      */
-    _attachFrame: function(frame)
+    _addOrigin: function(securityOrigin)
     {
-        if (this._originForFrameId[frame.id])
-            this._detachFrameRecursively(frame);
+        this._fileSystemsForOrigin[securityOrigin] = {};
 
-        if (frame.securityOrigin === "null")
-            return;
-
-        this._originForFrameId[frame.id] = frame.securityOrigin;
-
-        var newOrigin = false;
-        if (!this._frameIdsForOrigin[frame.securityOrigin]) {
-            this._frameIdsForOrigin[frame.securityOrigin] = {};
-            newOrigin = true;
-        }
-        this._frameIdsForOrigin[frame.securityOrigin][frame.id] = frame.id;
-        if (newOrigin)
-            this._originAdded(frame.securityOrigin);
+        var types = ["persistent", "temporary"];
+        for (var i = 0; i < types.length; ++i)
+            this._requestFileSystemRoot(securityOrigin, types[i], this._fileSystemRootReceived.bind(this, securityOrigin, types[i], this._fileSystemsForOrigin[securityOrigin]));
     },
 
     /**
-     * @param {WebInspector.ResourceTreeFrame} frame
+     * @param {string} securityOrigin
      */
-    _attachFrameRecursively: function(frame)
+    _removeOrigin: function(securityOrigin)
     {
-        this._attachFrame(frame);
-        for (var i = 0; i < frame.childFrames.length; ++i)
-            this._attachFrameRecursively(frame.childFrames[i]);
-    },
-
-    /**
-     * @param {WebInspector.ResourceTreeFrame} frame
-     */
-    _detachFrame: function(frame)
-    {
-        if (!this._originForFrameId[frame.id])
-            return;
-        var origin = this._originForFrameId[frame.id];
-        delete this._originForFrameId[frame.id];
-        delete this._frameIdsForOrigin[origin][frame.id];
-
-        var lastOrigin = Object.isEmpty(this._frameIdsForOrigin[origin]);
-        if (lastOrigin) {
-            delete this._frameIdsForOrigin[origin];
-            this._originRemoved(origin);
+        for (var type in this._fileSystemsForOrigin[securityOrigin]) {
+            var fileSystem = this._fileSystemsForOrigin[securityOrigin][type];
+            delete this._fileSystemsForOrigin[securityOrigin][type];
+            this._fileSystemRemoved(fileSystem);
         }
+        delete this._fileSystemsForOrigin[securityOrigin];
     },
 
     /**
-     * @param {WebInspector.ResourceTreeFrame} frame
-     */
-    _detachFrameRecursively: function(frame)
-    {
-        for (var i = 0; i < frame.childFrames.length; ++i)
-            this._detachFrameRecursively(frame.childFrames[i]);
-        this._detachFrame(frame);
-    },
-
-    /**
      * @param {string} origin
-     */
-    _originAdded: function(origin)
-    {
-        this._fileSystemsForOrigin[origin] = {};
-
-        var types = ["persistent", "temporary"];
-        for (var i = 0; i < types.length; ++i)
-            this._requestFileSystemRoot(origin, types[i], this._fileSystemRootReceived.bind(this, origin, types[i], this._fileSystemsForOrigin[origin]));
-    },
-
-    /**
-     * @param {string} origin
      * @param {string} type
      * @param {function(number, FileSystemAgent.Entry=)} callback
      */
@@ -177,19 +125,6 @@
     },
 
     /**
-     * @param {string} origin
-     */
-    _originRemoved: function(origin)
-    {
-        for (var type in this._fileSystemsForOrigin[origin]) {
-            var fileSystem = this._fileSystemsForOrigin[origin][type];
-            delete this._fileSystemsForOrigin[origin][type];
-            this._fileSystemRemoved(fileSystem);
-        }
-        delete this._fileSystemsForOrigin[origin];
-    },
-
-    /**
      * @param {WebInspector.FileSystemModel.FileSystem} fileSystem
      */
     _fileSystemAdded: function(fileSystem)
@@ -207,10 +142,7 @@
 
     refreshFileSystemList: function()
     {
-        if (WebInspector.resourceTreeModel.mainFrame) {
-            this._detachFrameRecursively(WebInspector.resourceTreeModel.mainFrame);
-            this._attachFrameRecursively(WebInspector.resourceTreeModel.mainFrame);
-        }
+        this._reset();
     },
 
     /**
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to