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.cc
gfx::Point cursorPos = display::Screen::GetScreen()->GetCursorScreenPoint();
  
  if (GetBounds().Contains(cursorPos))
    NotifyMouseMoved(cursorPos, modifiers);
}
void NotifyIcon::ResetIcon() {
  NOTIFYICONDATA icon_data;
  InitIconData(&icon_data);
  
  Shell_NotifyIcon(NIM_DELETE, &icon_data);
  InitIconData(&icon_data);
  icon_data.uFlags |= NIF_MESSAGE;
  icon_data.uCallbackMessage = message_id_;
  icon_data.hIcon = icon_.get();
  
  
  if (icon_data.hIcon)
    icon_data.uFlags |= NIF_ICON;
  
  BOOL result = Shell_NotifyIcon(NIM_ADD, &icon_data);
  if (!result)
    LOG(WARNING) << "Unable to re-create status tray icon.";
}
void NotifyIcon::SetImage(HICON image) {