commit | 652cec85b84c96bf9b98a5958e767edebcc1bf26 | [log] [tgz] |
---|---|---|
author | Thomas Lukaszewicz <tluk@chromium.org> | Mon May 26 19:07:54 2025 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 26 19:07:54 2025 |
tree | 6888cd9f95b81dce925721cdca59b18be4d5d2f8 | |
parent | 77504bc05a8714363aebda3c6d8e7ec972b77da8 [diff] |
[bedrock] Clean up TabSearchToolbarButtonController TabSearchToolbarButtonController is implemented as a controller hosted on the BrowserWindowFeatures class. This is created shortly after BrowserView construction and destroyed as the first action during BrowserView destruction. Currently BrowserView attempts to remove the controller's observation of the TabSearchBubbleHost later in the BrowserView destructor. However at this point the controller itself has already been destroyed (reset as the first action in ~BrowserView). This CL updates TabSearchToolbarButtonController to observe the TabSearchBubbleHost shortly after BrowserView::Init() (in the BrowserWindowFeatures::InitPostWindowConstruction() lifecycle hook). A scoped observation is used to ensure the observer is removed as soon as TabSearchToolbarButtonController is reset. BrowserView::GetBrowserViewForBrowser() is used in this CL avoid crashes in "browser" unit tests. This will be removed shortly after BrowserWithTestWindowTest is removed. Bug: 413168662, 360163254 Change-Id: I9d0eea255d216eb81ebf0731c5b202a75d0a925b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6585653 Reviewed-by: Keren Zhu <kerenzhu@chromium.org> Commit-Queue: Tom Lukaszewicz <tluk@chromium.org> Cr-Commit-Position: refs/heads/main@{#1465620}
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.