| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 } | 329 } |
| 330 | 330 |
| 331 m_frontend->requestWillBeSent(requestId, frameId, m_pageAgent->loaderId(load
er), urlWithoutFragment(loader->url()).string(), buildObjectForResourceRequest(r
equest), currentTime(), initiatorObject, buildObjectForResourceResponse(redirect
Response, loader)); | 331 m_frontend->requestWillBeSent(requestId, frameId, m_pageAgent->loaderId(load
er), urlWithoutFragment(loader->url()).string(), buildObjectForResourceRequest(r
equest), currentTime(), initiatorObject, buildObjectForResourceResponse(redirect
Response, loader)); |
| 332 } | 332 } |
| 333 | 333 |
| 334 void InspectorResourceAgent::markResourceAsCached(unsigned long identifier) | 334 void InspectorResourceAgent::markResourceAsCached(unsigned long identifier) |
| 335 { | 335 { |
| 336 m_frontend->requestServedFromCache(IdentifiersFactory::requestId(identifier)
); | 336 m_frontend->requestServedFromCache(IdentifiersFactory::requestId(identifier)
); |
| 337 } | 337 } |
| 338 | 338 |
| 339 bool isResponseEmpty(PassRefPtr<TypeBuilder::Network::Response> response) |
| 340 { |
| 341 if (!response) |
| 342 return true; |
| 343 |
| 344 RefPtr<JSONValue> status = response->get("status"); |
| 345 RefPtr<JSONValue> mimeType = response->get("mimeType"); |
| 346 RefPtr<JSONObject> headers = response->getObject("headers"); |
| 347 |
| 348 return !status && !mimeType && (!headers || !headers->size()); |
| 349 } |
| 350 |
| 339 void InspectorResourceAgent::didReceiveResourceResponse(LocalFrame* frame, unsig
ned long identifier, DocumentLoader* loader, const ResourceResponse& response, R
esourceLoader* resourceLoader) | 351 void InspectorResourceAgent::didReceiveResourceResponse(LocalFrame* frame, unsig
ned long identifier, DocumentLoader* loader, const ResourceResponse& response, R
esourceLoader* resourceLoader) |
| 340 { | 352 { |
| 341 if (!loader) | 353 if (!loader) |
| 342 return; | 354 return; |
| 343 | 355 |
| 344 String requestId = IdentifiersFactory::requestId(identifier); | 356 String requestId = IdentifiersFactory::requestId(identifier); |
| 345 RefPtr<TypeBuilder::Network::Response> resourceResponse = buildObjectForReso
urceResponse(response, loader); | 357 RefPtr<TypeBuilder::Network::Response> resourceResponse = buildObjectForReso
urceResponse(response, loader); |
| 346 | 358 |
| 347 bool isNotModified = response.httpStatusCode() == 304; | 359 bool isNotModified = response.httpStatusCode() == 304; |
| 348 | 360 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 362 InspectorPageAgent::ResourceType type = cachedResource ? InspectorPageAgent:
:cachedResourceType(*cachedResource) : InspectorPageAgent::OtherResource; | 374 InspectorPageAgent::ResourceType type = cachedResource ? InspectorPageAgent:
:cachedResourceType(*cachedResource) : InspectorPageAgent::OtherResource; |
| 363 // Workaround for worker scripts that use RawResources for loading. | 375 // Workaround for worker scripts that use RawResources for loading. |
| 364 if (m_resourcesData->resourceType(requestId) == InspectorPageAgent::ScriptRe
source) | 376 if (m_resourcesData->resourceType(requestId) == InspectorPageAgent::ScriptRe
source) |
| 365 type = InspectorPageAgent::ScriptResource; | 377 type = InspectorPageAgent::ScriptResource; |
| 366 // Workaround for background: url() in inline style. | 378 // Workaround for background: url() in inline style. |
| 367 if (equalIgnoringFragmentIdentifier(response.url(), loader->url()) && !loade
r->isCommitted()) | 379 if (equalIgnoringFragmentIdentifier(response.url(), loader->url()) && !loade
r->isCommitted()) |
| 368 type = InspectorPageAgent::DocumentResource; | 380 type = InspectorPageAgent::DocumentResource; |
| 369 | 381 |
| 370 m_resourcesData->responseReceived(requestId, m_pageAgent->frameId(loader->fr
ame()), response); | 382 m_resourcesData->responseReceived(requestId, m_pageAgent->frameId(loader->fr
ame()), response); |
| 371 m_resourcesData->setResourceType(requestId, type); | 383 m_resourcesData->setResourceType(requestId, type); |
| 372 m_frontend->responseReceived(requestId, m_pageAgent->frameId(loader->frame()
), m_pageAgent->loaderId(loader), currentTime(), InspectorPageAgent::resourceTyp
eJson(type), resourceResponse); | 384 |
| 385 if (!isResponseEmpty(resourceResponse)) |
| 386 m_frontend->responseReceived(requestId, m_pageAgent->frameId(loader->fra
me()), m_pageAgent->loaderId(loader), currentTime(), InspectorPageAgent::resourc
eTypeJson(type), resourceResponse); |
| 373 // If we revalidated the resource and got Not modified, send content length
following didReceiveResponse | 387 // If we revalidated the resource and got Not modified, send content length
following didReceiveResponse |
| 374 // as there will be no calls to didReceiveData from the network stack. | 388 // as there will be no calls to didReceiveData from the network stack. |
| 375 if (isNotModified && cachedResource && cachedResource->encodedSize()) | 389 if (isNotModified && cachedResource && cachedResource->encodedSize()) |
| 376 didReceiveData(frame, identifier, 0, cachedResource->encodedSize(), 0); | 390 didReceiveData(frame, identifier, 0, cachedResource->encodedSize(), 0); |
| 377 } | 391 } |
| 378 | 392 |
| 379 static bool isErrorStatusCode(int statusCode) | 393 static bool isErrorStatusCode(int statusCode) |
| 380 { | 394 { |
| 381 return statusCode >= 400; | 395 return statusCode >= 400; |
| 382 } | 396 } |
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 : InspectorBaseAgent<InspectorResourceAgent>("Network") | 824 : InspectorBaseAgent<InspectorResourceAgent>("Network") |
| 811 , m_pageAgent(pageAgent) | 825 , m_pageAgent(pageAgent) |
| 812 , m_client(client) | 826 , m_client(client) |
| 813 , m_frontend(0) | 827 , m_frontend(0) |
| 814 , m_resourcesData(adoptPtr(new NetworkResourcesData())) | 828 , m_resourcesData(adoptPtr(new NetworkResourcesData())) |
| 815 , m_isRecalculatingStyle(false) | 829 , m_isRecalculatingStyle(false) |
| 816 { | 830 { |
| 817 } | 831 } |
| 818 | 832 |
| 819 } // namespace WebCore | 833 } // namespace WebCore |
| OLD | NEW |