| Index: third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
|
| diff --git a/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp b/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
|
| index 4c008f6b78af945050ad33306b6b24c8d54bb862..87fa5b04962c33fb9f04d1b2cb2d67d712e8db7d 100644
|
| --- a/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
|
| +++ b/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
|
| @@ -183,6 +183,14 @@ void RawResource::WillNotFollowRedirect() {
|
| void RawResource::ResponseReceived(
|
| const ResourceResponse& response,
|
| std::unique_ptr<WebDataConsumerHandle> handle) {
|
| + if (response.WasFallbackRequiredByServiceWorker()) {
|
| + // The ServiceWorker asked us to re-fetch the request. This resource must
|
| + // not be reused.
|
| + // Note: This logic is needed here because DocumentThreadableLoader handles
|
| + // CORS independently from ResourceLoader. Fix it.
|
| + GetMemoryCache()->Remove(this);
|
| + }
|
| +
|
| bool is_successful_revalidation =
|
| IsCacheValidator() && response.HttpStatusCode() == 304;
|
| Resource::ResponseReceived(response, nullptr);
|
|
|