Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 348877 Support stale-while-revalidate (one of the two HTTP Cache-Control Extensions for stale content)
Starred by 61 users Project Member Reported by kenjibaheux@chromium.org, Mar 4 2014 Back to list
Status: Archived
Owner:
Closed: Mar 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature


Sign in to add a comment
Status: Untriaged
Tests:
1. Serving with Cache-control: max-age=60, stale-while-revalidate=600
Results:
 Chrome 35: not supported
 Firefox 27.0.1: not supported
 IE 11.0.9431.0: not supported
 Safari 5.1.7: not supported
 Opera 12.16: not supported

2. Serving with Cache-control: max-age=60, stale-if-error=600
Results:
 Chrome 35: not supported
 Firefox 27.0.1: not supported
 IE 11.0.9431.0: not supported
 Safari 5.1.7: not supported
 Opera 12.16: not supported

Generic description of use cases:
1. stale-while-revalidate
 - assets that are expensive to re-acquire and/or for which being blocked on said re-acquisition lead to a dramatic disruption of the user experience (e.g. a web font)

2. stale-if-error
 - for when serving stale assets is enough to guarantee a reasonable user experience while the server is having difficulties (e.g. a checklist, a blog article, a recipe...)


Cc: igrigo...@chromium.org
Comment 4 by dxie@chromium.org, Mar 10 2014
do you want us to assign to someone who works on http cache?  Or are you looking at it?
Cc: kenjibaheux@chromium.org
Owner: dxie@chromium.org
If there is someone interested to make this happen that would be awesome!

I had it assigned to myself to build the case for it and start working out the corner cases. I'm really eager to see this so I will do all I can to shepherd this feature.


Let me assign to you for the actual assignment.
Comment 6 by dxie@chromium.org, Mar 17 2014
Labels: m-36
Owner: rvargas@chromium.org
Status: Assigned
rvargas@, can you see if we should implement this.
This doesn't look to me as being ready to be implemented.

For example, one thing that has been suggested in the past (and discussed in the recent email thread) was to automatically revalidate resources after reusing them if the expiration date is within some threshold. That has the advantage of not requiring any change outside of the browser to be effective.
Owner: kenjibaheux@chromium.org
Thanks dxie and Ricardo, I'll start a PRD and ask for feedback to zero-in on a ready for implementation state.
Labels: -Pri-2 -m-36 Pri-1 M-37
Summary: Support stale-while-revalidate (one of the two HTTP Cache-Control Extensions for stale content) (was: Support HTTP Cache-Control Extensions for Stale Content (stale-while-revalidate and stale-if-error))
Scoping down.
Owner: tyoshino@chromium.org
We had some discussion about Ricardo's point ("automatically revalidate resources after reusing them if the expiration date is within some threshold. That has the advantage of not requiring any change outside of the browser to be effective."). 

There are merits to both approaches. The heuristic based approach definitely needs more work.

There is enough traction behind this header to make it happen. Also, the spec is clear and so far there are only questions that can be resolved in a follow up (e.g. how would this show up in resource timing api if at all).

I talked to tyoshino@ who said he would be willing to start working on this.
Cc: willchan@chromium.org
Just to doublecheck, Ricardo/Gavin/some cache guy is on board with this, right?
Labels: -M-37 MovedFrom-37 M-38
Moving all non essential bugs to the next Milestone.
Cc: tyoshino@chromium.org
Owner: ricea@chromium.org
Status: Started
Adam just started to look into this.
Project Member Comment 14 by bugdroid1@chromium.org, Jul 30 2014
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f311c233e1c2cb66205eb777d6b40b16ea36e58b

commit f311c233e1c2cb66205eb777d6b40b16ea36e58b
Author: ricea@chromium.org <ricea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed Jul 30 11:33:56 2014

Initial implementation of Chrome-Freshness header.

Add a header like

Chrome-Freshness: max-age=30,stale-while-revalidate=60,age=10

when sending a revalidation request to a server which supplied the
Cache-Control stale-while-revalidate directive on the previous response.

Design doc: https://docs.google.com/document/d/1DMCIMAKjyKeYiu69jlI5OsO2pGyAMb81XflYK4hxsNM/edit

BUG= 348877 
TEST=net_unittests

Review URL: https://codereview.chromium.org/391763002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286482 0039d316-1c4b-4281-b951-d872f2087c98


