Title: [190496] branches/safari-601-branch

Diff

Modified: branches/safari-601-branch/LayoutTests/ChangeLog (190495 => 190496)


--- branches/safari-601-branch/LayoutTests/ChangeLog	2015-10-02 13:57:06 UTC (rev 190495)
+++ branches/safari-601-branch/LayoutTests/ChangeLog	2015-10-02 13:57:10 UTC (rev 190496)
@@ -1,5 +1,19 @@
 2015-10-02  Matthew Hanson  <[email protected]>
 
+        Merge r188755. rdar://problem/22802005
+
+    2015-08-21  Chris Dumez  <[email protected]>
+
+            Regression(r188698): http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header.html is very flaky
+            https://bugs.webkit.org/show_bug.cgi?id=148205
+
+            Reviewed by Antti Koivisto.
+
+            * http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header.html:
+            Drop temporary fix landed in r188698 to make the test less flaky.
+
+2015-10-02  Matthew Hanson  <[email protected]>
+
         Merge r188690. rdar://problem/22802006
 
     2015-08-20  Chris Dumez  <[email protected]>

Modified: branches/safari-601-branch/Source/WebKit2/ChangeLog (190495 => 190496)


--- branches/safari-601-branch/Source/WebKit2/ChangeLog	2015-10-02 13:57:06 UTC (rev 190495)
+++ branches/safari-601-branch/Source/WebKit2/ChangeLog	2015-10-02 13:57:10 UTC (rev 190496)
@@ -1,5 +1,31 @@
 2015-10-02  Matthew Hanson  <[email protected]>
 
+        Merge r188755. rdar://problem/22802005
+
+    2015-08-21  Chris Dumez  <[email protected]>
+
+            Regression(r188698): http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header.html is very flaky
+            https://bugs.webkit.org/show_bug.cgi?id=148205
+
+            Reviewed by Antti Koivisto.
+
+            After r188640, successful revalidation of resources in the memory cache
+            would cause us to drop the corresponding resource in the disk cache.
+            This patch addresses the issue by not removing the cache entry if the
+            response is a successful revalidation (i.e. status code == 304).
+
+            Longer term, we should probably update the entry in the disk cache (if
+            it exists) when it is revalidated by the memory cache. Currently,
+            revalidation by the memory cache bypasses the disk cache and goes
+            straight to the network. Then, when the response comes back as a 304,
+            we try and store the response in the cache. However, a 304 status code
+            is not cacheable so the cache rejects it.
+
+            * NetworkProcess/cache/NetworkCache.cpp:
+            (WebKit::NetworkCache::Cache::store):
+
+2015-10-02  Matthew Hanson  <[email protected]>
+
         Merge r189102. rdar://problem/22802034
 
     2015-08-28  Timothy Horton  <[email protected]>

Modified: branches/safari-601-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp (190495 => 190496)


--- branches/safari-601-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2015-10-02 13:57:06 UTC (rev 190495)
+++ branches/safari-601-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2015-10-02 13:57:10 UTC (rev 190496)
@@ -407,8 +407,11 @@
         LOG(NetworkCache, "(NetworkProcess) didn't store, storeDecision=%d", storeDecision);
         auto key = makeCacheKey(originalRequest);
 
-        // Make sure we don't keep a stale entry in the cache.
-        remove(key);
+        auto isSuccessfulRevalidation = response.httpStatusCode() == 304;
+        if (!isSuccessfulRevalidation) {
+            // Make sure we don't keep a stale entry in the cache.
+            remove(key);
+        }
 
         if (m_statistics)
             m_statistics->recordNotCachingResponse(key, storeDecision);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to