diff options
Diffstat (limited to 'layout/xul/nsXULPopupManager.h')
-rw-r--r-- | layout/xul/nsXULPopupManager.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/layout/xul/nsXULPopupManager.h b/layout/xul/nsXULPopupManager.h index d056322deb..78d2b2648c 100644 --- a/layout/xul/nsXULPopupManager.h +++ b/layout/xul/nsXULPopupManager.h @@ -23,6 +23,7 @@ #include "nsIObserver.h" #include "nsThreadUtils.h" #include "mozilla/Attributes.h" +#include "mozilla/FunctionRef.h" #include "mozilla/widget/InitData.h" #include "mozilla/widget/NativeMenu.h" @@ -551,6 +552,13 @@ class nsXULPopupManager final : public nsIDOMEventListener, void UpdatePopupPositions(nsRefreshDriver* aRefreshDriver); /** + * Get the first nsMenuChainItem that is matched by the matching callback + * function provided. + */ + nsMenuChainItem* FirstMatchingPopup( + mozilla::FunctionRef<bool(nsMenuChainItem*)> aMatcher) const; + + /** * Enable or disable anchor following on the popup if needed. */ void UpdateFollowAnchor(nsMenuPopupFrame* aPopup); @@ -733,6 +741,9 @@ class nsXULPopupManager final : public nsIDOMEventListener, return GetRollupItem(RollupKind::Menu); } + // Add the chain item to the chain and update mPopups to point to it. + void AddMenuChainItem(mozilla::UniquePtr<nsMenuChainItem>); + // Removes the chain item from the chain and deletes it. void RemoveMenuChainItem(nsMenuChainItem*); |