Changeset 85048 in webkit


Ignore:
Timestamp:
Apr 27, 2011 5:37:13 AM (13 years ago)
Author:
pfeldman@chromium.org
Message:

2011-04-27 Pavel Feldman <pfeldman@google.com>

Reviewed by Yury Semikhatsky.

Web Inspector: clicking bookmarklet multiplies resources panel entries.
https://bugs.webkit.org/show_bug.cgi?id=59590

  • inspector/front-end/ResourceTreeModel.js: (WebInspector.ResourceTreeModel): (WebInspector.ResourceTreeModel.prototype._processCachedResources): (WebInspector.ResourceTreeModel.prototype._frameNavigated):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._populateResourceTree): (WebInspector.FrameTreeElement): (WebInspector.FrameTreeElement.prototype.appendResource):
  • inspector/front-end/inspector.js: (WebInspector.frontendReused):
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r85047 r85048  
     12011-04-27  Pavel Feldman  <pfeldman@google.com>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: clicking bookmarklet multiplies resources panel entries.
     6        https://bugs.webkit.org/show_bug.cgi?id=59590
     7
     8        * inspector/front-end/ResourceTreeModel.js:
     9        (WebInspector.ResourceTreeModel):
     10        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
     11        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
     12        * inspector/front-end/ResourcesPanel.js:
     13        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
     14        (WebInspector.FrameTreeElement):
     15        (WebInspector.FrameTreeElement.prototype.appendResource):
     16        * inspector/front-end/inspector.js:
     17        (WebInspector.frontendReused):
     18
    1192011-04-27  Pavel Feldman  <pfeldman@google.com>
    220
  • trunk/Source/WebCore/inspector/front-end/ResourceTreeModel.js

    r84909 r85048  
    4545    FrameDetached: "FrameDetached",
    4646    ResourceAdded: "ResourceAdded",
     47    WillLoadCachedResources: "WillLoadCachedResources",
    4748    CachedResourcesLoaded: "CachedResourcesLoaded",
    4849    DOMContentLoaded: "DOMContentLoaded",
     
    6566            return;
    6667
     68        this.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources);
    6769        WebInspector.mainResource = this._addFramesRecursively(mainFramePayload);
     70        this._dispatchInspectedURLChanged(WebInspector.mainResource.url);
     71        this.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded);
     72
    6873        this._cachedResourcesProcessed = true;
    69 
    70         this._dispatchInspectedURLChanged(WebInspector.mainResource.url);
    71 
    72         this.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded);
    7374    },
    7475
     
    116117
    117118        var isMainFrame = !frame.parentId;
    118         if (isMainFrame)
    119             this._dispatchInspectedURLChanged(WebInspector.mainResource.url);
    120119
    121120        this.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, { frame: frame, loaderId: loaderId, isMainFrame: isMainFrame });
     
    132131        }
    133132
    134         if (isMainFrame && this.resourceForURL(frame.url))
     133        if (isMainFrame && this.resourceForURL(frame.url)) {
    135134            WebInspector.mainResource = this.resourceForURL(frame.url);
    136 
    137         if (isMainFrame)
     135            this._dispatchInspectedURLChanged(frame.url);
    138136            WebInspector.Resource.clearRevisionHistory();
     137        }
    139138    },
    140139
  • trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js

    r84904 r85048  
    179179        WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
    180180        WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._cachedResourcesLoaded, this);
     181        WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources, this._resetResourcesTree, this);
    181182
    182183        function populateFrame(frameId)
     
    193194        }
    194195        populateFrame.call(this, 0);
     196
     197        this._initDefaultSelection();
    195198    },
    196199
     
    258261        if (event.data.isMainFrame) {
    259262            // Total update.
    260             this.resourcesListTreeElement.removeChildren();
    261             this._treeElementForFrameId = {};
    262             this._reset();
     263            this._resetResourcesTree();
    263264            return;
    264265        }
     
    268269        if (frameTreeElement)
    269270            frameTreeElement.removeChildren();       
     271    },
     272
     273    _resetResourcesTree: function()
     274    {
     275        this.resourcesListTreeElement.removeChildren();
     276        this._treeElementForFrameId = {};
     277        this._reset();
    270278    },
    271279
     
    927935    this.setTitles(title, subtitle);
    928936    this._categoryElements = {};
     937    this._treeElementForResource = {};
    929938}
    930939
     
    9921001    appendResource: function(resource)
    9931002    {
     1003        if (this._treeElementForResource[resource.url])
     1004            return;
     1005
    9941006        var categoryName = resource.category.name;
    9951007        var categoryElement = resource.category === WebInspector.resourceCategories.documents ? this : this._categoryElements[categoryName];
     
    10021014        this._insertInPresentationOrder(categoryElement, resourceTreeElement);
    10031015        resourceTreeElement._populateRevisions();
     1016
     1017        this._treeElementForResource[resource.url] = resourceTreeElement;
     1018    },
     1019
     1020    removeChildren: function()
     1021    {
     1022        WebInspector.BaseStorageTreeElement.prototype.removeChildren.call(this);
     1023        this._treeElementForResource = [];
    10041024    },
    10051025
  • trunk/Source/WebCore/inspector/front-end/inspector.js

    r84905 r85048  
    13681368WebInspector.frontendReused = function()
    13691369{
     1370    ConsoleAgent.enable(this.console.setConsoleMessageExpiredCount.bind(this.console));
     1371    DatabaseAgent.enable();
     1372    DOMStorageAgent.enable();
     1373
    13701374    this.networkManager.frontendReused();
    13711375    this.resourceTreeModel.frontendReused();
Note: See TracChangeset for help on using the changeset viewer.