Index: chrome/browser/ui/toolbar/toolbar_actions_bar.cc |
diff --git a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc |
index fef0d5dd37075987dcb1293e4cf5fd644c5dc7cd..6bdb00c72e32ace1a86c27716cba95de8f8cb34f 100644 |
--- a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc |
+++ b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc |
@@ -120,6 +120,7 @@ ToolbarActionsBar::ToolbarActionsBar(ToolbarActionsBarDelegate* delegate, |
main_bar_(main_bar), |
platform_settings_(main_bar != nullptr), |
popup_owner_(nullptr), |
+ sidebar_owner_(nullptr), |
model_observer_(this), |
suppress_layout_(false), |
suppress_animation_(true), |
@@ -505,6 +506,21 @@ void ToolbarActionsBar::HideActivePopup() { |
DCHECK(!popup_owner_); |
} |
+void ToolbarActionsBar::SetSidebarOwner( |
+ ToolbarActionViewController* sidebar_owner) { |
+ // We should never be setting a popup owner when one already exists, and |
+ // never unsetting one when one wasn't set. |
+ DCHECK((!sidebar_owner_ && sidebar_owner) || |
+ (sidebar_owner_ && !sidebar_owner)); |
+ sidebar_owner_ = sidebar_owner; |
+} |
+ |
+void ToolbarActionsBar::HideActiveSidebar() { |
+ if (sidebar_owner_) |
+ sidebar_owner_->HideSidebar(); |
+ DCHECK(!sidebar_owner_); |
+} |
+ |
ToolbarActionViewController* ToolbarActionsBar::GetMainControllerForAction( |
ToolbarActionViewController* action) { |
return in_overflow_mode() ? |