diff --git a/widget/cocoa/nsMenuX.mm b/widget/cocoa/nsMenuX.mm index 43381f7838c18253d83ed9f880281484b4b74030..cf66ea9046c39b19e4fa1fff107f328a6ba6e77a 100644 --- a/widget/cocoa/nsMenuX.mm +++ b/widget/cocoa/nsMenuX.mm @@ -411,17 +411,17 @@ void nsMenuX::MenuOpenedAsync() { mContent->AsElement()->SetAttr(kNameSpaceID_None, nsGkAtoms::open, u"true"_ns, true); } + // Notify our observer. + if (mObserver) { + mObserver->OnMenuOpened(); + } + // Fire popupshown. nsEventStatus status = nsEventStatus_eIgnore; WidgetMouseEvent event(true, eXULPopupShown, nullptr, WidgetMouseEvent::eReal); nsCOMPtr<nsIContent> popupContent = GetMenuPopupContent(); nsIContent* dispatchTo = popupContent ? popupContent : mContent; EventDispatcher::Dispatch(dispatchTo, nullptr, &event, nullptr, &status); - - // Notify our observer. - if (mObserver) { - mObserver->OnMenuOpened(); - } } void nsMenuX::MenuClosed() {