Reland "Implement Fluent thumb painting on compositor thread." The CL was reverted due to sanitizer tests failing. The cause for the failure was due to not initializing two new variable in in some tests. To see the fix, please see the changes from patch 1 to 4 in this CL. I also scheduled linux and windows msan and asan bot test runs in this CL. Most *san runs I've scheduled are failing due to infra failures, but linux_chromium_msan_rel_ng, which was one of the original failing builds has passed. This is a reland of commit d264772d90b43ac3aecb274963b63841ed264efd Original change's description: > Implement Fluent thumb painting on compositor thread. > > This CL reworks the way Fluent scrollbar thumbs are painted. The thumb > for composited scrollbars will now be painted entirely in the compositor > thread by creating a SolidColorDrawQuad and applying a mask to it to > get the desired rounded corners. Drawing the scrollbar this way we > avoid generating a bitmap for the thumb and re-painting every time > the thumb's state changes (mouse over, press, overlay minimal mode, > etc.). > > In order to get the correct color to the compositor thread a new > function was declared to query the thumb's color from the Scrollbar, > which is piped from the NativeTheme through the ScrollbarTheme. > This function could easily be generalized to return the color of > different parts, but since that behavior is not needed at the moment > the function is scoped to scrollbar thumbs. > > > Bug: 343942712 > Change-Id: I3fc35a13c01cb60d72fee1949a38adeb6fe8996a > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5595110 > Reviewed-by: Peter Kasting <pkasting@chromium.org> > Reviewed-by: Dave Tapuska <dtapuska@chromium.org> > Commit-Queue: Gaston Rodriguez <gastonr@microsoft.com> > Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1316727} Bug: 343942712 Change-Id: Ic32e20d3fe97dfe7993e60b99ea5c8ed5129ca5e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5642992 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: Yaroslav Shalivskyy <yshalivskyy@microsoft.com> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Commit-Queue: Gaston Rodriguez <gastonr@microsoft.com> Cr-Commit-Position: refs/heads/main@{#1320008}
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.