commit | b74246e6c5b0be281038718eb93a0ed70e7ff6ed | [log] [tgz] |
---|---|---|
author | Kenichi Ishibashi <bashi@chromium.org> | Tue Dec 04 11:42:18 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Dec 04 11:42:18 2018 |
tree | 7b34a5a70eed45b4828ccaf9fb444374eaec3c82 | |
parent | e89c2a05ed132e26c1936f2d3ba411e2fcfdcff7 [diff] |
Add response source field in FetchAPIResponse We've done an early analysis of new histograms for service worker load timing and realized that we need further breakdown. Specifically we'd like to have breakdown of loading time by response source (e.g. from network, HttpCache, CacheStorage). This CL adds the source of a response so that we can record response load time separately based on their sources. Currently the source is set in following cases (otherwise the source is unspecified): - response from fetch(). In this case the source could be either kNetwork or kHttpCache. - response from Cache#match() or Cache#matchAll(). In this case the source is kCacheStorage. This CL doesn't add histograms but follow-up CLs will add them. This CL based on wanderview@'s CL [1]. For those who are curious about why we need to touch a number of files, see [2] for how we populate information from blink to content. You may also wonder why we can't use existing fields in ResourceResponseInfo like |was_fetched_via_cache|. The answer is that service worker URLLoaders (SWNavigationLoader and SWSubresourceLoader) create ResourceResponseInfo from FetchResponseAPI, as [2] implies. [1] https://crrev.com/c/1194765 [2] https://drive.google.com/file/d/16ITKnTM63_5Y2GTEBzmCJh_7cqm_MQtL/view?usp=sharing Change-Id: I2f8d1ab80257fb4511424bc9bcb0f24d37a8b46e Bug: 877972 Reviewed-on: https://chromium-review.googlesource.com/c/1358100 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Matt Falkenhagen <falken@chromium.org> Reviewed-by: Makoto Shimazu <shimazu@chromium.org> Commit-Queue: Kenichi Ishibashi <bashi@chromium.org> Cr-Commit-Position: refs/heads/master@{#613512}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .