Changeset 91264 in webkit


Ignore:
Timestamp:
Jul 19, 2011 9:38:33 AM (13 years ago)
Author:
vsevik@chromium.org
Message:

Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
https://bugs.webkit.org/show_bug.cgi?id=64746

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):

  • inspector/ConsoleMessage.h:
  • inspector/IdentifiersFactory.cpp:

(WebCore::IdentifiersFactory::createIdentifier):
(WebCore::IdentifiersFactory::resourceId):
(WebCore::IdentifiersFactory::addProcessIdPrefixTo):

  • inspector/IdentifiersFactory.h:
  • inspector/Inspector.json:
  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::setInitialScriptContent):
(WebCore::InspectorResourceAgent::setInitialXHRContent):
(WebCore::InspectorResourceAgent::didReceiveXHRResponse):
(WebCore::InspectorResourceAgent::didCreateWebSocket):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::getResourceContent):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):

  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::resourceCreated):
(WebCore::NetworkResourcesData::responseReceived):
(WebCore::NetworkResourcesData::setResourceType):
(WebCore::NetworkResourcesData::resourceType):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeAddResourceData):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):
(WebCore::NetworkResourcesData::addCachedResource):
(WebCore::NetworkResourcesData::addResourceSharedBuffer):
(WebCore::NetworkResourcesData::data):
(WebCore::NetworkResourcesData::clear):
(WebCore::NetworkResourcesData::ensureNoDataForResourceId):
(WebCore::NetworkResourcesData::ensureFreeSpace):

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::resourceId):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):

  • inspector/TimelineRecordFactory.h:

LayoutTests:

  • inspector/timeline/timeline-network-resource-expected.txt:
  • platform/chromium/inspector/timeline/timeline-network-resource-expected.txt:
