* Electron Version: latest
* Operating System (Platform and Version): mac
* Last known working Electron version: n/a

**Expected Behavior**
When the tray icon menu is popped up manually (but on a tray click event callback), I expect the menu to open up but not necessarily block the main process.

**Actual behavior**
It blocks the main process until the menu is closed. This is creating issues with other timers etc that I have running on the main process.



shell/browser/ui/atom_menu_model.h
#ifndef SHELL_BROWSER_UI_ATOM_MENU_MODEL_H_
#define SHELL_BROWSER_UI_ATOM_MENU_MODEL_H_
#include <map>
#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "ui/base/models/simple_menu_model.h"
namespace electron {
class AtomMenuModel : public ui::SimpleMenuModel {
 public:
  class Delegate : public ui::SimpleMenuModel::Delegate {
   public:
    ~Delegate() override {}
    virtual bool GetAcceleratorForCommandIdWithParams(
        int command_id,
        bool use_default_accelerator,
        ui::Accelerator* accelerator) const = 0;
    virtual bool ShouldRegisterAcceleratorForCommandId(
        int command_id) const = 0;
    virtual bool ShouldCommandIdWorkWhenHidden(int command_id) const = 0;
   private:
    
    bool GetAcceleratorForCommandId(
        int command_id,
        ui::Accelerator* accelerator) const override;
  };
  class Observer : public base::CheckedObserver {
   public:
    ~Observer() override {}