Requests with useStreamOnResponse flag don't reuse preloaded resources |
||||||||||||||||
Issue descriptionVersion: M55 OS: Mac (but probably all) What steps will reproduce the problem? (1) http://paulirish.github.io/web-feature-availability/ (2) Look at downloaded resources What is the expected output? data.json should be downloaded once What do you see instead? It is downloaded twice. Looking into why, it seems that this resource is loaded via `fetch()`, which turns on the useStreamOnResponse flag, which means that `ResourceFetcher::determineRevalidationPolicy()` says it needs to be reloaded. Trying to naively remove that restriction results in assertion failures. We need to figure out a way to preload `fetch()` based resources without triggering double downloads (otherwise, `fetch()` would be significantly slower than the equivalent XHR).
,
Oct 6 2016
,
Oct 7 2016
Loading triager here. Removing from loading as this seems like a fetch issue.
,
Nov 13 2016
http://output.jsbin.com/kuqirix/quiet reduced demo
,
Nov 13 2016
Seems like XHR has the same issue http://output.jsbin.com/kusapoq/quiet
,
Nov 14 2016
,
Nov 15 2016
XHR is a slightly different issue, and fwiw, I'm able to reuse XHRs when they don't have a `crossorigin` attribute and their withCredentials flag is set to true. Not sure that's the correct behavior, tbh.
,
Nov 15 2016
,
Nov 22 2016
Adding XHR component since this is also an issue there.
,
Dec 14 2016
,
Dec 14 2016
,
Dec 19 2016
Talked w/yoav. He is making efforts to resolve this issue. Thanks!
,
Dec 23 2016
Dug around the code a bit and I'd need some guidance from fetch()/streaming folks in order to proceed. Current situation is that if we do match fetch() requests with previously preloaded resources, we get a response with a nullptr WebDataConsumerHandle in FetchManager::Loader::didReceiveResponse() (which ASSERTS) If I ignore that assert, it seems like the handle is required to create BytesConsumerForDataConsumerHandle which is required for BodyStreamBuffer which is in turn required for FetchResponseData::createWithBuffer(). The source of the nullptr handle is RawResource::didAddClient() which called client->responseReceived() with a nullptr handle. I don't think there's a way to create a handle there, as the current handle implementation in created in content/. I'm also not sure such a thing would make sense. So, one possible way to fix this would be to create a BytesConsumer that doesn't require a WebDataConsumerHandle, and let it handle situations where the handle is nullptr. Does that make sense? Would that actually work?
,
Jan 9 2017
,
Jan 9 2017
yhirano@ - friendly ping :) Thoughts on the proposed way to tackle this?
,
Jan 31 2017
Another friendly ping. For context, the new code review system Chromium is switching to within a few months would benefit *highly* (on the order of seconds) from this and issue 678429 by preloading fetch requests to the API.
,
Feb 7 2017
We talked about this topic recently and I would like to sort things (MemoryCache, RawResource[Client], ThreadableLoader[Client], etc) out to fix this issue.
,
Feb 7 2017
Awesome. Thanks for the update, Yoav!
,
Feb 7 2017
Oops. I meant yhirano. 😑
,
Mar 21 2017
Issue 702727 has been merged into this issue.
,
Mar 21 2017
,
Apr 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b63a4f94ae3e6b72ed0107f5525cc48615a0e118 commit b63a4f94ae3e6b72ed0107f5525cc48615a0e118 Author: yhirano <yhirano@chromium.org> Date: Fri Apr 07 08:48:24 2017 Remove ResourceFetcher::preloads This CL removes ResourceFetcher::preloads as a preliminary change for changing how preloaded resources are held in ResourceFetcher. BUG= 652228 Review-Url: https://codereview.chromium.org/2797423003 Cr-Commit-Position: refs/heads/master@{#462812} [modify] https://crrev.com/b63a4f94ae3e6b72ed0107f5525cc48615a0e118/third_party/WebKit/Source/core/loader/LinkLoader.cpp [modify] https://crrev.com/b63a4f94ae3e6b72ed0107f5525cc48615a0e118/third_party/WebKit/Source/core/loader/LinkLoader.h [modify] https://crrev.com/b63a4f94ae3e6b72ed0107f5525cc48615a0e118/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp [modify] https://crrev.com/b63a4f94ae3e6b72ed0107f5525cc48615a0e118/third_party/WebKit/Source/core/loader/resource/LinkPreloadResourceClients.h [modify] https://crrev.com/b63a4f94ae3e6b72ed0107f5525cc48615a0e118/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h
,
Apr 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5705c2783128e015cf8c9da3f7a1b188d81101b8 commit 5705c2783128e015cf8c9da3f7a1b188d81101b8 Author: yhirano <yhirano@chromium.org> Date: Thu Apr 20 12:52:09 2017 Evict "fallback" RawResource from MemoryCache A service worker may ask the original renderer to re-fetch the request when a fetch-mode=CORS request was not handled. In most cases ResourceLoader restarts the resource, but in some cases it lets DocumentThreadableLoader handle the response. In such a case, we can see a Resource whose response's WasFallbackRequiredByServiceWorker is true. Previously ResourceFetcher::DetermineRevalidationPolicy forbade to reuse such a resource. This CL removes the logic. Instead, RawResource evicts itself when receiving such a response. BUG= 652228 R=horo@chromium.org, tyoshino@chromium.org Review-Url: https://codereview.chromium.org/2830753003 Cr-Commit-Position: refs/heads/master@{#465987} [modify] https://crrev.com/5705c2783128e015cf8c9da3f7a1b188d81101b8/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp [modify] https://crrev.com/5705c2783128e015cf8c9da3f7a1b188d81101b8/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
,
Apr 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0b1688086e55683b586a5f00908266ea4e5a1296 commit 0b1688086e55683b586a5f00908266ea4e5a1296 Author: yhirano <yhirano@chromium.org> Date: Tue Apr 25 05:19:38 2017 Give |allow_stale_resources_| a lower priority in DetermineRevalidationPolicy This CL changes DetermineRevalidationPolicy a bit to simplify it. With this CL, |allow_stale_resources_| will be checked after ResourceLoaderOptions::CanReuseRequest is checked. CanReuseRequest checks the synchronous policy and the cors policy, and neither of them is related to staleness. Moreover, the synchronous policy was once checked BEFORE allow_stale_resources_ (see [1]). Also, any user of ResourceCacheValidationSuppressor, the class used to enable |allow_stale_resource_|, doesn't seem to be interested in CORS. Hence I expect no behavior change from this CL. 1: https://crrev.com/733a476495c43c1f472e5770c9d8aeeb94c5caca BUG= 652228 R=hiroshige@chromium.org, japhet@chromium.org Review-Url: https://codereview.chromium.org/2828243002 Cr-Commit-Position: refs/heads/master@{#466880} [modify] https://crrev.com/0b1688086e55683b586a5f00908266ea4e5a1296/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
,
Apr 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58197789bfafee408d8fc728c0ed2f1da81bbbed commit 58197789bfafee408d8fc728c0ed2f1da81bbbed Author: yhirano <yhirano@chromium.org> Date: Tue Apr 25 09:03:39 2017 Move |is_static_data| check down in DetermineRevalidationPolicy This CL moves if (is_static_data) return kUse; section down in DetermineRevalidationPolicy as a preparation to factor out some |return kReload;| statements. BUG= 652228 , 714574 R=hiroshige@chromium.org Review-Url: https://codereview.chromium.org/2829043002 Cr-Commit-Position: refs/heads/master@{#466931} [modify] https://crrev.com/58197789bfafee408d8fc728c0ed2f1da81bbbed/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
,
May 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37589655a8b0ab6436390749e63cfb18a770f314 commit 37589655a8b0ab6436390749e63cfb18a770f314 Author: yhirano <yhirano@chromium.org> Date: Wed May 17 11:12:22 2017 Separate preload matching from MemoryCache This is a reland of https://chromium.googlesource.com/chromium/src/+/bb924e1897f5b4c67325dbfbdf2441e7f0686d53 which is reverted due to performance regressions. This change decouples preload matching from MemoryCache lookup. With this change, preload matching is done for ResourceFetcher::preloads_. This is the first step and part of the second step in the design document[1]. 1: https://docs.google.com/document/d/1oq8ixPnaDxuAlKUTRQ3WoYHlJenVkzNU9xnkuZX_dWM/edit# BUG= 652228 Review-Url: https://codereview.chromium.org/2871233002 Cr-Commit-Position: refs/heads/master@{#472421} [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/LayoutTests/fast/dom/HTMLLinkElement/link-and-subresource-test-expected.txt [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/LayoutTests/http/tests/preload/multiple-meta-csp.html [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/LayoutTests/http/tests/resources/srcset-helper.js [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/LayoutTests/permissionclient/image-permissions-expected.txt [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/core/loader/DocumentLoader.cpp [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/platform/loader/BUILD.gn [add] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/platform/loader/fetch/PreloadKey.h [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h [modify] https://crrev.com/37589655a8b0ab6436390749e63cfb18a770f314/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
,
May 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ad6d7db1af8ce80131088c20bd5480d413e9c3d7 commit ad6d7db1af8ce80131088c20bd5480d413e9c3d7 Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed May 31 03:30:18 2017 Stop adding preloaded RawResources to MemoryCache This CL stops adding preloaded RawResources to MemoryCache. This is needed to match preloaded resources with requests with UseStreamOnResponse specified. From the following reasons, I believe the performance impact is negligible. - Preloading matching is now decoupled from MemoryCache in general. - Loading resources can be shareable only in the same frame. - There is no speculative RawResource preload. Bug: 652228 Change-Id: Icc5f7fc893702233cc45bc130eb13e6fcae919df Reviewed-on: https://chromium-review.googlesource.com/516926 Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#475770} [modify] https://crrev.com/ad6d7db1af8ce80131088c20bd5480d413e9c3d7/third_party/WebKit/Source/platform/loader/fetch/RawResource.h [modify] https://crrev.com/ad6d7db1af8ce80131088c20bd5480d413e9c3d7/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
,
Jun 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ff3e4a87dc25702298caab24c8c9886cef08c788 commit ff3e4a87dc25702298caab24c8c9886cef08c788 Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Jun 14 00:57:40 2017 Introduce ResourceFinishObserver I'm planning to make RawResource has single [Raw]ResourceClient, but actually (possible multiple) link elements need to watch a Resource for the load finished event. Fortunately, only the load finished event is needed, and it is dispatched asynchronously. Hence this CL introduces a separate client interface, ResourceFinishObserver, for the use-case. RawResource will have multiple ResourceFinishObserver, but it's OK because when the load finished event is dispatched, the client cannot mutate the loading related states. Unlike ResourceClient, ResourceFinishObserver is not expected to have sub-interfaces such as ImageResourceClient which complicate the situation. This CL also makes LinkLoader use ResourceFinishObserver instead of ResourceClient. Bug: 652228 Change-Id: I50e1c6ecd5c2f45349974f949946c0f05a6a1131 Reviewed-on: https://chromium-review.googlesource.com/522185 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Kouhei Ueno <kouhei@chromium.org> Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#479233} [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/BUILD.gn [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/LinkLoader.cpp [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/LinkLoader.h [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/resource/CSSStyleSheetResource.cpp [delete] https://crrev.com/34174075ba5fe272eb1666f4d04857cadc24a83d/third_party/WebKit/Source/core/loader/resource/LinkPreloadResourceClients.cpp [delete] https://crrev.com/34174075ba5fe272eb1666f4d04857cadc24a83d/third_party/WebKit/Source/core/loader/resource/LinkPreloadResourceClients.h [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/core/loader/resource/XSLStyleSheetResource.cpp [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/BUILD.gn [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/fetch/Resource.h [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/fetch/ResourceClient.h [add] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/fetch/ResourceFinishObserver.h [modify] https://crrev.com/ff3e4a87dc25702298caab24c8c9886cef08c788/third_party/WebKit/Source/platform/loader/fetch/ResourceOwner.h
,
Jun 19 2017
Issue 734056 has been merged into this issue.
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8972d6423c5b4a84984f2801428e36b31350251c commit 8972d6423c5b4a84984f2801428e36b31350251c Author: Yutaka Hirano <yhirano@chromium.org> Date: Thu Jun 22 16:22:09 2017 Remove unused preload-related enums Bug: 652228 Change-Id: Ifa4d7b32b2fe5c05884c2ce2dc128a910433b71b Reviewed-on: https://chromium-review.googlesource.com/544379 Commit-Queue: Takeshi Yoshino <tyoshino@chromium.org> Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org> Cr-Commit-Position: refs/heads/master@{#481553} [modify] https://crrev.com/8972d6423c5b4a84984f2801428e36b31350251c/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp [modify] https://crrev.com/8972d6423c5b4a84984f2801428e36b31350251c/third_party/WebKit/Source/platform/loader/fetch/Resource.h
,
Jun 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba97ce5223dbe2daa4f4daf13f002a44f57862af commit ba97ce5223dbe2daa4f4daf13f002a44f57862af Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Jun 23 11:52:16 2017 Expose WebDataConsumerHandleImpl constructor to blink This will be needed to implement fetch API preloading support. Bug: 652228 Change-Id: Icc7719a137731552cce5613fe006097d657af7ef Reviewed-on: https://chromium-review.googlesource.com/544377 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#481856} [modify] https://crrev.com/ba97ce5223dbe2daa4f4daf13f002a44f57862af/content/child/blink_platform_impl.cc [modify] https://crrev.com/ba97ce5223dbe2daa4f4daf13f002a44f57862af/content/child/blink_platform_impl.h [modify] https://crrev.com/ba97ce5223dbe2daa4f4daf13f002a44f57862af/third_party/WebKit/public/platform/Platform.h
,
Jun 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2a56889ad2ded7c7db5c23ede201332da9c948e commit b2a56889ad2ded7c7db5c23ede201332da9c948e Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Jun 27 14:20:48 2017 Introduce BufferingDataPipeWriter This CL introduces BufferingDataPipeWriter which is conceptually the writer end of a data pipe accompanied with buffers. This class is planned to be used for fetch API support for preloading. Bug: 652228 Change-Id: I538de868ff77f772e826345c700c654763659e03 Reviewed-on: https://chromium-review.googlesource.com/548517 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Cr-Commit-Position: refs/heads/master@{#482619} [modify] https://crrev.com/b2a56889ad2ded7c7db5c23ede201332da9c948e/third_party/WebKit/Source/platform/loader/BUILD.gn [add] https://crrev.com/b2a56889ad2ded7c7db5c23ede201332da9c948e/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.cpp [add] https://crrev.com/b2a56889ad2ded7c7db5c23ede201332da9c948e/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriter.h [add] https://crrev.com/b2a56889ad2ded7c7db5c23ede201332da9c948e/third_party/WebKit/Source/platform/loader/fetch/BufferingDataPipeWriterTest.cpp
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8326444f818681aef3e642e063bb6d9d98c78423 commit 8326444f818681aef3e642e063bb6d9d98c78423 Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Jul 14 11:07:01 2017 Tidy up preload related states in blink::Resource This CL cleans up preload related states in Resource as following: - Removes preload_count_ and introduces is_unused_preload_. With this change, a resource can be a preload for only one request, and hence tied to one ResourceFetcher at a time. - Renames IncreasePreloadCount and DecreasePreloadCount to MarkAsPreload and MatchPreload respectively. - Removed preload_result_. - Changes the timing of kPreloadNotReferenced => kPreloadReferenced (i.e., true => false for is_unused_preload_) state transition from when a ResourceClient is added to when MatchPreload is called. - Removes PreloadReferencePolicy. Bug: 652228 Change-Id: I6564c0eed24f19051ee49c429cf87db746414023 Reviewed-on: https://chromium-review.googlesource.com/544363 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Yoav Weiss <yoav@yoav.ws> Reviewed-by: Charlie Harrison <csharrison@chromium.org> Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org> Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org> Cr-Commit-Position: refs/heads/master@{#486730} [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/core/html/parser/CSSPreloadScannerTest.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/core/loader/LinkLoader.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/platform/loader/fetch/Resource.h [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp [modify] https://crrev.com/8326444f818681aef3e642e063bb6d9d98c78423/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
,
Aug 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be39b6a46ff6bf37e9a405f40abb9b451de005d5 commit be39b6a46ff6bf37e9a405f40abb9b451de005d5 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Aug 07 17:15:45 2017 Stop adding RawResources to MemoryCache This CL stops adding RawResources to MemoryCache, mainly for a step for code simplification. Most of RawResources are already not added sto MemoryCache, so I expect the performance loss is acceptable. This CL will allow us to remove revalidation code from RawResource, which is beneficial for code simplicity and security. Some inspector code assumes that resources loaded by InspectorResourceContentLoader are cached. This CL breaks the assumption. Instead, this CL makes CachedResource search for a resource also in the InspectorResourceContentLoader. Bug: 652228 Change-Id: Ie9bdcd33248038d99b1dcdb59085cf3811b3bd87 Reviewed-on: https://chromium-review.googlesource.com/513764 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org> Reviewed-by: Kouhei Ueno <kouhei@chromium.org> Cr-Commit-Position: refs/heads/master@{#492346} [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.h [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp [modify] https://crrev.com/be39b6a46ff6bf37e9a405f40abb9b451de005d5/third_party/WebKit/Source/platform/loader/fetch/ResourceTest.cpp
,
Aug 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0 commit 3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Aug 28 03:27:24 2017 Support preloading matching for fetch API Bug: 652228 Change-Id: Ib9881cb74bc4ab6909b45255ac563dcb4208907c Reviewed-on: https://chromium-review.googlesource.com/549877 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org> Cr-Commit-Position: refs/heads/master@{#497691} [add] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/LayoutTests/http/tests/preload/fetch-api.html [add] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/LayoutTests/http/tests/preload/resources/hello.txt [modify] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp [modify] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/Source/platform/loader/fetch/RawResource.h [modify] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp [modify] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/Source/platform/loader/fetch/Resource.h [modify] https://crrev.com/3ca47bec2c4ec76d51f555a53d61d0a75c5d59c0/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
,
Aug 28 2017
,
Aug 29 2017
Yay! :)
,
Sep 6 2017
I believe this is in for M-62.
,
Sep 29 2017
Issue 770205 has been merged into this issue.
,
Sep 29 2017
Issue 770205 still reproduces in M-63
,
Sep 29 2017
Regarding 770205, 652228 is about ensuring rel=preload and fetch() work correctly together (which is working fine for me in M63) and is not directly related afaik.
,
Sep 29 2017
Thanks, my mistake.
,
Oct 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1cf33a332011c4fa2901b4c81fffcf6ade12b414 commit 1cf33a332011c4fa2901b4c81fffcf6ade12b414 Author: Hiroshige Hayashizaki <hiroshige@chromium.org> Date: Tue Oct 17 20:35:14 2017 Always remove errored Resource from MemoryCache Previously, preloaded Resources are not evicted from MemoryCache in some cases, even when it is errored, in order to prevent duplicated requests to an errored URL (once as a preloading request and once as a non-preloading request). But now this exception is not needed because Issue 652228 made preload matching done outside MemoryCache. This CL removes that exception and makes errored Resources always evicted from MemoryCache. Bug: 652228 Change-Id: I706b733574f9a753cb8d001a2be53f78b0d9933c Reviewed-on: https://chromium-review.googlesource.com/721845 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org> Cr-Commit-Position: refs/heads/master@{#509506} [modify] https://crrev.com/1cf33a332011c4fa2901b4c81fffcf6ade12b414/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
,
Oct 23 2017
,
Oct 23 2017
|
||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||
Comment 1 by y...@yoav.ws
, Oct 3 2016