Commit fdc66c47 authored by Sigurdur Asgeirsson's avatar Sigurdur Asgeirsson Committed by Commit Bot

Retire ScopedObserver in chrome/browser/ui/toolbar/.

ScopedObserver is being deprecated in favor of two new classes:
- base::ScopedObservation for observers that only ever observe
  a single source.
- base::ScopedMultiSourceObservation for observers that do or may
  observe more than a single source.

This CL was created by git cl split.

Bug: 1145565
Change-Id: I1480c826c9a9176d6489c4aa36672844cdb290a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2550222Reviewed-by: default avatarFinnur Thorarinsson <finnur@chromium.org>
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#829288}
parent 525249c4
......@@ -46,10 +46,10 @@ ExtensionToolbarMenuView::ExtensionToolbarMenuView(
container_ = SetContents(std::move(container));
// Listen for the drop to finish so we can close the app menu, if necessary.
toolbar_actions_bar_observer_.Add(main->toolbar_actions_bar());
toolbar_actions_bar_observation_.Observe(main->toolbar_actions_bar());
// Observe app menu so we know when RunMenu() is called.
app_menu_button_observer_.Add(app_menu_button);
app_menu_button_observation_.Observe(app_menu_button);
// In *very* extreme cases, it's possible that there are so many overflowed
// actions, we won't be able to show them all. Cap the height so that the
......@@ -83,7 +83,8 @@ void ExtensionToolbarMenuView::set_close_menu_delay_for_testing(
}
void ExtensionToolbarMenuView::OnToolbarActionsBarDestroyed() {
toolbar_actions_bar_observer_.RemoveAll();
DCHECK(toolbar_actions_bar_observation_.IsObserving());
toolbar_actions_bar_observation_.RemoveObservation();
}
void ExtensionToolbarMenuView::OnToolbarActionDragDone() {
......
......@@ -6,7 +6,7 @@
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_EXTENSION_TOOLBAR_MENU_VIEW_H_
#include "base/memory/weak_ptr.h"
#include "base/scoped_observer.h"
#include "base/scoped_observation.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h"
#include "chrome/browser/ui/views/frame/app_menu_button.h"
......@@ -81,10 +81,10 @@ class ExtensionToolbarMenuView : public AppMenuButtonObserver,
// The maximum allowed height for the view.
int max_height_ = 0;
ScopedObserver<ToolbarActionsBar, ToolbarActionsBarObserver>
toolbar_actions_bar_observer_{this};
ScopedObserver<AppMenuButton, AppMenuButtonObserver>
app_menu_button_observer_{this};
base::ScopedObservation<ToolbarActionsBar, ToolbarActionsBarObserver>
toolbar_actions_bar_observation_{this};
base::ScopedObservation<AppMenuButton, AppMenuButtonObserver>
app_menu_button_observation_{this};
base::WeakPtrFactory<ExtensionToolbarMenuView> weak_factory_{this};
};
......
......@@ -58,14 +58,15 @@ class AppMenuShowingWaiter : public AppMenuButtonObserver {
private:
bool observed_ = false;
base::RunLoop run_loop_;
ScopedObserver<AppMenuButton, AppMenuButtonObserver> observer_{this};
base::ScopedObservation<AppMenuButton, AppMenuButtonObserver> observation_{
this};
};
AppMenuShowingWaiter::AppMenuShowingWaiter(AppMenuButton* button) {
DCHECK(button);
if (button->IsMenuShowing())
observed_ = true;
observer_.Add(button);
observation_.Observe(button);
}
void AppMenuShowingWaiter::AppMenuShown() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment