Reland "Reland "DevTools Network Response Body Durable Storage implementation"" This is a reland of commit f68fb6456fb6271f81791a40e9112fd1eed9056d The most recent revert of this is unrelated to this change itself, but due to an issue that existed in a PHP test script. I've created a separate fix CL crrev.com/c/6877661 that needs to land before this can be relanded. I've also removed some of the expectations that may help to reduce any potential flakes due to platform differences. Original change's description: > Reland "DevTools Network Response Body Durable Storage implementation" > > This is a reland of commit 9a67277c4c1e28001785ac7117c67c8299d5eea8 > > This CL adds an explicit destruction of the Durable Messages Collector > map to prevent a destruction order related crash on MSAN builds. > > Original change's description: > > DevTools Network Response Body Durable Storage implementation > > > > This CL implements a response body storage mechanism that allow > > introspection of network response bodies after the renderer has been > > terminated. This reuses CDP's `NetworkHandler::enable()` with a > > new parameter and `::GetResponseBody()` methods to switch to > > the `DevtoolsDurableMessage` storage hosted in the Network Service. > > The storage is designed to be evicted based on the set limit, or as > > CDP clients are disconnected. > > > > Follow up CLs will complete the following: > > * Decoding stored messages on retrieval (gzip, brotli etc). > > * Base64 encoding binary payloads on retrieval to match current CDP > > API design. > > > > Design doc: https://docs.google.com/document/d/1CGX7k-8KLJBPUCWGUzJSNF991JPBDYGEQF_-hYGQ2hA/edit?pli=1&tab=t.0#heading=h.7nki9mck5t64 > > > > Bug: 414864477 > > Change-Id: Ib991fb2d2801a5ef0e17517ec0a1c719a2e1687c > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6503314 > > Reviewed-by: Andrey Kosyakov <caseq@chromium.org> > > Reviewed-by: Tom Sepez <tsepez@chromium.org> > > Commit-Queue: Alex N. Jose <alexnj@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#1503009} > > Bug: 414864477 > Change-Id: Ifbe215f084e049f3ea289f98aced13c357d763b6 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6861675 > Commit-Queue: Alex N. Jose <alexnj@chromium.org> > Reviewed-by: Adam Rice <ricea@chromium.org> > Reviewed-by: Andrey Kosyakov <caseq@chromium.org> > Reviewed-by: Tom Sepez <tsepez@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1504827} Bug: 414864477 Change-Id: I44bd30b9592866a50fd8789fc4a0a61d78ad0ebf Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6876126 Reviewed-by: Adam Rice <ricea@chromium.org> Commit-Queue: Alex N. Jose <alexnj@chromium.org> Cr-Commit-Position: refs/heads/main@{#1507116}
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.