Changeset 70532 in webkit


Ignore:
Timestamp:
Oct 26, 2010 10:06:55 AM (14 years ago)
Author:
pfeldman@chromium.org
Message:

2010-10-26 Pavel Feldman <pfeldman@chromium.org>

Web Inspector: continue making resources panel optional.
https://bugs.webkit.org/show_bug.cgi?id=48261

This refactoring makes console, audits and extensions tests pass while taking data from
resources panel. Network panel as a source is to follow.

  • inspector/front-end/AuditLauncherView.js: (WebInspector.AuditLauncherView.prototype._createLauncherUI):
  • inspector/front-end/AuditsPanel.js:
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.addMessage):
  • inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments): (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
  • inspector/front-end/ExtensionServer.js: (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): (WebInspector.ExtensionServer.prototype._onGetResources): (WebInspector.ExtensionServer.prototype._onGetResourceContent):
  • inspector/front-end/HAREntry.js: (WebInspector.HARLog.prototype.build): (WebInspector.HARLog.prototype.buildMainResourceTimings): (WebInspector.HARLog.prototype._convertResource):
  • inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel): (WebInspector.NetworkPanel.prototype._reset): (WebInspector.NetworkPanel.prototype.get resources): (WebInspector.NetworkPanel.prototype.addResource):
  • inspector/front-end/Resource.js: (WebInspector.Resource.prototype.set category):
  • inspector/front-end/ResourceCategory.js: (WebInspector.ResourceCategory): (WebInspector.ResourceCategory.prototype.toString):
  • inspector/front-end/ResourceManager.js: (WebInspector.ResourceManager.prototype.identifierForInitialRequest): (WebInspector.ResourceManager.prototype.willSendRequest): (WebInspector.ResourceManager.prototype.didFinishLoading): (WebInspector.ResourceManager.prototype.didFailLoading): (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache): (WebInspector.ResourceManager.prototype.setOverrideContent): (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype.addResource): (WebInspector.ResourcesPanel.prototype.removeResource): (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.addScript): (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): (WebInspector.ScriptsPanel.prototype._breakpointAdded):
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
  • inspector/front-end/inspector.js: (WebInspector._updateFocusedNode): (WebInspector.get networkResources): (WebInspector.forAllResources): (WebInspector.updateResource): (WebInspector.domContentEventFired): (WebInspector.loadEventFired): (WebInspector.removeResource): (WebInspector.reset): (WebInspector.displayNameForURL): (WebInspector.linkifyStringAsFragment): (WebInspector.resourceURLForRelatedNode.callback): (WebInspector.resourceURLForRelatedNode):

2010-10-26 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: continue making resources panel optional.
https://bugs.webkit.org/show_bug.cgi?id=48261

This refactoring makes console, audits and extensions tests pass while taking data from
resources panel. Network panel as a source is to follow.

  • http/tests/inspector/inspector-test2.js: (initialize_InspectorTest.InspectorTest.completeTest): (initialize_InspectorTest.InspectorTest.evaluateInConsole): (initialize_InspectorTest.InspectorTest.evaluateInPage): (initialize_InspectorTest.InspectorTest.evaluateInPageWithTimeout): (initialize_InspectorTest.InspectorTest.addResult): (initialize_InspectorTest.InspectorTest.addObject): (initialize_InspectorTest.InspectorTest.reloadPage): (initialize_InspectorTest.InspectorTest.reloadPageIfNeeded): (initialize_InspectorTest.InspectorTest.pageReloaded): (initialize_InspectorTest.InspectorTest.runAfterPendingDispatches): (initialize_InspectorTest.InspectorTest.enableResourceTracking): (initialize_InspectorTest.InspectorTest.disableResourceTracking): (initialize_InspectorTest.InspectorTest.findDOMNode): (initialize_InspectorTest.InspectorTest._addSniffer):
  • http/tests/inspector/resource-parameters.html:
  • inspector/audits-panel-functional.html:
  • inspector/styles-source-offsets.html:
