
std::string_view is effectively a string pointer, so its content should be copied-in when it is used with base::Bind*. However, according to http://crbug.com/376675478, this is not happening, nor is the code smart enough to detect binding a std::string_view into a base callback, which will lead to dangling pointer issues. This CL fixes all the std::string_view binding issues that I've found. Note that base::Bind* binds the argument rather than the parameter, which means you are safe as long as you wrap it with std::string() when calling base::Bind*. Bug: 382334458 Change-Id: I9be8085a0973e0ba45b3eade9bdc8a1b36882324 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6373954 Auto-Submit: Yuwei Huang <yuweih@chromium.org> Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org> Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org> Commit-Queue: Yuwei Huang <yuweih@chromium.org> Cr-Commit-Position: refs/heads/main@{#1435148}
Chromium
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.