commit | ef3cd7e6d7ccc614eae72c654883a71feb8451f3 | [log] [tgz] |
---|---|---|
author | Shunya Shishido <sisidovski@chromium.org> | Thu May 18 09:00:38 2023 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu May 18 09:00:38 2023 |
tree | 953e2905bd18141c7f68d4c1ca1805ffaaabe92d | |
parent | 8fcc500f105bd48bcce20133ea36a07c4d231a36 [diff] |
Reland "Refactoring the race handling to be more comprehensive" This reverts commit e0d3f225933b21921a7de7b54149532f6a581c02. Reason for revert: This is a dependent CL of the recently reverted CL due to the flaky test. The flaky test was temporarily disabled in crrev.com/c/4538561 so now it's fine to reland this CL again. https://ci.chromium.org/p/chromium/builders/ci/fuchsia-x64-rel Original change's description: > Revert "Refactoring the race handling to be more comprehensive" > > This reverts commit 166c98bac5909046e0ce35b7ef6056fdb26d54d7. > > Reason for revert: ServiceWorkerRaceNetworkRequestBrowserTest.NetworkRequest_Wins_FetchHandler_Fallback flaky, mostly failing on fuchsia-x64-rel. The failures started after https://chromium-review.googlesource.com/c/chromium/src/+/4514795; the first failure https://ci.chromium.org/ui/p/chromium/builders/ci/fuchsia-x64-rel/5895/overview. > > Reverting this CL first since it landed on top of https://chromium-review.googlesource.com/c/chromium/src/+/4514795 > > Original change's description: > > Refactoring the race handling to be more comprehensive > > > > This is a refactoring CL to make the race condition handling more > > simpler and comprehensive. > > > > As the discussion in the previous CL pointed[1], it's very unlikely in > > theory but there could be the case that neither RaceNetworkRequest nor > > the fetch handler commits the response. Also, the previous CL introduces > > additional properties which manage the race condition between > > RaceNetworkRequestURLLoaderClient and the owner loader class, which are > > complicated. > > > > This CL removes below properties from the class: > > - `request_completed_` in RaceNetworkRequestURLLoaderClient > > - `is_fetch_handler_response_fallback_` in > > RaceNetworkRequestURLLoaderClient > > - `fetch_response_from_` in ServiceWorkerResourceLoader > > > > Instead, `commit_responsibility_` will be added to > > ServiceWorkerResourceLoader. It is the property replacing > > `fetch_response_from_`, and literally telling who should commit the > > response in the end, RaceNetworkRequest or the fetch handler. When the > > fallback or the network error happens, the client can tell the other > > side to commit the response. The race can just simply tell who is > > responsible to commit the final response, it doesn't have to know the > > state of the other side, like the fallback result of the fetch handler, > > the network error in RaceNetworkRequest etc. > > > > [1] > > https://chromium-review.googlesource.com/c/chromium/src/+/4514795/comment/21231808_966a5777/ > > > > Change-Id: Id1e67915326d7888738a83b745539d8fff8d3658 > > Bug: 1420517, 1443267 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4520238 > > Reviewed-by: Kouhei Ueno <kouhei@chromium.org> > > Commit-Queue: Shunya Shishido <sisidovski@chromium.org> > > Reviewed-by: Minoru Chikamune <chikamune@chromium.org> > > Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#1144044} > > Bug: 1420517, 1443267 > Change-Id: I7c9ac3aee0c728c7b6e9f95cab8d0b70e5bcc13e > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4537435 > Owners-Override: Olga Sharonova <olka@google.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Olga Sharonova <olka@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1144627} Bug: 1420517, 1443267 Change-Id: I72060e26f1858e4cbb57ec349dc6965fa748d6b4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4545705 Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org> Commit-Queue: Shunya Shishido <sisidovski@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#1145865}
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.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.