Project Member Comment 15 by bugdroid1@chromium.org, Jul 30 2014
------------------------------------------------------------------
r286482 | ricea@chromium.org | 2014-07-30T11:33:56.130240Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_cache_unittest.cc?r1=286482&r2=286481&pathrev=286482
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_cache_transaction.cc?r1=286482&r2=286481&pathrev=286482
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_response_headers_unittest.cc?r1=286482&r2=286481&pathrev=286482
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_response_headers.cc?r1=286482&r2=286481&pathrev=286482
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_response_headers.h?r1=286482&r2=286481&pathrev=286482

Initial implementation of Chrome-Freshness header.

Add a header like

Chrome-Freshness: max-age=30,stale-while-revalidate=60,age=10

when sending a revalidation request to a server which supplied the
Cache-Control stale-while-revalidate directive on the previous response.

Design doc: https://docs.google.com/document/d/1DMCIMAKjyKeYiu69jlI5OsO2pGyAMb81XflYK4hxsNM/edit

BUG= 348877 
TEST=net_unittests

Review URL: https://codereview.chromium.org/391763002
-----------------------------------------------------------------
Project Member Comment 16 by bugdroid1@chromium.org, Aug 15 2014
------------------------------------------------------------------
r289978 | ricea@chromium.org | 2014-08-15T19:29:07.453853Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_cache_unittest.cc?r1=289978&r2=289977&pathrev=289978
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_cache_transaction.cc?r1=289978&r2=289977&pathrev=289978

Rename Chromium-Resource-Freshness header

The "Resource-Freshness" header was temporarily named
"Chromium-Resource-Freshness" during development.

Since Chrome policy is to avoid using vendor prefixes, we should not
ship the browser to stable with this header name.

Rename the header to "Resource-Freshness".

TEST=net_unittests
BUG= 348877 

Review URL: https://codereview.chromium.org/469993008
-----------------------------------------------------------------
Project Member Comment 17 by bugdroid1@chromium.org, Aug 15 2014
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7274704f7d5aa774f8239b225223edfdef27df5d

commit 7274704f7d5aa774f8239b225223edfdef27df5d
Author: ricea@chromium.org <ricea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri Aug 15 19:29:07 2014

Rename Chromium-Resource-Freshness header

The "Resource-Freshness" header was temporarily named
"Chromium-Resource-Freshness" during development.

Since Chrome policy is to avoid using vendor prefixes, we should not
ship the browser to stable with this header name.

Rename the header to "Resource-Freshness".

TEST=net_unittests
BUG= 348877 

Review URL: https://codereview.chromium.org/469993008

