[Resource Timing] 304 responses should show up in the timing buffer
https://bugs.webkit.org/show_bug.cgi?id=105490
Reviewed by Tony Gentilcore.
Source/WebCore:
Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached.html
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):
LayoutTests:
* http/tests/w3c/webperf/resources/generate_resource.php:
* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached-expected.txt: Added.
* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached.html: Added.
git-svn-id: svn://svn.chromium.org/blink/trunk@138281 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/third_party/WebKit/Source/WebCore/loader/cache/CachedResourceLoader.cpp b/third_party/WebKit/Source/WebCore/loader/cache/CachedResourceLoader.cpp
index 051a700..7d294638 100644
--- a/third_party/WebKit/Source/WebCore/loader/cache/CachedResourceLoader.cpp
+++ b/third_party/WebKit/Source/WebCore/loader/cache/CachedResourceLoader.cpp
@@ -704,7 +704,7 @@
#if ENABLE(RESOURCE_TIMING)
// FIXME: Add resource timing support for main resources.
- if (resource && resource->type() != CachedResource::MainResource && !resource->errorOccurred() && !resource->wasCanceled() && resource->response().isHTTP()) {
+ if (resource && resource->type() != CachedResource::MainResource && resource->response().isHTTP() && ((!resource->errorOccurred() && !resource->wasCanceled()) || resource->response().httpStatusCode() == 304)) {
HashMap<CachedResource*, InitiatorInfo>::iterator initiatorIt = m_initiatorMap.find(resource);
if (initiatorIt != m_initiatorMap.end()) {
ASSERT(document());