Index: chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc |
diff --git a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc |
index be345846cc50554f81ab9816e9228b8e68cd64b3..fcc3f7ae7d1861cbc15553de96f6edc4e50e53f3 100644 |
--- a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc |
+++ b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc |
@@ -69,6 +69,10 @@ ExtensionActionPlatformDelegateViews::~ExtensionActionPlatformDelegateViews() { |
DCHECK(!popup_); // We should never have a visible popup at shutdown. |
if (context_menu_owner == this) |
context_menu_owner = nullptr; |
+ // Since the popup close process is asynchronous, it might not be fully closed |
+ // at shutdown. We still need to cleanup, though. |
+ if (popup_) |
+ CleanupPopup(true); |
UnregisterCommand(false); |
} |