Location:
trunk
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r70531 r70532  
     12010-10-26  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: continue making resources panel optional.
     6        https://bugs.webkit.org/show_bug.cgi?id=48261
     7
     8        This refactoring makes console, audits and extensions tests pass while taking data from
     9        resources panel. Network panel as a source is to follow.
     10
     11        * http/tests/inspector/inspector-test2.js:
     12        (initialize_InspectorTest.InspectorTest.completeTest):
     13        (initialize_InspectorTest.InspectorTest.evaluateInConsole):
     14        (initialize_InspectorTest.InspectorTest.evaluateInPage):
     15        (initialize_InspectorTest.InspectorTest.evaluateInPageWithTimeout):
     16        (initialize_InspectorTest.InspectorTest.addResult):
     17        (initialize_InspectorTest.InspectorTest.addObject):
     18        (initialize_InspectorTest.InspectorTest.reloadPage):
     19        (initialize_InspectorTest.InspectorTest.reloadPageIfNeeded):
     20        (initialize_InspectorTest.InspectorTest.pageReloaded):
     21        (initialize_InspectorTest.InspectorTest.runAfterPendingDispatches):
     22        (initialize_InspectorTest.InspectorTest.enableResourceTracking):
     23        (initialize_InspectorTest.InspectorTest.disableResourceTracking):
     24        (initialize_InspectorTest.InspectorTest.findDOMNode):
     25        (initialize_InspectorTest.InspectorTest._addSniffer):
     26        * http/tests/inspector/resource-parameters.html:
     27        * inspector/audits-panel-functional.html:
     28        * inspector/styles-source-offsets.html:
     29
    1302010-10-26  Jeremy Orlow  <jorlow@chromium.org>
    231
  • trunk/LayoutTests/http/tests/inspector/inspector-test2.js

    r70525 r70532  
    77{
    88    InspectorBackend.didEvaluateForTestInFrontend(InspectorTest.completeTestCallId, "");
    9 };
     9}
    1010
    1111InspectorTest.evaluateInConsole = function(code, callback)
     
    2121                callback(commandResult.toMessageElement().textContent);
    2222        });
    23 };
     23}
    2424
    2525InspectorTest.evaluateInPage = function(code, callback)
    2626{
    2727    InjectedScriptAccess.getDefault().evaluate(code, "console", callback || function() {});
    28 };
     28}
    2929
    3030InspectorTest.evaluateInPageWithTimeout = function(code, callback)
    3131{
    3232    InspectorTest.evaluateInPage("setTimeout(unescape('" + escape(code) + "'))", callback);
    33 };
     33}
    3434
    3535InspectorTest.addResult = function(text)
     
    4848        InspectorTest.evaluateInPage("output(unescape('" + escape(text) + "'))");
    4949    }
    50 };
     50}
    5151
    5252InspectorTest.addObject = function(object, nondeterministicProps, prefix, firstLinePrefix)
     
    7272    }
    7373    InspectorTest.addResult(prefix + "}");
    74 };
     74}
    7575
    7676InspectorTest.reloadPage = function(callback)
    7777{
    7878    InspectorTest._reloadPageCallback = callback;
     79
     80    if (WebInspector.panels.network)
     81        WebInspector.panels.network._reset();
    7982    InspectorBackend.reloadPage();
    80 };
     83}
     84
     85InspectorTest.reloadPageIfNeeded = function(callback)
     86{
     87    if (!InspectorTest._pageWasReloaded)
     88        InspectorTest.reloadPage(callback);
     89    else
     90        callback();
     91}
    8192
    8293InspectorTest.pageReloaded = function()
    8394{
     95    InspectorTest._pageWasReloaded = true;
    8496    resultsSynchronized = false;
    8597    InspectorTest.addResult("Page reloaded.");
     
    89101        callback();
    90102    }
    91 };
     103}
    92104
    93105InspectorTest.runAfterPendingDispatches = function(callback)
    94106{
    95107    WebInspector.TestController.prototype.runAfterPendingDispatches(callback);
    96 };
     108}
    97109
    98110InspectorTest.enableResourceTracking = function(callback)
    99111{
     112    if (Preferences.networkPanelEnabled) {
     113        InspectorTest.reloadPageIfNeeded(callback);
     114        return;
     115    }
     116
    100117    if (WebInspector.panels.resources.resourceTrackingEnabled)
    101118        callback();
     
    104121        WebInspector.panels.resources._toggleResourceTracking();
    105122    }
    106 };
     123}
    107124
    108125InspectorTest.disableResourceTracking = function()
    109126{
     127    if (Preferences.networkPanelEnabled)
     128        return;
     129
    110130    if (WebInspector.panels.resources.resourceTrackingEnabled)
    111131        WebInspector.panels.resources._toggleResourceTracking();
    112 };
     132}
    113133
    114134InspectorTest.findDOMNode = function(root, filter, callback)
     
    151171        }
    152172    }
    153 };
     173}
    154174
    155175InspectorTest._addSniffer = function(receiver, methodName, override, opt_sticky)
     
    174194        return result;
    175195    };
    176 };
     196}
    177197
    178198};
  • trunk/LayoutTests/http/tests/inspector/resource-parameters.html

    r70525 r70532  
    4242function frontend_dumpFormData(testController)
    4343{
    44     var resource = WebInspector.resourceURLMap["http://localhost:8000/inspector/resources/post-target.cgi?queryParam1=queryValue1&queryParam2="];
     44    var resource = WebInspector.resourceForURL("http://localhost:8000/inspector/resources/post-target.cgi?queryParam1=queryValue1&queryParam2=");
    4545
    4646    WebInspector.panels.resources._toggleResourceTracking();
  • trunk/LayoutTests/inspector/audits-panel-functional.html

    r70525 r70532  
    3434function frontend_runAudits(testController)
    3535{
    36     if (!WebInspector.panels.resources.resourceTrackingEnabled) {
     36    if (Preferences.networkPanelEnabled) {
     37        if (!WebInspector.panels.network._pageWasReloaded) {
     38            WebInspector.panels.network._pageWasReloaded = true;
     39            WebInspector.panels.network._reset();
     40            InspectorBackend.reloadPage();
     41            return "refreshing";
     42        }
     43    } else if (!WebInspector.panels.resources.resourceTrackingEnabled) {
    3744        WebInspector.panels.resources._toggleResourceTracking();
    3845        return "refreshing";
     
    5360            var output = frontend_collectAuditResults();
    5461            // Avoid influencing tests that require resource tracking to be disabled.
    55             WebInspector.panels.resources._toggleResourceTracking();
     62            if (!Preferences.networkPanelEnabled)
     63                WebInspector.panels.resources._toggleResourceTracking();
    5664            testController.runAfterPendingDispatches(function() {
    5765                testController.notifyDone(output.join("\n"));
  • trunk/LayoutTests/inspector/styles-source-offsets.html

    r70525 r70532  
    2525function frontend_runTest(testController)
    2626{
    27     if (!WebInspector.panels.resources.resourceTrackingEnabled) {
     27    if (!Preferences.networkPanelEnabled && !WebInspector.panels.resources.resourceTrackingEnabled) {
    2828        WebInspector.panels.resources._toggleResourceTracking();
    2929        return "refreshing";
  • trunk/WebCore/ChangeLog

    r70531 r70532  
     12010-10-26  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Web Inspector: continue making resources panel optional.
     4        https://bugs.webkit.org/show_bug.cgi?id=48261
     5
     6        This refactoring makes console, audits and extensions tests pass while taking data from
     7        resources panel. Network panel as a source is to follow.
     8
     9        * inspector/front-end/AuditLauncherView.js:
     10        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
     11        * inspector/front-end/AuditsPanel.js:
     12        * inspector/front-end/ConsoleView.js:
     13        (WebInspector.ConsoleView.prototype.addMessage):
     14        * inspector/front-end/CookieItemsView.js:
     15        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
     16        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
     17        * inspector/front-end/ExtensionServer.js:
     18        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
     19        (WebInspector.ExtensionServer.prototype._onGetResources):
     20        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
     21        * inspector/front-end/HAREntry.js:
     22        (WebInspector.HARLog.prototype.build):
     23        (WebInspector.HARLog.prototype.buildMainResourceTimings):
     24        (WebInspector.HARLog.prototype._convertResource):
     25        * inspector/front-end/NetworkPanel.js:
     26        (WebInspector.NetworkPanel):
     27        (WebInspector.NetworkPanel.prototype._reset):
     28        (WebInspector.NetworkPanel.prototype.get resources):
     29        (WebInspector.NetworkPanel.prototype.addResource):
     30        * inspector/front-end/Resource.js:
     31        (WebInspector.Resource.prototype.set category):
     32        * inspector/front-end/ResourceCategory.js:
     33        (WebInspector.ResourceCategory):
     34        (WebInspector.ResourceCategory.prototype.toString):
     35        * inspector/front-end/ResourceManager.js:
     36        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
     37        (WebInspector.ResourceManager.prototype.willSendRequest):
     38        (WebInspector.ResourceManager.prototype.didFinishLoading):
     39        (WebInspector.ResourceManager.prototype.didFailLoading):
     40        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
     41        (WebInspector.ResourceManager.prototype.setOverrideContent):
     42        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
     43        * inspector/front-end/ResourcesPanel.js:
     44        (WebInspector.ResourcesPanel):
     45        (WebInspector.ResourcesPanel.prototype.reset):
     46        (WebInspector.ResourcesPanel.prototype.addResource):
     47        (WebInspector.ResourcesPanel.prototype.removeResource):
     48        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
     49        * inspector/front-end/ScriptsPanel.js:
     50        (WebInspector.ScriptsPanel.prototype.addScript):
     51        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
     52        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
     53        * inspector/front-end/StylesSidebarPane.js:
     54        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
     55        * inspector/front-end/inspector.js:
     56        (WebInspector._updateFocusedNode):
     57        (WebInspector.get networkResources):
     58        (WebInspector.forAllResources):
     59        (WebInspector.resourceForURL):
     60        (WebInspector.updateResource):
     61        (WebInspector.domContentEventFired):
     62        (WebInspector.loadEventFired):
     63        (WebInspector.removeResource):
     64        (WebInspector.reset):
     65        (WebInspector.displayNameForURL):
     66        (WebInspector.linkifyStringAsFragment):
     67        (WebInspector.resourceURLForRelatedNode.callback):
     68        (WebInspector.resourceURLForRelatedNode):
     69
    1702010-10-26  Jeremy Orlow  <jorlow@chromium.org>
    271
  • trunk/WebCore/inspector/front-end/AuditLauncherView.js

    r70525 r70532  
    270270        this.updateResourceTrackingState();
    271271        this._updateButton();
     272        this._updateResourceProgress();
    272273    },
    273274
  • trunk/WebCore/inspector/front-end/AuditsPanel.js

    r70525 r70532  
    131131    {
    132132        var resources = [];
    133         for (var id in WebInspector.resources)
    134             resources.push(WebInspector.resources[id]);
     133        for (var id in WebInspector.networkResources)
     134            resources.push(WebInspector.networkResources[id]);
    135135
    136136        var rulesRemaining = 0;
  • trunk/WebCore/inspector/front-end/ConsoleView.js

    r70525 r70532  
    226226
    227227            // Add message to the resource panel
    228             if (msg.url in WebInspector.resourceURLMap) {
    229                 msg.resource = WebInspector.resourceURLMap[msg.url];
    230                 if (WebInspector.panels.resources)
    231                     WebInspector.panels.resources.addMessageToResource(msg.resource, msg);
    232             }
    233             if (WebInspector.resourceManager)
     228            if (!Preferences.networkPanelEnabled) {
     229                var resource = WebInspector.resourceForURL(msg.url);
     230                if (resource) {
     231                    msg.resource = resource;
     232                    if (WebInspector.panels.resources)
     233                        WebInspector.panels.resources.addMessageToResource(msg.resource, msg);
     234                }
     235            } else
    234236                WebInspector.resourceManager.addConsoleMessage(msg);
    235237
  • trunk/WebCore/inspector/front-end/CookieItemsView.js

    r70529 r70532  
    250250        this._totalSize = 0;
    251251
    252         for (var id in WebInspector.resources) {
    253             var resource = WebInspector.resources[id];
     252        function populateResourcesForDocuments(resource)
     253        {
    254254            var url = resource.documentURL.asParsedURL();
    255255            if (url && url.host == this._cookieDomain)
    256256                resourceURLsForDocumentURL.push(resource.url);
    257257        }
     258        WebInspector.forAllResources(populateResourcesForDocuments);
    258259
    259260        for (var i = 0; i < allCookies.length; ++i) {
  • trunk/WebCore/inspector/front-end/ExtensionServer.js

    r70525 r70532  
    241241        var resource = null;
    242242
    243         resource = WebInspector.resources[id] || WebInspector.resourceForURL(id);
     243        resource = WebInspector.networkResources[id] || WebInspector.resourceForURL(id);
    244244        if (!resource)
    245245            return this._status.E_NOTFOUND(typeof id + ": " + id);
     
    262262        function resourceWrapper(id)
    263263        {
    264             return WebInspector.extensionServer._convertResource(WebInspector.resources[id]);
     264            return WebInspector.extensionServer._convertResource(WebInspector.networkResources[id]);
    265265        }
    266266
    267267        var response;
    268268        if (request.id)
    269             response = WebInspector.resources[request.id] ? resourceWrapper(request.id) : this._status.E_NOTFOUND(request.id);
    270         else
    271             response = Object.keys(WebInspector.resources).map(resourceWrapper);
     269            response = WebInspector.networkResources[request.id] ? resourceWrapper(request.id) : this._status.E_NOTFOUND(request.id);
     270        else
     271            response = Object.keys(WebInspector.networkResources).map(resourceWrapper);
    272272        return response;
    273273    },
     
    299299        for (var i = 0; i < ids.length; ++i) {
    300300            var id = ids[i];
    301             var resource = WebInspector.resources[id];
     301            var resource = WebInspector.networkResources[id];
    302302            if (!resource)
    303303                response.push(this._status.E_NOTFOUND(id));
  • trunk/WebCore/inspector/front-end/HAREntry.js

    r70525 r70532  
    181181        return typeof startTime !== "number" || startTime === -1 ? -1 : Math.round(timing[end] - startTime);
    182182    }
    183 };
     183}
    184184
    185185WebInspector.HAREntry._toMilliseconds = function(time)
     
    204204            },
    205205            pages: this._buildPages(),
    206             entries: Object.keys(WebInspector.resources).map(this._convertResource)
     206            entries: Object.keys(WebInspector.networkResources).map(this._convertResource)
    207207        }
    208208    },
     
    222222    buildMainResourceTimings: function()
    223223    {
    224         var resourcesPanel = WebInspector.panels.resources;
    225         var startTime = WebInspector.mainResource.startTime;
    226         return {
    227              onContentLoad: this._pageEventTime(resourcesPanel.mainResourceDOMContentTime),
    228              onLoad: this._pageEventTime(resourcesPanel.mainResourceLoadTime),
     224        return {
     225             onContentLoad: this._pageEventTime(WebInspector.mainResourceDOMContentTime),
     226             onLoad: this._pageEventTime(WebInspector.mainResourceLoadTime),
    229227        }
    230228    },
     
    232230    _convertResource: function(id)
    233231    {
    234         return (new WebInspector.HAREntry(WebInspector.resources[id])).build();
     232        return (new WebInspector.HAREntry(WebInspector.networkResources[id])).build();
    235233    },
    236234
     
    242240        return WebInspector.HAREntry._toMilliseconds(time - startTime);
    243241    }
    244 };
     242}
  • trunk/WebCore/inspector/front-end/NetworkPanel.js

    r70525 r70532  
    3737
    3838    this._resources = [];
     39    this._resourcesById = {};
     40    this._lastIdentifier = 0;
    3941    this._staleResources = [];
    4042    this._resourceGridNodes = {};
     
    759761
    760762        this._resources = [];
     763        this._resourcesById = {};
    761764        this._staleResources = [];
    762765        this._resourceGridNodes = {};
     
    774777    },
    775778
     779    get resources()
     780    {
     781        return this._resourcesById;
     782    },
     783
    776784    addResource: function(resource)
    777785    {
    778786        this._resources.push(resource);
     787        if (!resource.identifier)
     788            resource.identifier = "network:" + this._lastIdentifier++;
     789        this._resourcesById[resource.identifier] = resource;
    779790        this.refreshResource(resource);
    780791    },
  • trunk/WebCore/inspector/front-end/Resource.js

    r70525 r70532  
    278278    set category(x)
    279279    {
    280         if (this._category === x)
    281             return;
    282 
    283         var oldCategory = this._category;
    284         if (oldCategory)
    285             oldCategory.removeResource(this);
    286 
    287280        this._category = x;
    288 
    289         if (this._category)
    290             this._category.addResource(this);
    291281    },
    292282
  • trunk/WebCore/inspector/front-end/ResourceCategory.js

    r70525 r70532  
    3232    this.title = title;
    3333    this.color = color;
    34     this.resources = [];
    3534}
    3635
    3736WebInspector.ResourceCategory.prototype = {
    38 
    3937    toString: function()
    4038    {
    4139        return this.title;
    42     },
    43 
    44     addResource: function(resource)
    45     {
    46         var a = resource;
    47         var resourcesLength = this.resources.length;
    48         for (var i = 0; i < resourcesLength; ++i) {
    49             var b = this.resources[i];
    50             if (a.lastPathComponentLowerCase && b.lastPathComponentLowerCase)
    51                 if (a.lastPathComponentLowerCase < b.lastPathComponentLowerCase)
    52                     break;
    53             else if (a.name && b.name)
    54                 if (a.name < b.name)
    55                     break;
    56         }
    57 
    58         this.resources.splice(i, 0, resource);
    59     },
    60 
    61     removeResource: function(resource)
    62     {
    63         this.resources.remove(resource, true);
    64     },
    65 
    66     removeAllResources: function(resource)
    67     {
    68         this.resources = [];
    6940    }
    7041}
  • trunk/WebCore/inspector/front-end/ResourceManager.js

    r70525 r70532  
    6969
    7070        WebInspector.panels.network.addResource(resource);
     71        WebInspector.panels.audits.resourceStarted(resource);
    7172    },
    7273
     
    100101        resource.startTime = time;
    101102
    102         if (isRedirect)
     103        if (isRedirect) {
    103104            WebInspector.panels.network.addResource(resource);
    104         else
     105            WebInspector.panels.audits.resourceStarted(resource);
     106        } else
    105107            WebInspector.panels.network.refreshResource(resource);
    106108    },
     
    187189
    188190        WebInspector.panels.network.refreshResource(resource);
     191        WebInspector.panels.audits.resourceFinished(resource);
    189192        delete this._resourcesById[identifier];
    190193    },
     
    200203
    201204        WebInspector.panels.network.refreshResource(resource);
     205        WebInspector.panels.audits.resourceFinished(resource);
    202206        delete this._resourcesById[identifier];
    203207    },
     
    211215
    212216        WebInspector.panels.network.addResource(resource);
     217        WebInspector.panels.audits.resourceStarted(resource);
     218        WebInspector.panels.audits.resourceFinished(resource);
    213219        this._resourceTreeModel.addResourceToFrame(resource.loader.frameId, resource);
    214220    },
     
    230236        resource.overridenContent = sourceString;
    231237
    232         WebInspector.panels.network.addResource(resource);
     238        WebInspector.panels.network.refreshResource(resource);
    233239    },
    234240
     
    547553    {
    548554        var resources = this._resourcesByFrameId[frameId];
    549         for (var i = 0; resources && i < resources.length; ++i)
    550             callback(resources[i]);
     555        for (var i = 0; resources && i < resources.length; ++i) {
     556            if (callback(resources[i]))
     557                return true;
     558        }
    551559       
    552560        var frames = this._subframes[frameId];
    553561        if (frames) {
    554             for (var id in frames)
    555                 this._callForFrameResources(id, callback);
    556         }
     562            for (var id in frames) {
     563                if (this._callForFrameResources(id, callback))
     564                    return true;
     565            }
     566        }
     567        return false;
    557568    }
    558569}
  • trunk/WebCore/inspector/front-end/ResourcesPanel.js

    r70525 r70532  
    3131{
    3232    WebInspector.Panel.call(this, "resources");
    33 
     33    this.resourceURLMap = {};
    3434    this._items = [];
    3535    this._staleItems = [];
     
    753753            this.panelEnablerView.visible = true;
    754754        }
     755        this.resourceURLMap = {};
    755756    },
    756757
    757758    addResource: function(resource)
    758759    {
     760        this.resourceURLMap[resource.url] = resource;
    759761        this._resources.push(resource);
    760762    },
     
    771773
    772774        delete resource._resourcesView;
     775        delete this.resourceURLMap[resource.url];
    773776    },
    774777
     
    10831086            this.sortingSelectElement.visible = false;
    10841087            WebInspector.resources = {};
    1085             WebInspector.resourceURLMap = {};
     1088            this.resourceURLMap = {};
    10861089            InspectorBackend.setResourceTrackingEnabled(false, true, callback);
    10871090        } else {
  • trunk/WebCore/inspector/front-end/ScriptsPanel.js

    r70525 r70532  
    242242        this._sourceIDMap[sourceID] = script;
    243243
    244         var resource = WebInspector.resourceURLMap[sourceURL];
     244        var resource = WebInspector.resourceForURL(sourceURL);
    245245        if (resource) {
    246246            if (resource.finished) {
     
    270270    {
    271271        var resource = e.target;
     272        WebInspector.log("_resourceLoadingFinished:" + resource.url);
    272273        for (var i = 0; i < resource._scriptsPendingResourceLoad.length; ++i) {
    273274            // Bind script to resource.
     
    290291        var sourceFrame;
    291292        if (breakpoint.url) {
    292             var resource = WebInspector.resourceURLMap[breakpoint.url];
     293            var resource = WebInspector.resourceForURL(breakpoint.url);
    293294            if (resource && resource.finished)
    294295                sourceFrame = this._sourceFrameForScriptOrResource(resource);
  • trunk/WebCore/inspector/front-end/StylesSidebarPane.js

    r70525 r70532  
    11871187                var container = document.createDocumentFragment();
    11881188                container.appendChild(document.createTextNode("url("));
    1189                 container.appendChild(WebInspector.linkifyURLAsNode(url, url, null, (url in WebInspector.resourceURLMap)));
     1189                var hasResource = !!WebInspector.resourceForURL(url);
     1190                container.appendChild(WebInspector.linkifyURLAsNode(url, url, null, hasResource));
    11901191                container.appendChild(document.createTextNode(")"));
    11911192                return container;
  • trunk/WebCore/inspector/front-end/inspector.js

    r70525 r70532  
    5151var WebInspector = {
    5252    resources: {},
    53     resourceURLMap: {},
    5453    cookieDomains: {},
    5554    applicationCacheDomains: {},
     
    453452        this.currentPanel = this.panels.elements;
    454453        this.panels.elements.updateFocusedNode(nodeId);
     454    },
     455
     456    get networkResources()
     457    {
     458        if (Preferences.networkPanelEnabled)
     459            return this.panels.network.resources;
     460        else
     461            return this.resources;
     462    },
     463
     464    forAllResources: function(callback)
     465    {
     466        if (Preferences.networkPanelEnabled)
     467            WebInspector.resourceManager.forAllResources(callback);
     468        else {
     469            for (var id in WebInspector.panels.resources.resources) {
     470                if (callback(WebInspector.panels.resources.resources[id]))
     471                    return;
     472            }
     473        }
     474    },
     475
     476    resourceForURL: function(url)
     477    {
     478        if (Preferences.networkPanelEnabled)
     479            return this.resourceManager.resourceForURL(url);
     480        return this.panels.resources.resourceURLMap[url];
    455481    }
    456482}
     
    12461272        resource = new WebInspector.Resource(identifier, payload.url);
    12471273        this.resources[identifier] = resource;
    1248         this.resourceURLMap[resource.url] = resource;
    12491274        this.panels.resources.addResource(resource);
    12501275        this.panels.audits.resourceStarted(resource);
     
    13181343    if (this.panels.network)
    13191344        this.panels.network.mainResourceDOMContentTime = time;
     1345    this.mainResourceDOMContentTime = time;
    13201346}
    13211347
     
    13271353    if (this.panels.network)
    13281354        this.panels.network.mainResourceLoadTime = time;
     1355    this.mainResourceLoadTime = time;
    13291356}
    13301357
     
    13381365        return;
    13391366
    1340     resource.category.removeResource(resource);
    1341     delete this.resourceURLMap[resource.url];
    13421367    delete this.resources[identifier];
    13431368
     
    14831508    this.sessionSettings.reset();
    14841509
    1485     for (var category in this.resourceCategories)
    1486         this.resourceCategories[category].removeAllResources();
    1487 
    14881510    this.resources = {};
    1489     this.resourceURLMap = {};
    14901511    this.cookieDomains = {};
    14911512    this.applicationCacheDomains = {};
    14921513    this.highlightDOMNode(0);
    14931514
    1494     delete this.mainResource;
     1515    if (!Preferences.networkPanelEnabled)
     1516        delete this.mainResource;
    14951517
    14961518    this.console.clearMessages();
     
    17021724        return "";
    17031725
    1704     if (WebInspector.resourceManager) {
    1705         var resource = WebInspector.resourceManager.resourceForURL(url);
    1706         if (resource)
    1707             return resource.displayName;
    1708     }
    1709 
    1710     var resource = this.resourceURLMap[url];
     1726    var resource = this.resourceForURL(url);
    17111727    if (resource)
    17121728        return resource.displayName;
     
    17261742}
    17271743
    1728 WebInspector.resourceForURL = function(url)
    1729 {
    1730     if (url in this.resourceURLMap)
    1731         return this.resourceURLMap[url];
    1732 
    1733     // No direct match found. Search for resources that contain
    1734     // a substring of the URL.
    1735     for (var resourceURL in this.resourceURLMap) {
    1736         if (resourceURL.hasSubstring(url))
    1737             return this.resourceURLMap[resourceURL];
    1738     }
    1739 
    1740     return null;
    1741 }
    1742 
    17431744WebInspector._choosePanelToShowSourceLine = function(url, line, preferredPanel)
    17441745{
     
    17891790
    17901791        var realURL = (linkString.indexOf("www.") === 0 ? "http://" + linkString : linkString);
    1791         container.appendChild(WebInspector.linkifyURLAsNode(realURL, title, null, (realURL in WebInspector.resourceURLMap)));
     1792        var hasResourceWithURL = !!WebInspector.resourceForURL(realURL);
     1793        container.appendChild(WebInspector.linkifyURLAsNode(realURL, title, null, hasResourceWithURL));
    17921794        string = string.substring(linkIndex + linkString.length, string.length);
    17931795    }
     
    18571859
    18581860    // documentURL not found or has bad value
    1859     for (var resourceURL in WebInspector.resourceURLMap) {
    1860         var parsedURL = resourceURL.asParsedURL();
    1861         if (parsedURL && parsedURL.path === url)
    1862             return resourceURL;
    1863     }
    1864     return url;
    1865 },
     1861    var resourceURL = url;
     1862    function callback(resource)
     1863    {
     1864        if (resource.path === url) {
     1865            resourceURL = resource.url;
     1866            return true;
     1867        }
     1868    }
     1869    WebInspector.forAllResources(callback);
     1870    return resourceURL;
     1871}
    18661872
    18671873WebInspector.completeURL = function(baseURL, href)
Note: See TracChangeset for help on using the changeset viewer.