Location:
trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r91259 r91264  
     12011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
     4        https://bugs.webkit.org/show_bug.cgi?id=64746
     5
     6        Reviewed by Pavel Feldman.
     7
     8        * inspector/timeline/timeline-network-resource-expected.txt:
     9        * platform/chromium/inspector/timeline/timeline-network-resource-expected.txt:
     10
    1112011-07-19  Jeremy Moskovich  <jeremy@chromium.org>
    212
  • trunk/LayoutTests/inspector/timeline/timeline-network-resource-expected.txt

    r87395 r91264  
    88    startTime : <number>
    99    data : {
    10         identifier : <number>
     10        identifier : <string>
    1111        url : <string>
    1212        requestMethod : "GET"
     
    2121    startTime : <number>
    2222    data : {
    23         identifier : <number>
     23        identifier : <string>
    2424        statusCode : 0
    2525        mimeType : <string>
     
    3636    startTime : <number>
    3737    data : {
    38         identifier : <number>
     38        identifier : <string>
    3939        didFail : false
    4040    }
  • trunk/LayoutTests/platform/chromium/inspector/timeline/timeline-network-resource-expected.txt

    r87395 r91264  
    99    stackTrace : <object>
    1010    data : {
    11         identifier : <number>
     11        identifier : <string>
    1212        url : <string>
    1313        requestMethod : "GET"
     
    2222    startTime : <number>
    2323    data : {
    24         identifier : <number>
     24        identifier : <string>
    2525        statusCode : 0
    2626        mimeType : <string>
     
    3737    startTime : <number>
    3838    data : {
    39         identifier : <number>
     39        identifier : <string>
    4040        didFail : false
    4141    }
  • trunk/Source/WebCore/ChangeLog

    r91263 r91264  
     12011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
     4        https://bugs.webkit.org/show_bug.cgi?id=64746
     5
     6        Reviewed by Pavel Feldman.
     7
     8        * inspector/ConsoleMessage.cpp:
     9        (WebCore::ConsoleMessage::ConsoleMessage):
     10        (WebCore::ConsoleMessage::addToFrontend):
     11        * inspector/ConsoleMessage.h:
     12        * inspector/IdentifiersFactory.cpp:
     13        (WebCore::IdentifiersFactory::createIdentifier):
     14        (WebCore::IdentifiersFactory::resourceId):
     15        (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
     16        * inspector/IdentifiersFactory.h:
     17        * inspector/Inspector.json:
     18        * inspector/InspectorConsoleAgent.cpp:
     19        (WebCore::InspectorConsoleAgent::didReceiveResponse):
     20        (WebCore::InspectorConsoleAgent::didFailLoading):
     21        * inspector/InspectorPageAgent.h:
     22        * inspector/InspectorResourceAgent.cpp:
     23        (WebCore::InspectorResourceAgent::willSendRequest):
     24        (WebCore::InspectorResourceAgent::markResourceAsCached):
     25        (WebCore::InspectorResourceAgent::didReceiveResponse):
     26        (WebCore::InspectorResourceAgent::didReceiveData):
     27        (WebCore::InspectorResourceAgent::didFinishLoading):
     28        (WebCore::InspectorResourceAgent::didFailLoading):
     29        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
     30        (WebCore::InspectorResourceAgent::setInitialScriptContent):
     31        (WebCore::InspectorResourceAgent::setInitialXHRContent):
     32        (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
     33        (WebCore::InspectorResourceAgent::didCreateWebSocket):
     34        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
     35        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
     36        (WebCore::InspectorResourceAgent::didCloseWebSocket):
     37        (WebCore::InspectorResourceAgent::getResourceContent):
     38        * inspector/InspectorResourceAgent.h:
     39        * inspector/InspectorTimelineAgent.cpp:
     40        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
     41        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
     42        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
     43        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
     44        * inspector/NetworkResourcesData.cpp:
     45        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
     46        (WebCore::NetworkResourcesData::resourceCreated):
     47        (WebCore::NetworkResourcesData::responseReceived):
     48        (WebCore::NetworkResourcesData::setResourceType):
     49        (WebCore::NetworkResourcesData::resourceType):
     50        (WebCore::NetworkResourcesData::setResourceContent):
     51        (WebCore::NetworkResourcesData::maybeAddResourceData):
     52        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
     53        (WebCore::NetworkResourcesData::addCachedResource):
     54        (WebCore::NetworkResourcesData::addResourceSharedBuffer):
     55        (WebCore::NetworkResourcesData::data):
     56        (WebCore::NetworkResourcesData::clear):
     57        (WebCore::NetworkResourcesData::ensureNoDataForResourceId):
     58        (WebCore::NetworkResourcesData::ensureFreeSpace):
     59        * inspector/NetworkResourcesData.h:
     60        (WebCore::NetworkResourcesData::ResourceData::resourceId):
     61        * inspector/TimelineRecordFactory.cpp:
     62        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
     63        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
     64        (WebCore::TimelineRecordFactory::createResourceFinishData):
     65        (WebCore::TimelineRecordFactory::createReceiveResourceData):
     66        * inspector/TimelineRecordFactory.h:
     67
    1682011-07-19  Jessie Berlin  <jberlin@apple.com>
    269
  • trunk/Source/WebCore/inspector/ConsoleMessage.cpp

    r89345 r91264  
    5353    , m_url(u)
    5454    , m_repeatCount(1)
    55     , m_requestId(0)
    5655{
    5756}
     
    6766    , m_url()
    6867    , m_repeatCount(1)
    69     , m_requestId(0)
    70 {
    71 }
    72 
    73 ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, const String& m, const String& responseUrl, unsigned long identifier)
     68{
     69}
     70
     71ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, const String& m, const String& responseUrl, const String& resourceId)
    7472    : m_source(s)
    7573    , m_type(t)
     
    7977    , m_url(responseUrl)
    8078    , m_repeatCount(1)
    81     , m_requestId(identifier)
     79    , m_requestId(resourceId)
    8280{
    8381}
     
    139137    jsonObj->setString("text", m_message);
    140138    if (m_type == NetworkErrorMessageType)
    141         jsonObj->setNumber("networkIdentifier", m_requestId);
     139        jsonObj->setString("networkIdentifier", m_requestId);
    142140    if (m_arguments && m_arguments->argumentCount()) {
    143141        InjectedScript injectedScript = injectedScriptManager->injectedScriptFor(m_arguments->globalState());
  • trunk/Source/WebCore/inspector/ConsoleMessage.h

    r89345 r91264  
    5454    ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, unsigned li, const String& u);
    5555    ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
    56     ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, const String& responseUrl, unsigned long identifier);
     56    ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, const String& responseUrl, const String& resourceId);
    5757    ~ConsoleMessage();
    5858
     
    7878    String m_url;
    7979    unsigned m_repeatCount;
    80     unsigned int m_requestId;
     80    String m_requestId;
    8181};
    8282
  • trunk/Source/WebCore/inspector/IdentifiersFactory.cpp

    r91250 r91264  
    2727#include "IdentifiersFactory.h"
    2828
     29#include <wtf/text/StringBuilder.h>
     30
    2931#if ENABLE(INSPECTOR)
    3032
     
    4345String IdentifiersFactory::createIdentifier()
    4446{
     47    return addProcessIdPrefixTo(String::number(++s_lastUsedIdentifier));
     48}
     49
     50// static
     51String IdentifiersFactory::resourceId(unsigned long identifier)
     52{
     53    return addProcessIdPrefixTo(String::number(identifier));
     54}
     55
     56// static
     57String IdentifiersFactory::addProcessIdPrefixTo(const String& id)
     58{
    4559    StringBuilder builder;
    4660    builder.append(String::number(s_processId));
    4761    builder.append(".");
    48     builder.append(String::number(++s_lastUsedIdentifier));
     62    builder.append(id);
    4963    return builder.toString();
    5064}
  • trunk/Source/WebCore/inspector/IdentifiersFactory.h

    r91250 r91264  
    3737    static void setProcessId(long processId) { s_processId = processId; }
    3838    static String createIdentifier();
     39    static String resourceId(unsigned long identifier);
    3940private:
     41    static String addProcessIdPrefixTo(const String& id);
     42
    4043    static long s_processId;
    4144};
  • trunk/Source/WebCore/inspector/Inspector.json

    r91176 r91264  
    495495                "description": "Returns content of the given resource.",
    496496                "parameters": [
    497                     { "name": "identifier", "type": "integer", "description": "Identifier of the resource to get content for." }
     497                    { "name": "identifier", "type": "string", "description": "Identifier of the resource to get content for." }
    498498                ],
    499499                "returns": [
     
    516516                "description": "Fired when page is about to send HTTP request.",
    517517                "parameters": [
    518                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     518                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    519519                    { "name": "frameId", "type": "string", "description": "Frame identifier." },
    520520                    { "name": "loaderId", "type": "string", "description": "Loader identifier." },
     
    530530                "description": "Fired when request is known to be served from disk cache.",
    531531                "parameters": [
    532                     { "name": "identifier", "type": "integer", "description": "Request identifier." }
     532                    { "name": "identifier", "type": "string", "description": "Request identifier." }
    533533                ]
    534534            },
     
    537537                "description": "Fired when HTTP response is available.",
    538538                "parameters": [
    539                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     539                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    540540                    { "name": "timestamp", "type": "number", "description": "Timestamp." },
    541541                    { "name": "type", "$ref": "Page.ResourceType", "description": "Resource type." },
     
    547547                "description": "Fired when data chunk was received over the network.",
    548548                "parameters": [
    549                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     549                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    550550                    { "name": "timestamp", "type": "number", "description": "Timestamp." },
    551551                    { "name": "dataLength", "type": "integer", "description": "Data chunk length." },
     
    557557                "description": "Fired when HTTP request has finished loading.",
    558558                "parameters": [
    559                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     559                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    560560                    { "name": "timestamp", "type": "number", "description": "Timestamp." }
    561561                ]
     
    565565                "description": "Fired when HTTP request has failed to load.",
    566566                "parameters": [
    567                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     567                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    568568                    { "name": "timestamp", "type": "number", "description": "Timestamp." },
    569569                    { "name": "errorText", "type": "string", "description": "User friendly error message." },
     
    575575                "description": "Fired when HTTP request has been served from memory cache.",
    576576                "parameters": [
    577                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     577                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    578578                    { "name": "frameId", "type": "string", "description": "Frame identifier." },
    579579                    { "name": "loaderId", "type": "string", "description": "Loader identifier." },
     
    587587                "description": "Fired for worker scripts when their content becomes available.",
    588588                "parameters": [
    589                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     589                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    590590                    { "name": "content", "type": "string", "description": "Resource content." },
    591591                    { "name": "type", "$ref": "Page.ResourceType", "description": "Resource type." }
     
    596596                "description": "Fired when WebSocket is about to initiate handshake.",
    597597                "parameters": [
    598                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     598                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    599599                    { "name": "timestamp", "type": "number", "description": "Timestamp." },
    600600                    { "name": "request", "type": "object", "description": "WebSocket request data." }
     
    605605                "description": "Fired when WebSocket handshake response becomes available.",
    606606                "parameters": [
    607                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     607                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    608608                    { "name": "timestamp", "type": "number", "description": "Timestamp." },
    609609                    { "name": "response", "type": "object", "description": "WebSocket response data." }
     
    614614                "description": "Fired upon WebSocket creation.",
    615615                "parameters": [
    616                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     616                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    617617                    { "name": "url", "type": "string", "description": "WebSocket request URL." }
    618618                ]
     
    622622                "description": "Fired when WebSocket is closed.",
    623623                "parameters": [
    624                     { "name": "identifier", "type": "integer", "description": "Request identifier." },
     624                    { "name": "identifier", "type": "string", "description": "Request identifier." },
    625625                    { "name": "timestamp", "type": "number", "description": "Timestamp." }
    626626                ]
  • trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp

    r89912 r91264  
    3232#include "ConsoleMessage.h"
    3333#include "DOMWindow.h"
     34#include "IdentifiersFactory.h"
    3435#include "InjectedScriptHost.h"
    3536#include "InjectedScriptManager.h"
     
    226227    if (response.httpStatusCode() >= 400) {
    227228        String message = "Failed to load resource: the server responded with a status of " + String::number(response.httpStatusCode()) + " (" + response.httpStatusText() + ')';
    228         addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, response.url().string(), identifier)));
     229        String resourceId = IdentifiersFactory::resourceId(identifier);
     230        addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, response.url().string(), resourceId)));
    229231    }
    230232}
     
    239241    if (!error.localizedDescription().isEmpty())
    240242        message += ": " + error.localizedDescription();
    241     addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, error.failingURL(), identifier)));
     243    String resourceId = IdentifiersFactory::resourceId(identifier);
     244    addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, error.failingURL(), resourceId)));
    242245}
    243246
  • trunk/Source/WebCore/inspector/InspectorPageAgent.h

    r91250 r91264  
    112112    // Cross-agents API
    113113    Frame* mainFrame();
     114    String createIdentifier();
    114115    Frame* frameForId(const String& frameId);
    115116    String frameId(Frame*);
  • trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp

    r91006 r91264  
    4242#include "FrameLoader.h"
    4343#include "HTTPHeaderMap.h"
     44#include "IdentifiersFactory.h"
    4445#include "InspectorClient.h"
    4546#include "InspectorFrontend.h"
     
    200201void InspectorResourceAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse)
    201202{
    202     m_resourcesData->resourceCreated(identifier, m_pageAgent->loaderId(loader));
     203    String resourceId = IdentifiersFactory::resourceId(identifier);
     204    m_resourcesData->resourceCreated(resourceId, m_pageAgent->loaderId(loader));
    203205
    204206    RefPtr<InspectorObject> headers = m_state->getObject(ResourceAgentState::extraRequestHeaders);
     
    222224    else
    223225        callStackValue = InspectorArray::create();
    224     m_frontend->requestWillBeSent(static_cast<int>(identifier), m_pageAgent->frameId(loader->frame()), m_pageAgent->loaderId(loader), loader->url().string(), buildObjectForResourceRequest(request), currentTime(), callStackValue, buildObjectForResourceResponse(redirectResponse));
     226    m_frontend->requestWillBeSent(resourceId, m_pageAgent->frameId(loader->frame()), m_pageAgent->loaderId(loader), loader->url().string(), buildObjectForResourceRequest(request), currentTime(), callStackValue, buildObjectForResourceResponse(redirectResponse));
    225227}
    226228
    227229void InspectorResourceAgent::markResourceAsCached(unsigned long identifier)
    228230{
    229     m_frontend->resourceMarkedAsCached(static_cast<int>(identifier));
     231    m_frontend->resourceMarkedAsCached(IdentifiersFactory::resourceId(identifier));
    230232}
    231233
    232234void InspectorResourceAgent::didReceiveResponse(unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response)
    233235{
     236    String resourceId = IdentifiersFactory::resourceId(identifier);
    234237    RefPtr<InspectorObject> resourceResponse = buildObjectForResourceResponse(response);
    235238    InspectorPageAgent::ResourceType type = InspectorPageAgent::OtherResource;
     
    245248                resourceResponse->setString("mimeType", cachedResource->response().mimeType());
    246249
    247             m_resourcesData->addCachedResource(identifier, cachedResource);
     250            m_resourcesData->addCachedResource(resourceId, cachedResource);
    248251        }
    249252        if (equalIgnoringFragmentIdentifier(response.url(), loader->frameLoader()->icon()->url()))
     
    251254        else if (equalIgnoringFragmentIdentifier(response.url(), loader->url()) && type == InspectorPageAgent::OtherResource)
    252255            type = InspectorPageAgent::DocumentResource;
    253         else if (m_loadingXHRSynchronously || m_resourcesData->resourceType(identifier) == InspectorPageAgent::XHRResource)
     256        else if (m_loadingXHRSynchronously || m_resourcesData->resourceType(resourceId) == InspectorPageAgent::XHRResource)
    254257            type = InspectorPageAgent::XHRResource;
    255258
    256         m_resourcesData->responseReceived(identifier, m_pageAgent->frameId(loader->frame()), response);
    257     }
    258     m_resourcesData->setResourceType(identifier, type);
    259     m_frontend->responseReceived(static_cast<int>(identifier), currentTime(), InspectorPageAgent::resourceTypeString(type), resourceResponse);
     259        m_resourcesData->responseReceived(resourceId, m_pageAgent->frameId(loader->frame()), response);
     260    }
     261    m_resourcesData->setResourceType(resourceId, type);
     262    m_frontend->responseReceived(resourceId, currentTime(), InspectorPageAgent::resourceTypeString(type), resourceResponse);
    260263    // If we revalidated the resource and got Not modified, send content length following didReceiveResponse
    261264    // as there will be no calls to didReceiveData from the network stack.
     
    266269void InspectorResourceAgent::didReceiveData(unsigned long identifier, const char* data, int dataLength, int encodedDataLength)
    267270{
    268     if (data && m_resourcesData->resourceType(identifier) == InspectorPageAgent::OtherResource)
    269         m_resourcesData->maybeAddResourceData(identifier, data, dataLength);
    270 
    271     m_frontend->dataReceived(static_cast<int>(identifier), currentTime(), dataLength, encodedDataLength);
     271    String resourceId = IdentifiersFactory::resourceId(identifier);
     272    if (data && m_resourcesData->resourceType(resourceId) == InspectorPageAgent::OtherResource)
     273        m_resourcesData->maybeAddResourceData(resourceId, data, dataLength);
     274
     275    m_frontend->dataReceived(resourceId, currentTime(), dataLength, encodedDataLength);
    272276}
    273277
    274278void InspectorResourceAgent::didFinishLoading(unsigned long identifier, DocumentLoader* loader, double finishTime)
    275279{
    276     if (m_resourcesData->resourceType(identifier) == InspectorPageAgent::DocumentResource)
    277         m_resourcesData->addResourceSharedBuffer(identifier, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->inputEncoding());
    278 
    279     m_resourcesData->maybeDecodeDataToContent(identifier);
     280    String resourceId = IdentifiersFactory::resourceId(identifier);
     281    if (m_resourcesData->resourceType(resourceId) == InspectorPageAgent::DocumentResource)
     282        m_resourcesData->addResourceSharedBuffer(resourceId, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->inputEncoding());
     283
     284    m_resourcesData->maybeDecodeDataToContent(resourceId);
    280285
    281286    if (!finishTime)
    282287        finishTime = currentTime();
    283288
    284     m_frontend->loadingFinished(static_cast<int>(identifier), finishTime);
     289    m_frontend->loadingFinished(resourceId, finishTime);
    285290}
    286291
    287292void InspectorResourceAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError& error)
    288293{
    289     if (m_resourcesData->resourceType(identifier) == InspectorPageAgent::DocumentResource)
    290         m_resourcesData->addResourceSharedBuffer(identifier, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->inputEncoding());
    291 
    292     m_frontend->loadingFailed(static_cast<int>(identifier), currentTime(), error.localizedDescription(), error.isCancellation());
     294    String resourceId = IdentifiersFactory::resourceId(identifier);
     295    if (m_resourcesData->resourceType(resourceId) == InspectorPageAgent::DocumentResource)
     296        m_resourcesData->addResourceSharedBuffer(resourceId, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->inputEncoding());
     297
     298    m_frontend->loadingFailed(resourceId, currentTime(), error.localizedDescription(), error.isCancellation());
    293299}
    294300
     
    298304    String frameId = m_pageAgent->frameId(loader->frame());
    299305    unsigned long identifier = loader->frame()->page()->progress()->createUniqueIdentifier();
    300     m_resourcesData->resourceCreated(identifier, loaderId);
    301     m_resourcesData->addCachedResource(identifier, resource);
    302 
    303     m_frontend->resourceLoadedFromMemoryCache(static_cast<int>(identifier), frameId, loaderId, loader->url().string(), currentTime(), buildObjectForCachedResource(*resource));
     306    String resourceId = IdentifiersFactory::resourceId(identifier);
     307    m_resourcesData->resourceCreated(resourceId, loaderId);
     308    m_resourcesData->addCachedResource(resourceId, resource);
     309
     310    m_frontend->resourceLoadedFromMemoryCache(resourceId, frameId, loaderId, loader->url().string(), currentTime(), buildObjectForCachedResource(*resource));
    304311}
    305312
    306313void InspectorResourceAgent::setInitialScriptContent(unsigned long identifier, const String& sourceString)
    307314{
    308     m_frontend->initialContentSet(static_cast<int>(identifier), sourceString, InspectorPageAgent::resourceTypeString(InspectorPageAgent::ScriptResource));
     315    m_frontend->initialContentSet(IdentifiersFactory::resourceId(identifier), sourceString, InspectorPageAgent::resourceTypeString(InspectorPageAgent::ScriptResource));
    309316}
    310317
    311318void InspectorResourceAgent::setInitialXHRContent(unsigned long identifier, const String& sourceString)
    312319{
    313     m_resourcesData->setResourceContent(identifier, sourceString);
     320    m_resourcesData->setResourceContent(IdentifiersFactory::resourceId(identifier), sourceString);
    314321}
    315322
    316323void InspectorResourceAgent::didReceiveXHRResponse(unsigned long identifier)
    317324{
    318     m_resourcesData->setResourceType(identifier, InspectorPageAgent::XHRResource);
     325    m_resourcesData->setResourceType(IdentifiersFactory::resourceId(identifier), InspectorPageAgent::XHRResource);
    319326}
    320327
     
    354361void InspectorResourceAgent::didCreateWebSocket(unsigned long identifier, const KURL& requestURL)
    355362{
    356     m_frontend->webSocketCreated(static_cast<int>(identifier), requestURL.string());
     363    m_frontend->webSocketCreated(IdentifiersFactory::resourceId(identifier), requestURL.string());
    357364}
    358365
     
    362369    requestObject->setObject("headers", buildObjectForHeaders(request.headerFields()));
    363370    requestObject->setString("requestKey3", createReadableStringFromBinary(request.key3().value, sizeof(request.key3().value)));
    364     m_frontend->webSocketWillSendHandshakeRequest(static_cast<int>(identifier), currentTime(), requestObject);
     371    m_frontend->webSocketWillSendHandshakeRequest(IdentifiersFactory::resourceId(identifier), currentTime(), requestObject);
    365372}
    366373
     
    372379    responseObject->setObject("headers", buildObjectForHeaders(response.headerFields()));
    373380    responseObject->setString("challengeResponse", createReadableStringFromBinary(response.challengeResponse().value, sizeof(response.challengeResponse().value)));
    374     m_frontend->webSocketHandshakeResponseReceived(static_cast<int>(identifier), currentTime(), responseObject);
     381    m_frontend->webSocketHandshakeResponseReceived(IdentifiersFactory::resourceId(identifier), currentTime(), responseObject);
    375382}
    376383
    377384void InspectorResourceAgent::didCloseWebSocket(unsigned long identifier)
    378385{
    379     m_frontend->webSocketClosed(static_cast<int>(identifier), currentTime());
     386    m_frontend->webSocketClosed(IdentifiersFactory::resourceId(identifier), currentTime());
    380387}
    381388#endif // ENABLE(WEB_SOCKETS)
     
    455462}
    456463
    457 void InspectorResourceAgent::getResourceContent(ErrorString* errorString, unsigned long identifier, String* content, bool* base64Encoded)
    458 {
    459     NetworkResourcesData::ResourceData const* resourceData = m_resourcesData->data(identifier);
     464void InspectorResourceAgent::getResourceContent(ErrorString* errorString, const String& resourceId, String* content, bool* base64Encoded)
     465{
     466    NetworkResourcesData::ResourceData const* resourceData = m_resourcesData->data(resourceId);
    460467    if (!resourceData) {
    461468        *errorString = "No resource with given identifier found";
  • trunk/Source/WebCore/inspector/InspectorResourceAgent.h

    r91006 r91264  
    123123    void setUserAgentOverride(ErrorString*, const String& userAgent);
    124124    void setExtraHeaders(ErrorString*, PassRefPtr<InspectorObject>);
    125     void getResourceContent(ErrorString*, unsigned long identifier, String* content, bool* base64Encoded);
     125    void getResourceContent(ErrorString*, const String& resourceId, String* content, bool* base64Encoded);
    126126    void clearCache(ErrorString*, const String* const optionalPreservedLoaderId);
    127127
  • trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp

    r91061 r91264  
    3535
    3636#include "Event.h"
     37#include "IdentifiersFactory.h"
    3738#include "InspectorFrontend.h"
    3839#include "InspectorState.h"
     
    291292    pushGCEventRecords();
    292293    RefPtr<InspectorObject> record = TimelineRecordFactory::createGenericRecord(WTF::currentTimeMS());
    293     record->setObject("data", TimelineRecordFactory::createResourceSendRequestData(identifier, request));
     294    String resourceId = IdentifiersFactory::resourceId(identifier);
     295    record->setObject("data", TimelineRecordFactory::createResourceSendRequestData(resourceId, request));
    294296    record->setString("type", TimelineRecordType::ResourceSendRequest);
    295297    setHeapSizeStatistic(record.get());
     
    299301void InspectorTimelineAgent::willReceiveResourceData(unsigned long identifier)
    300302{
    301     pushCurrentRecord(TimelineRecordFactory::createReceiveResourceData(identifier), TimelineRecordType::ResourceReceivedData);
     303    String resourceId = IdentifiersFactory::resourceId(identifier);
     304    pushCurrentRecord(TimelineRecordFactory::createReceiveResourceData(resourceId), TimelineRecordType::ResourceReceivedData);
    302305}
    303306
     
    309312void InspectorTimelineAgent::willReceiveResourceResponse(unsigned long identifier, const ResourceResponse& response)
    310313{
    311     pushCurrentRecord(TimelineRecordFactory::createResourceReceiveResponseData(identifier, response), TimelineRecordType::ResourceReceiveResponse);
     314    String resourceId = IdentifiersFactory::resourceId(identifier);
     315    pushCurrentRecord(TimelineRecordFactory::createResourceReceiveResponseData(resourceId, response), TimelineRecordType::ResourceReceiveResponse);
    312316}
    313317
     
    322326    // Sometimes network stack can provide for us exact finish loading time. In the other case we will use currentTime.
    323327    RefPtr<InspectorObject> record = TimelineRecordFactory::createGenericRecord(WTF::currentTimeMS());
    324     record->setObject("data", TimelineRecordFactory::createResourceFinishData(identifier, didFail, finishTime * 1000));
     328    String resourceId = IdentifiersFactory::resourceId(identifier);
     329    record->setObject("data", TimelineRecordFactory::createResourceFinishData(resourceId, didFail, finishTime * 1000));
    325330    record->setString("type", TimelineRecordType::ResourceFinish);
    326331    setHeapSizeStatistic(record.get());
  • trunk/Source/WebCore/inspector/NetworkResourcesData.cpp

    r90389 r91264  
    4848
    4949// ResourceData
    50 NetworkResourcesData::ResourceData::ResourceData(unsigned long identifier, const String& loaderId)
    51     : m_identifier(identifier)
     50NetworkResourcesData::ResourceData::ResourceData(const String& resourceId, const String& loaderId)
     51    : m_resourceId(resourceId)
    5252    , m_loaderId(loaderId)
    5353    , m_isContentPurged(false)
     
    131131}
    132132
    133 void NetworkResourcesData::resourceCreated(unsigned long identifier, const String& loaderId)
    134 {
    135     ensureNoDataForIdentifier(identifier);
    136     m_identifierToResourceDataMap.set(identifier, new ResourceData(identifier, loaderId));
    137 }
    138 
    139 void NetworkResourcesData::responseReceived(unsigned long identifier, const String& frameId, const ResourceResponse& response)
    140 {
    141     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     133void NetworkResourcesData::resourceCreated(const String& resourceId, const String& loaderId)
     134{
     135    ensureNoDataForResourceId(resourceId);
     136    m_resourceIdToResourceDataMap.set(resourceId, new ResourceData(resourceId, loaderId));
     137}
     138
     139void NetworkResourcesData::responseReceived(const String& resourceId, const String& frameId, const ResourceResponse& response)
     140{
     141    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    142142    if (!resourceData)
    143143        return;
     
    147147}
    148148
    149 void NetworkResourcesData::setResourceType(unsigned long identifier, InspectorPageAgent::ResourceType type)
    150 {
    151     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     149void NetworkResourcesData::setResourceType(const String& resourceId, InspectorPageAgent::ResourceType type)
     150{
     151    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    152152    if (!resourceData)
    153153        return;
     
    155155}
    156156
    157 InspectorPageAgent::ResourceType NetworkResourcesData::resourceType(unsigned long identifier)
    158 {
    159     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     157InspectorPageAgent::ResourceType NetworkResourcesData::resourceType(const String& resourceId)
     158{
     159    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    160160    if (!resourceData)
    161161        return InspectorPageAgent::OtherResource;
     
    163163}
    164164
    165 void NetworkResourcesData::setResourceContent(unsigned long identifier, const String& content)
    166 {
    167     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     165void NetworkResourcesData::setResourceContent(const String& resourceId, const String& content)
     166{
     167    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    168168    if (!resourceData)
    169169        return;
     
    174174        return;
    175175    if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) {
    176         m_identifiersDeque.append(identifier);
     176        m_resourceIdsDeque.append(resourceId);
    177177        resourceData->setContent(content);
    178178        m_contentSize += dataLength;
     
    180180}
    181181
    182 void NetworkResourcesData::maybeAddResourceData(unsigned long identifier, const char* data, int dataLength)
    183 {
    184     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     182void NetworkResourcesData::maybeAddResourceData(const String& resourceId, const char* data, int dataLength)
     183{
     184    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    185185    if (!resourceData)
    186186        return;
     
    192192        return;
    193193    if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) {
    194         m_identifiersDeque.append(identifier);
     194        m_resourceIdsDeque.append(resourceId);
    195195        resourceData->appendData(data, dataLength);
    196196        m_contentSize += dataLength;
     
    198198}
    199199
    200 void NetworkResourcesData::maybeDecodeDataToContent(unsigned long identifier)
    201 {
    202     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     200void NetworkResourcesData::maybeDecodeDataToContent(const String& resourceId)
     201{
     202    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    203203    if (!resourceData)
    204204        return;
     
    211211}
    212212
    213 void NetworkResourcesData::addCachedResource(unsigned long identifier, CachedResource* cachedResource)
    214 {
    215     if (!m_identifierToResourceDataMap.contains(identifier))
    216         return;
    217     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     213void NetworkResourcesData::addCachedResource(const String& resourceId, CachedResource* cachedResource)
     214{
     215    if (!m_resourceIdToResourceDataMap.contains(resourceId))
     216        return;
     217    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    218218
    219219    resourceData->setCachedResource(cachedResource);
    220220}
    221221
    222 void NetworkResourcesData::addResourceSharedBuffer(unsigned long identifier, PassRefPtr<SharedBuffer> buffer, const String& textEncodingName)
    223 {
    224     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     222void NetworkResourcesData::addResourceSharedBuffer(const String& resourceId, PassRefPtr<SharedBuffer> buffer, const String& textEncodingName)
     223{
     224    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    225225    if (!resourceData)
    226226        return;
     
    229229}
    230230
    231 NetworkResourcesData::ResourceData const* NetworkResourcesData::data(unsigned long identifier)
    232 {
    233     return m_identifierToResourceDataMap.get(identifier);
     231NetworkResourcesData::ResourceData const* NetworkResourcesData::data(const String& resourceId)
     232{
     233    return m_resourceIdToResourceDataMap.get(resourceId);
    234234}
    235235
    236236void NetworkResourcesData::clear(const String& preservedLoaderId)
    237237{
    238     m_identifiersDeque.clear();
     238    m_resourceIdsDeque.clear();
    239239    m_contentSize = 0;
    240240
     
    242242
    243243    ResourceDataMap::iterator it;
    244     ResourceDataMap::iterator end = m_identifierToResourceDataMap.end();
    245     for (it = m_identifierToResourceDataMap.begin(); it != end; ++it) {
     244    ResourceDataMap::iterator end = m_resourceIdToResourceDataMap.end();
     245    for (it = m_resourceIdToResourceDataMap.begin(); it != end; ++it) {
    246246        ResourceData* resourceData = it->second;
    247247        if (!preservedLoaderId.isNull() && resourceData->loaderId() == preservedLoaderId)
     
    250250            delete resourceData;
    251251    }
    252     m_identifierToResourceDataMap.swap(preservedMap);
     252    m_resourceIdToResourceDataMap.swap(preservedMap);
    253253}
    254254
     
    261261
    262262
    263 void NetworkResourcesData::ensureNoDataForIdentifier(unsigned long identifier)
    264 {
    265     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     263void NetworkResourcesData::ensureNoDataForResourceId(const String& resourceId)
     264{
     265    ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    266266    if (resourceData) {
    267267        if (resourceData->hasContent() || resourceData->hasData())
    268268            m_contentSize -= resourceData->purgeContent();
    269269        delete resourceData;
    270         m_identifierToResourceDataMap.remove(identifier);
     270        m_resourceIdToResourceDataMap.remove(resourceId);
    271271    }
    272272}
     
    278278
    279279    while (size > m_maximumResourcesContentSize - m_contentSize) {
    280         unsigned long identifier = m_identifiersDeque.takeFirst();
    281         ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     280        String resourceId = m_resourceIdsDeque.takeFirst();
     281        ResourceData* resourceData = m_resourceIdToResourceDataMap.get(resourceId);
    282282        if (resourceData)
    283283            m_contentSize -= resourceData->purgeContent();
  • trunk/Source/WebCore/inspector/NetworkResourcesData.h

    r90389 r91264  
    5252        friend class NetworkResourcesData;
    5353    public:
    54         ResourceData(unsigned long identifier, const String& loaderId);
     54        ResourceData(const String& resourceId, const String& loaderId);
    5555
    56         unsigned long identifier() const { return m_identifier; }
     56        String resourceId() const { return m_resourceId; }
    5757        String loaderId() const { return m_loaderId; }
    5858
     
    9191        int decodeDataToContent();
    9292
    93         unsigned long m_identifier;
     93        String m_resourceId;
    9494        String m_loaderId;
    9595        String m_frameId;
     
    111111    ~NetworkResourcesData();
    112112
    113     void resourceCreated(unsigned long identifier, const String& loaderId);
    114     void responseReceived(unsigned long identifier, const String& frameId, const ResourceResponse&);
    115     void setResourceType(unsigned long identifier, InspectorPageAgent::ResourceType);
    116     InspectorPageAgent::ResourceType resourceType(unsigned long identifier);
    117     void setResourceContent(unsigned long identifier, const String& content);
    118     void maybeAddResourceData(unsigned long identifier, const char* data, int dataLength);
    119     void maybeDecodeDataToContent(unsigned long identifier);
    120     void addCachedResource(unsigned long identifier, CachedResource*);
    121     void addResourceSharedBuffer(unsigned long identifier, PassRefPtr<SharedBuffer>, const String& textEncodingName);
    122     ResourceData const* data(unsigned long identifier);
     113    void resourceCreated(const String& resourceId, const String& loaderId);
     114    void responseReceived(const String& resourceId, const String& frameId, const ResourceResponse&);
     115    void setResourceType(const String& resourceId, InspectorPageAgent::ResourceType);
     116    InspectorPageAgent::ResourceType resourceType(const String& resourceId);
     117    void setResourceContent(const String& resourceId, const String& content);
     118    void maybeAddResourceData(const String& resourceId, const char* data, int dataLength);
     119    void maybeDecodeDataToContent(const String& resourceId);
     120    void addCachedResource(const String& resourceId, CachedResource*);
     121    void addResourceSharedBuffer(const String& resourceId, PassRefPtr<SharedBuffer>, const String& textEncodingName);
     122    ResourceData const* data(const String& resourceId);
    123123    void clear(const String& preservedLoaderId = String());
    124124
     
    126126
    127127private:
    128     void ensureNoDataForIdentifier(unsigned long identifier);
     128    void ensureNoDataForResourceId(const String& resourceId);
    129129    bool ensureFreeSpace(int size);
    130130
    131     Deque<unsigned long> m_identifiersDeque;
     131    Deque<String> m_resourceIdsDeque;
    132132
    133     typedef HashMap<unsigned long, ResourceData*> ResourceDataMap;
    134     ResourceDataMap m_identifierToResourceDataMap;
     133    typedef HashMap<String, ResourceData*> ResourceDataMap;
     134    ResourceDataMap m_resourceIdToResourceDataMap;
    135135    int m_contentSize;
    136136    int m_maximumResourcesContentSize;
  • trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp

    r91061 r91264  
    130130}
    131131
    132 PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceSendRequestData(unsigned long identifier, const ResourceRequest& request)
     132PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceSendRequestData(const String& resourceId, const ResourceRequest& request)
    133133{
    134134    RefPtr<InspectorObject> data = InspectorObject::create();
    135     data->setNumber("identifier", identifier);
     135    data->setString("identifier", resourceId);
    136136    data->setString("url", request.url().string());
    137137    data->setString("requestMethod", request.httpMethod());
     
    139139}
    140140
    141 PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceReceiveResponseData(unsigned long identifier, const ResourceResponse& response)
     141PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceReceiveResponseData(const String& resourceId, const ResourceResponse& response)
    142142{
    143143    RefPtr<InspectorObject> data = InspectorObject::create();
    144     data->setNumber("identifier", identifier);
     144    data->setString("identifier", resourceId);
    145145    data->setNumber("statusCode", response.httpStatusCode());
    146146    data->setString("mimeType", response.mimeType());
     
    148148}
    149149
    150 PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceFinishData(unsigned long identifier, bool didFail, double finishTime)
     150PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceFinishData(const String& resourceId, bool didFail, double finishTime)
    151151{
    152152    RefPtr<InspectorObject> data = InspectorObject::create();
    153     data->setNumber("identifier", identifier);
     153    data->setString("identifier", resourceId);
    154154    data->setBoolean("didFail", didFail);
    155155    if (finishTime)
     
    158158}
    159159
    160 PassRefPtr<InspectorObject> TimelineRecordFactory::createReceiveResourceData(unsigned long identifier)
     160PassRefPtr<InspectorObject> TimelineRecordFactory::createReceiveResourceData(const String& resourceId)
    161161{
    162162    RefPtr<InspectorObject> data = InspectorObject::create();
    163     data->setNumber("identifier", identifier);
     163    data->setString("identifier", resourceId);
    164164    return data.release();
    165165}
  • trunk/Source/WebCore/inspector/TimelineRecordFactory.h

    r91061 r91264  
    6565        static PassRefPtr<InspectorObject> createTimeStampData(const String&);
    6666
    67         static PassRefPtr<InspectorObject> createResourceSendRequestData(unsigned long identifier, const ResourceRequest&);
     67        static PassRefPtr<InspectorObject> createResourceSendRequestData(const String& resourceId, const ResourceRequest&);
    6868
    6969        static PassRefPtr<InspectorObject> createScheduleResourceRequestData(const String&);
    7070
    71         static PassRefPtr<InspectorObject> createResourceReceiveResponseData(unsigned long identifier, const ResourceResponse&);
     71        static PassRefPtr<InspectorObject> createResourceReceiveResponseData(const String& resourceId, const ResourceResponse&);
    7272
    73         static PassRefPtr<InspectorObject> createReceiveResourceData(unsigned long identifier);
     73        static PassRefPtr<InspectorObject> createReceiveResourceData(const String& resourceId);
    7474
    75         static PassRefPtr<InspectorObject> createResourceFinishData(unsigned long identifier, bool didFail, double finishTime);
     75        static PassRefPtr<InspectorObject> createResourceFinishData(const String& resourceId, bool didFail, double finishTime);
    7676
    7777        static PassRefPtr<InspectorObject> createPaintData(const IntRect&);
Note: See TracChangeset for help on using the changeset viewer.