| Index: chrome/browser/ui/views/frame/browser_view.cc
|
| diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
|
| index 46e8977a8fff9c8369ea8aa87166f2d5ea1f1121..e40229f310b832ffe6927d48d3d033f2f9283e34 100644
|
| --- a/chrome/browser/ui/views/frame/browser_view.cc
|
| +++ b/chrome/browser/ui/views/frame/browser_view.cc
|
| @@ -1656,6 +1656,22 @@ base::string16 BrowserView::GetAccessibleTabLabel(bool include_app_name,
|
| return base::string16();
|
| }
|
|
|
| +void BrowserView::NativeThemeUpdated(const ui::NativeTheme* theme) {
|
| + // We don't handle theme updates in OnThemeChanged() as that function is
|
| + // called while views are being iterated over. Please see
|
| + // View::PropagateNativeThemeChanged() for details. The theme update
|
| + // handling in UserChangedTheme() can cause views to be nuked or created
|
| + // which is a bad thing during iteration.
|
| +
|
| + // Do not handle native theme changes before the browser view is initialized.
|
| + if (!initialized_)
|
| + return;
|
| + // Don't infinitely recurse.
|
| + if (!handling_theme_changed_)
|
| + UserChangedTheme();
|
| + chrome::MaybeShowInvertBubbleView(this);
|
| +}
|
| +
|
| views::View* BrowserView::GetInitiallyFocusedView() {
|
| return nullptr;
|
| }
|
| @@ -1990,17 +2006,6 @@ void BrowserView::OnThemeChanged() {
|
| views::View::OnThemeChanged();
|
| }
|
|
|
| -void BrowserView::OnNativeThemeChanged(const ui::NativeTheme* theme) {
|
| - // Do not handle native theme changes before the browser view is initialized.
|
| - if (!initialized_)
|
| - return;
|
| - ClientView::OnNativeThemeChanged(theme);
|
| - // Don't infinitely recurse.
|
| - if (!handling_theme_changed_)
|
| - UserChangedTheme();
|
| - chrome::MaybeShowInvertBubbleView(this);
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // BrowserView, ui::AcceleratorTarget overrides:
|
|
|
|
|