Cr-Commit-Position: refs/heads/master@{#289978}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289978 0039d316-1c4b-4281-b951-d872f2087c98


Project Member Comment 18 by bugdroid1@chromium.org, Aug 21 2014
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/778be59b18a1275beec722a549f5c4c2ee1882db

commit 778be59b18a1275beec722a549f5c4c2ee1882db
Author: mostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu Aug 21 08:51:58 2014

parameterize http response header tests

Followup to https://codereview.chromium.org/391763002 to allow this
to build on more compilers (which can fail when using structs defined
in funtions in arraysize calls- as mentioned in base/macros.h).

By refactoring to use TEST_P we can skip the manual loop entirely.

BUG= 348877 
TEST=net_unittests --gtest_filter=Http*

Review URL: https://codereview.chromium.org/448373003

Cr-Commit-Position: refs/heads/master@{#291025}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291025 0039d316-1c4b-4281-b951-d872f2087c98


Project Member Comment 19 by bugdroid1@chromium.org, Aug 21 2014
------------------------------------------------------------------
r291025 | mostynb@opera.com | 2014-08-21T08:51:58.173602Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_response_headers_unittest.cc?r1=291025&r2=291024&pathrev=291025

parameterize http response header tests

Followup to https://codereview.chromium.org/391763002 to allow this
to build on more compilers (which can fail when using structs defined
in funtions in arraysize calls- as mentioned in base/macros.h).

By refactoring to use TEST_P we can skip the manual loop entirely.

BUG= 348877 
TEST=net_unittests --gtest_filter=Http*

Review URL: https://codereview.chromium.org/448373003
-----------------------------------------------------------------
Project Member Comment 20 by bugdroid1@chromium.org, Oct 8 2014
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476

commit 64c07d7959386d30a0e4aa1371e2bdcd3d436476
Author: ricea <ricea@chromium.org>
Date: Wed Oct 08 03:37:00 2014

stale-while-revalidate experimental implementation.

Simplistic implementation of stale-while-revalidate. See design doc at
https://docs.google.com/document/d/1DMCIMAKjyKeYiu69jlI5OsO2pGyAMb81XflYK4hxsNM/edit?usp=sharing

This implementation has known flaws:
1. Set-Cookie, Strict-Transport-Security and Public-Key-Pins headers
are lost from the responses of asynchronous revalidations.
2. Conditional requests sent from the Blink cache do not have the
stale-while-revalidate logic applied to them.
3. Support for the bandwidth reduction proxy is hacky.

It will be replaced with a better implementation if/when the concept is proven.

BUG= 348877 
TEST=net_unittests

Review URL: https://codereview.chromium.org/455623003

Cr-Commit-Position: refs/heads/master@{#298649}

[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/build/ios/grit_whitelist.txt
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/app/generated_resources.grd
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/about_flags.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/io_thread.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/io_thread.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/net/chrome_network_delegate.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/predictors/resource_prefetch_predictor.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/browser/resources/net_internals/source_entry.js
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/common/chrome_switches.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/chrome/common/chrome_switches.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/base/load_flags_list.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/base/net_log_event_type_list.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/base/net_log_source_type_list.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_cache.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_cache.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_cache_transaction.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_cache_transaction.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_cache_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_network_session.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_network_session.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_response_headers.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_response_headers.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_response_headers_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/net/http/http_transaction_test_util.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/64c07d7959386d30a0e4aa1371e2bdcd3d436476/tools/metrics/histograms/histograms.xml

Project Member Comment 22 by bugdroid1@chromium.org, Oct 30 2014
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb1504475d05411b479912b2c896862221f21d51

commit eb1504475d05411b479912b2c896862221f21d51
Author: ricea <ricea@chromium.org>
Date: Thu Oct 30 10:42:51 2014

Use DCHECK_EQ() when comparing TimeDeltas.

This CL is a part of https://codereview.chromium.org/665023002/ ("Post-commit
fixes for "stale-while-revalidate..."") that has been separated into a separate
CL because it depends on https://codereview.chromium.org/669083002/ ("Add
logging support for base::Time* types.").

BUG= 348877 

Review URL: https://codereview.chromium.org/670303003

Cr-Commit-Position: refs/heads/master@{#302065}

[modify] https://chromium.googlesource.com/chromium/src.git/+/eb1504475d05411b479912b2c896862221f21d51/net/http/http_response_headers.cc

Labels: -M-38 M-43
Update: 
 - The experimental implementation uncovered a few issues.
 - Adam will have a design doc for a new architecture that solve these issues.
 - M43 seems reasonable.
Labels: -Pri-1 -M-43 MovedFrom-43 M-44 Pri-2
[AUTO] This issue is Pri-1 but has already been moved once, therefore lowering to Pri-2 and moving to next milesone.
Labels: -M-44 MovedFrom-44
[AUTO] This issue has already been moved once and is lower than Priority 1,therefore removing mstone.
Cc: -willchan@chromium.org
Project Member Comment 27 by bugdroid1@chromium.org, Jun 19 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc

commit b38b3f9fbe286d7305d89d5089d18a423d9ab2bc
Author: ricea <ricea@chromium.org>
Date: Fri Jun 19 13:24:07 2015

Remove stale-while-revalidate experimental implementation.

This is in preparation for adding the new implementation.

This is a partial revert of commit
64c07d7959386d30a0e4aa1371e2bdcd3d436476. Parts which will still be
needed in the new implementation have been left.

BUG= 348877 
TEST=net_unittests

Review URL: https://codereview.chromium.org/1041763002

Cr-Commit-Position: refs/heads/master@{#335252}

[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/chrome/browser/io_thread.cc
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/chrome/browser/io_thread.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/chrome/browser/resources/net_internals/source_entry.js
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/base/load_flags_list.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_cache.cc
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_cache.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_cache_transaction.cc
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_cache_transaction.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_cache_unittest.cc
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_network_session.cc
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/http/http_network_session.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/log/net_log_event_type_list.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/net/log/net_log_source_type_list.h
[modify] http://crrev.com/b38b3f9fbe286d7305d89d5089d18a423d9ab2bc/tools/metrics/histograms/histograms.xml

Project Member Comment 28 by bugdroid1@chromium.org, Aug 14 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e001fc816a85f6815e286398e870b8e86e09703

commit 6e001fc816a85f6815e286398e870b8e86e09703
Author: ricea <ricea@chromium.org>
Date: Fri Aug 14 18:25:29 2015

ResourceScheduler: remove dependency on ResourceRequestInfo and request_id

For async revalidations to work independently of
ResourceDispatcherHostImpl after creation, it is necessary that they
have no ResourceRequestInfoImpl objects attached to them.

However, we still need ResourceScheduler to be able to schedule these
requests.

This CL makes ScheduledResourceRequest a public interface which is
returned by ResourceScheduler::ScheduleResource(). The code to handle
ResourceHostMsg_DidChangePriority is now inside
ResourceDispatcherHostImpl instead of being delegated to
ResourceMessageDelegates.

A pointer to the ScheduledResourceRequest is attached to the URLRequest
so that ResourceDispatcherHostImpl can retrieve it when a
DidChangePriority message is received.

BUG= 348877 
TEST=content_unittests

Review URL: https://codereview.chromium.org/1285863003

Cr-Commit-Position: refs/heads/master@{#343442}

[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_dispatcher_host_impl.h
[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_dispatcher_host_unittest.cc
[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_scheduler.cc
[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_scheduler.h
[modify] http://crrev.com/6e001fc816a85f6815e286398e870b8e86e09703/content/browser/loader/resource_scheduler_unittest.cc

Labels: M-47
Project Member Comment 31 by bugdroid1@chromium.org, Sep 1 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=201546

------------------------------------------------------------------
r201546 | ricea@chromium.org | 2015-09-01T10:02:15.962283Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/WebRuntimeFeatures.cpp?r1=201546&r2=201545&pathrev=201546
   M http://src.chromium.org/viewvc/blink/trunk/public/web/WebRuntimeFeatures.h?r1=201546&r2=201545&pathrev=201546
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=201546&r2=201545&pathrev=201546

Remove StaleWhileRevalidateCacheControl feature.

This feature will not be used in Blink in the immediate future, so
remove it.

There are no callers or users.

BUG= 348877 
TEST=compiled

Review URL: https://codereview.chromium.org/1325613002
-----------------------------------------------------------------
Project Member Comment 32 by bugdroid1@chromium.org, Nov 13 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f054c2a5289d812e69f56ec613cc3f2179c50d0

commit 3f054c2a5289d812e69f56ec613cc3f2179c50d0
Author: ricea <ricea@chromium.org>
Date: Fri Nov 13 06:48:22 2015

Factor out the string lookup code from registry_controlled_domains

The string lookup code used by registry_controlled_domains is generally useful
as it provides for efficient lookup of strings in a set with no runtime
initialisation overhead.

Factor it out into a public LookupStringInFixedSet function and add unit tests.

BUG= 348877 
TEST=net_unittests

Review URL: https://codereview.chromium.org/1412343008

Cr-Commit-Position: refs/heads/master@{#359506}

[add] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/base/lookup_string_in_fixed_set.cc
[add] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/base/lookup_string_in_fixed_set.h
[add] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/base/lookup_string_in_fixed_set_unittest.cc
[modify] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/base/registry_controlled_domains/BUILD.gn
[modify] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/base/registry_controlled_domains/registry_controlled_domain.cc
[modify] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/net.gyp
[modify] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/net.gypi
[rename] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/tools/dafsa/PRESUBMIT.py
[rename] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/tools/dafsa/make_dafsa.py
[rename] http://crrev.com/3f054c2a5289d812e69f56ec613cc3f2179c50d0/net/tools/dafsa/make_dafsa_unittest.py

Comment 33 by ricea@chromium.org, Nov 17 2015
Labels: -M-47 MovedFrom-47 M49
M48 has branched. The target for running experiments is now M49.

Current experiment plan / timeline. All dates are approximate.

1 Dec 2015: Canary smoke test. Enable for 50% of canary users on Mac/Windows/Linux/CrOS for 2 days to detect new crashes. Cannot use Android because there is no Canary for Android. Criteria for proceeding to next step is no significant increase in crashes vs. the control group.
15 Dec 2015: Functionality test. Enable for 40% of dev users on Android for 7 days. Expect to see improvement in PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstTextPaint. Criteria for proceeding to next step is no significant regression on any PageLoad metric.
Q2 2016: Functionality test. Enable for 5% of stable users on Android for 7 days. Success criteria are statistically significant improvement in PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstTextPaint and no statistically significant regression on any PageLoad metric.
Comment 34 by ricea@chromium.org, Nov 17 2015
There are spec and implementation issues with the version of the code that will be in M49. Assuming that the experiments succeed, it is possible that we could have a launchable implementation for M50, but M51 is more likely.
Project Member Comment 35 by bugdroid1@chromium.org, Nov 24 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d97c21a2738efb1f2f0caf90bbc6be3c067cae21

commit d97c21a2738efb1f2f0caf90bbc6be3c067cae21
Author: cbentzel <cbentzel@chromium.org>
Date: Tue Nov 24 11:37:24 2015

Async revalidation only applies to GET requests

BUG= 348877 

Review URL: https://codereview.chromium.org/1406323003

Cr-Commit-Position: refs/heads/master@{#361318}

[modify] http://crrev.com/d97c21a2738efb1f2f0caf90bbc6be3c067cae21/net/http/http_cache_transaction.cc

Labels: -M49 M-49
Project Member Comment 37 by bugdroid1@chromium.org, Nov 25 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/51d6bcfd10cb847da284a7aa1202f92ea37b74ca

commit 51d6bcfd10cb847da284a7aa1202f92ea37b74ca
Author: ricea <ricea@chromium.org>
Date: Wed Nov 25 03:23:42 2015

Add StaleWhileRevalidateExperiment histograms.

Add histograms
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToLoadEventFired,
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstLayout,
and
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstTextPaint.

These behave the same as the base histograms, but they are only recorded
for a subset of domains which have render-blocking resources served with
the Cache-Control stale-while-revalidate directive.

These histograms permit us to measure the benefit in load time from the
implementation of the directive wihout noise from domains which don't
use it.

This CL was split from the original CL https://codereview.chromium.org/1303973009/
with changes to the filenames and target names in //net.

BUG= 348877 
TEST=manual

Review URL: https://codereview.chromium.org/1433893002

Cr-Commit-Position: refs/heads/master@{#361549}

[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.h
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/browser/ui/BUILD.gn
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/chrome_browser.gypi
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/chrome/chrome_browser_ui.gypi
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/BUILD.gn
[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/base/stale_while_revalidate_experiment_domains.cc
[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/base/stale_while_revalidate_experiment_domains.gperf
[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/base/stale_while_revalidate_experiment_domains.h
[add] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/base/stale_while_revalidate_experiment_domains_unittest.cc
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/net.gyp
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/net/net.gypi
[modify] http://crrev.com/51d6bcfd10cb847da284a7aa1202f92ea37b74ca/tools/metrics/histograms/histograms.xml

Project Member Comment 38 by bugdroid1@chromium.org, Nov 25 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d7c2a3547acc7ae725795cdee2ec01f09f651b93

commit d7c2a3547acc7ae725795cdee2ec01f09f651b93
Author: raymes <raymes@chromium.org>
Date: Wed Nov 25 06:30:34 2015

Revert "Add StaleWhileRevalidateExperiment histograms."

This reverts commit 51d6bcfd10cb847da284a7aa1202f92ea37b74ca. It looks like it
might have introduced a new static initializer, though I can't tell where.
See https://build.chromium.org/p/chromium/builders/Linux/builds/68841/steps/sizes/logs/stdio
(there is a new SI detected in
stale_while_revalidate_experiment_domains.cc _GLOBAL__sub_I_stale_while_revalidate_experiment_domains.cc+0xb)

BUG= 348877 
TBR=ricea@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1466313005

Cr-Commit-Position: refs/heads/master@{#361592}

[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.h
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/chrome/browser/ui/BUILD.gn
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/chrome/chrome_browser.gypi
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/chrome/chrome_browser_ui.gypi
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/net/BUILD.gn
[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/net/base/stale_while_revalidate_experiment_domains.cc
[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/net/base/stale_while_revalidate_experiment_domains.gperf
[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/net/base/stale_while_revalidate_experiment_domains.h
[delete] http://crrev.com/13a6266bde8429360d2d657f23aadff06d91961a/net/base/stale_while_revalidate_experiment_domains_unittest.cc
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/net/net.gyp
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/net/net.gypi
[modify] http://crrev.com/d7c2a3547acc7ae725795cdee2ec01f09f651b93/tools/metrics/histograms/histograms.xml

Comment 39 by ricea@chromium.org, Nov 25 2015
Blockedon: chromium:561549
Comment 40 by ricea@chromium.org, Nov 25 2015
Blockedon: chromium:561591
Comment 41 by ricea@chromium.org, Nov 25 2015
Blockedon: chromium:561609
Comment 42 by ricea@chromium.org, Nov 25 2015
Blockedon: chromium:561610
Project Member Comment 43 by bugdroid1@chromium.org, Dec 1 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7afa52378c589e9810345b369669bdcc60261b68

commit 7afa52378c589e9810345b369669bdcc60261b68
Author: ricea <ricea@chromium.org>
Date: Tue Dec 01 20:55:23 2015

Reland of "Add StaleWhileRevalidateExperiment histograms."

Add histograms
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToLoadEventFired,
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstLayout,
and
PageLoad.Clients.StaleWhileRevalidateExperiment.Timing2.NavigationToFirstTextPaint.

These behave the same as the base histograms, but they are only recorded
for a subset of domains which have render-blocking resources served with
the Cache-Control stale-while-revalidate directive.

These histograms permit us to measure the benefit in load time from the
implementation of the directive wihout noise from domains which don't
use it.

This CL was originally landed as
https://codereview.chromium.org/1433893002/ but reverted due to
accidentally introducing a static initialiser. This CL is identical to
the previous one except that it no longer aliases
base::StringPiece::npos to work around the static initialiser issue
http://crbug.com/561283.

TBR=eroman
BUG= 348877 
TEST=manual

Review URL: https://codereview.chromium.org/1479493002

Cr-Commit-Position: refs/heads/master@{#362491}

[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.cc
[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/browser/page_load_metrics/observers/stale_while_revalidate_metrics_observer.h
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/browser/ui/BUILD.gn
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/chrome_browser.gypi
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/chrome/chrome_browser_ui.gypi
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/BUILD.gn
[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/base/stale_while_revalidate_experiment_domains.cc
[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/base/stale_while_revalidate_experiment_domains.gperf
[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/base/stale_while_revalidate_experiment_domains.h
[add] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/base/stale_while_revalidate_experiment_domains_unittest.cc
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/net.gyp
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/net/net.gypi
[modify] http://crrev.com/7afa52378c589e9810345b369669bdcc60261b68/tools/metrics/histograms/histograms.xml

Blockedon: chromium:564517
Added a new issue to track the current round of experiments specifically.
Blockedon: chromium:567721
Project Member Comment 46 by bugdroid1@chromium.org, Dec 10 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96e3ce421fbe8b8133bf9852b7d7cf16e8521026

commit 96e3ce421fbe8b8133bf9852b7d7cf16e8521026
Author: ricea <ricea@chromium.org>
Date: Thu Dec 10 02:13:29 2015

content::ResourceDispatcherHostImpl changes for stale-while-revalidate

Inform //net that we support async revalidation using the net::LOAD_SUPPORT_ASYNC_REVALIDATION flag. Issue async revalidations when response info had the async_revalidation_required flag.

See design doc at
https://docs.google.com/a/chromium.org/document/d/1nBhr25nSJgoyAh4S1-U5h2sH70Iz4RR0NAfXNL79G5Y/edit

BUG= 348877 
TEST=content_unittests

Review URL: https://codereview.chromium.org/1041993004

Cr-Commit-Position: refs/heads/master@{#364253}

[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_driver.cc
[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_driver.h
[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_driver_unittest.cc
[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_manager.cc
[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_manager.h
[add] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/async_revalidation_manager_unittest.cc
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/resource_dispatcher_host_impl.h
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/resource_request_info_impl.cc
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/browser/loader/resource_request_info_impl.h
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/content_browser.gypi
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/content_tests.gypi
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/public/browser/resource_throttle.h
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/public/common/content_switches.cc
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/content/public/common/content_switches.h
[modify] http://crrev.com/96e3ce421fbe8b8133bf9852b7d7cf16e8521026/tools/metrics/histograms/histograms.xml

Comment 47 by ricea@chromium.org, Dec 11 2015
The new experimental implementation is available in about:flags in versions 49.0.2588.0 and later (turned off by default, naturally).
Project Member Comment 48 by bugdroid1@chromium.org, Jan 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f39f4a074e5bb473ec97e5adf50e772c769e773

commit 0f39f4a074e5bb473ec97e5adf50e772c769e773
Author: ricea <ricea@chromium.org>
Date: Wed Jan 13 07:14:18 2016

content_browsertests for stale-while-revalidate

Validate correct end-to-end behaviour for stale-while-revalidate.

BUG= 348877 
TEST=content_browsertests

Review URL: https://codereview.chromium.org/1308203003

Cr-Commit-Position: refs/heads/master@{#369116}

[add] http://crrev.com/0f39f4a074e5bb473ec97e5adf50e772c769e773/content/browser/loader/async_revalidation_manager_browsertest.cc
[modify] http://crrev.com/0f39f4a074e5bb473ec97e5adf50e772c769e773/content/content_tests.gypi

Comment 49 by ricea@chromium.org, Feb 12 2016
Status: Available
Comment 50 by ricea@chromium.org, Feb 12 2016
Owner: ----
Owner: toyoshim@chromium.org
Blocking: 591287
Status: Started
Labels: -Pri-2 -M-49 Pri-3
There's a comment in InitializePageLoadMetricsForWebContents:

// TODO(ricea): Remove this in April 2016 or before.  crbug.com/348877 

Is this ready to be removed? If you still need it, that's fine, but if we're done with it, let's remove it.

Thanks,
Bryan
Can we keep this code for a while since we got unexpected results in the first study and ran another one now.
In that case, can you please keep an appropriate bug updated with the status? If there is meaningful information to share that would change your plans, sharing that appropriately would be most helpful.
Sorry for being lazy to update this bug. Some backgrounds are shared at  crbug.com/564517  and mail post to groups. But I do not have enough throughput to covert everything now because the main eng who works on this bug has took a leave.

We would summarize study results again, and decide the next plan by the end of this Q2.
Fine to keep the observer code around as long as you need it.
Ping
Owner: kenjibaheux@chromium.org
Status: Assigned
The project is not prioritized also in this Q3, but some Loading members have took preliminary survey in context of Everfresh, pre-*, and so on.

Kenji, do you think it's fine to turn down the s-w-r study and to remove related metrics code?
Otherwise, we may update the TODO comments to refer server side json files that always explicitly declare actually study running period. It can be always up to date.
Cc: toyoshim@chromium.org
If the question is about whether or not we need the Loading metrics for the hand-picked origins, the answer is: "no, we can remove the list and the associated PageLoad.Clients.StaleWhileRevalidateExperiment.* metrics".

I just looked at the experiment results again and statistical significance hasn't been reached for this subset of origins on any of the PageLoad.Clients.StaleWhileRevalidateExperiment.* metrics (volume is way too low; large error bars). 

Similar conclusion for the overall loading metrics, no statistical significance. Unsurprisingly, s-w-r usage isn't high enough to impact the overall loading metrics; and there is also something to be said about the benefits beyond Loading.

There is still a lot of excitement in the feature (e.g. AMP, Ads, Social, Fonts, CDNs, discussed in the context of some interventions...). Just yesterday, I found out that a tier 1 website was using it abundantly in their next web app.

Ultimately, I'm not sure why we got pushed into this analysis paralysis corner: the feature makes sense, on the other hand trying to gauge its impact without launching it properly and ramping up usage doesn't make sense. 

We can use Paris' team tooling to simulate an outcome for a given hypothesis of adoption but do we really need to go through such trouble? The only benefits I can see is that if the result doesn't match the expectations, it probably means that we either:
 1. have an issue in the implementation,
 2. have a total misunderstanding of the problem space,
 3. miss the right metrics to capture the user benefits.
Cc: gavinp@chromium.org cbentzel@chromium.org
 Issue 166766  has been merged into this issue.
Status: Archived
[Update on SWR]

We've had a behind the flag implementation for a while and did an experiment but haven't been able to ship it due to some tough remaining issues... We believe that these issues are specific to Chrome's current architecture. In particular, problems with redirects and cookies have been noted as serious show-stopper because getting both of these to work correctly would require some major changes to the way the cache interfaces with the rest of Chrome's net layer. 

Given upcoming major refactors (e.g. PlzNavigate, Servicification of //net) that would be impaired by the current implementation of S-W-R, we have decided to temporarily remove our implementation. 

We still believe that this primitive has significant potential. Mozilla has an open bug[1] for this feature and we hope that they will be able to ship this primitive soon so that the community can help us better understand its impact and therefore facilitate a proper follow-up in Chrome and hopefully other browsers.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=995651
Should the status item be removed?
https://www.chromestatus.com/features/5050913014153216

Joe Medley | Technical Writer, Chrome DevRel | jmedley@google.com |
 816-678-7195
*If an API's not documented it doesn't exist.*
Project Member Comment 68 by bugdroid1@chromium.org, Mar 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2625374404695b3c1c5e62c0b7921fdde1395c7c

commit 2625374404695b3c1c5e62c0b7921fdde1395c7c
Author: scottmg <scottmg@chromium.org>
Date: Wed Mar 22 01:42:48 2017

Remove stale-while-revalidate from content and chrome

This removes the code for the stale-while-revalidate experiment from
content and the flags entry from chrome. This simplifies some c/b/loader
separation particularly in resource_dispatcher_host_impl.cc.

See https://bugs.chromium.org/p/chromium/issues/detail?id=348877#c66 for
details on the experiment turndown.

BUG= 348877 , 700568 

Review-Url: https://codereview.chromium.org/2764683002
Cr-Commit-Position: refs/heads/master@{#458613}

[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/chrome/app/generated_resources.grd
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/chrome/browser/about_flags.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/BUILD.gn
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/DEPS
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/async_resource_handler_unittest.cc
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_driver.cc
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_driver.h
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_driver_unittest.cc
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_manager.cc
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_manager.h
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_manager_browsertest.cc
[delete] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/loader/async_revalidation_manager_unittest.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/netlog_observer_unittest.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/resource_request_info_impl.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/browser/loader/resource_request_info_impl.h
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/public/common/content_features.cc
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/public/common/content_features.h
[modify] https://crrev.com/2625374404695b3c1c5e62c0b7921fdde1395c7c/content/test/BUILD.gn

Project Member Comment 69 by bugdroid1@chromium.org, Mar 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/69708855a86d235ff43a11c1b525f8518e608056

commit 69708855a86d235ff43a11c1b525f8518e608056
Author: scottmg <scottmg@chromium.org>
Date: Wed Mar 22 19:36:31 2017

Remove stale-while-revalidate from blink

The stale-while-revalidate experiment is being turned down for the
moment. This current implementation is removed due to complexity of
interaction with other existing efforts. See
https://bugs.chromium.org/p/chromium/issues/detail?id=561609#c10.

BUG= 348877 ,  520613 ,  700568 

Review-Url: https://codereview.chromium.org/2767853003
Cr-Commit-Position: refs/heads/master@{#458842}

[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/6acb535d91ce5fc01546dc63b07b736e919accbb/third_party/WebKit/LayoutTests/http/tests/cache/freshness-header.html
[delete] https://crrev.com/6acb535d91ce5fc01546dc63b07b736e919accbb/third_party/WebKit/LayoutTests/http/tests/cache/resources/stale-while-revalidate.php
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/loader/fetch/Resource.h
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/loader/fetch/ResourceResponse.cpp
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/loader/fetch/ResourceResponse.h
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/69708855a86d235ff43a11c1b525f8518e608056/third_party/WebKit/Source/platform/network/HTTPParsers.h

Project Member Comment 70 by bugdroid1@chromium.org, Mar 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75221e53b71cc5eb37cbfb957124025259aa5dab

commit 75221e53b71cc5eb37cbfb957124025259aa5dab
Author: scottmg <scottmg@chromium.org>
Date: Mon Mar 27 19:50:22 2017

Remove stale-while-revalidate from net

The stale-while-revalidate experiment is being turned down for the
moment. This current implementation is removed due to complexity of
interaction with other existing efforts. See
https://bugs.chromium.org/p/chromium/issues/detail?id=561609#c10.

BUG= 348877 , 700568 

Review-Url: https://codereview.chromium.org/2763393002
Cr-Commit-Position: refs/heads/master@{#459857}

[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/base/load_flags_list.h
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_cache_transaction.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_cache_transaction.h
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_cache_unittest.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_headers.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_headers.h
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_headers_unittest.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_info.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_info.h
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/http/http_response_info_unittest.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/net/url_request/sdch_dictionary_fetcher.cc
[modify] https://crrev.com/75221e53b71cc5eb37cbfb957124025259aa5dab/tools/metrics/histograms/histograms.xml

Sign in to add a comment