Would it be possible to add methods and/or events to expose the visibility state of Menu instances? For example methods like `Menu#isVisible()` and `Menu#isHidden()` and events like "show" and "hide".
shell/browser/ui/win/notify_icon.h
void PopUpContextMenu(const gfx::Point& pos,
                        AtomMenuModel* menu_model) override;
  void SetContextMenu(AtomMenuModel* menu_model) override;
  gfx::Rect GetBounds() override;
 private:
  void InitIconData(NOTIFYICONDATA* icon_data);
  void OnContextMenuClosed();
  
  NotifyIconHost* host_;
  
  UINT icon_id_;
  
  HWND window_;
  
  UINT message_id_;
  
  base::win::ScopedHICON icon_;
  
  AtomMenuModel* menu_model_ = nullptr;
  
  std::unique_ptr<views::MenuRunner> menu_runner_;
  
  std::unique_ptr<views::Widget> widget_;
  
  base::WeakPtrFactory<NotifyIcon> weak_factory_;
  DISALLOW_COPY_AND_ASSIGN(NotifyIcon);
};
}  
#endif