Commit b77d199e authored by Caroline Rising's avatar Caroline Rising Committed by Commit Bot

Prevent extension toolbar visibility from updating due to context menus within the extensions menu.

This change fixes a bug where an extension's toolbar visibility was updating do to context menus being shown within the extensions menu.

Bug: 1059977
Change-Id: I103bc208927bf8f74a2abd0a51137216e34fba0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2096092
Commit-Queue: Caroline Rising <corising@chromium.org>
Reviewed-by: default avatarDana Fried <dfried@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748975}
parent 7604c572
......@@ -236,17 +236,24 @@ ToolbarActionViewController* ExtensionsToolbarContainer::GetPoppedOutAction()
void ExtensionsToolbarContainer::OnContextMenuShown(
ToolbarActionViewController* extension) {
extension_with_open_context_menu_id_ = extension->GetId();
UpdateIconVisibility(extension_with_open_context_menu_id_.value());
// Only update the extension's toolbar visibility if the context menu is being
// shown from an extension visible in the toolbar.
if (!ExtensionsMenuView::IsShowing()) {
extension_with_open_context_menu_id_ = extension->GetId();
UpdateIconVisibility(extension_with_open_context_menu_id_.value());
}
}
void ExtensionsToolbarContainer::OnContextMenuClosed(
ToolbarActionViewController* extension) {
DCHECK(extension_with_open_context_menu_id_.has_value());
base::Optional<extensions::ExtensionId> const
extension_with_open_context_menu = extension_with_open_context_menu_id_;
extension_with_open_context_menu_id_.reset();
UpdateIconVisibility(extension_with_open_context_menu.value());
// |extension_with_open_context_menu_id_| does not have a value when a context
// menu is being shown from within the extensions menu.
if (extension_with_open_context_menu_id_.has_value()) {
base::Optional<extensions::ExtensionId> const
extension_with_open_context_menu = extension_with_open_context_menu_id_;
extension_with_open_context_menu_id_.reset();
UpdateIconVisibility(extension_with_open_context_menu.value());
}
}
bool ExtensionsToolbarContainer::IsActionVisibleOnToolbar(
......
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