 dialog.showMessageBoxSync(getCurrentWindow(), {
        type: "question",
        title: "test title",
        message: "test message",
        buttons: ["OK", "Cancel"],
        defaultId: 0,
        cancelId: 1,
        noLink: true
    })
shell/browser/ui/message_box.h
MESSAGE_BOX_NONE = 0,
  MESSAGE_BOX_NO_LINK = 1 << 0,
};
using DialogResult = std::pair<int, bool>;
struct MessageBoxSettings {
  electron::NativeWindow* parent_window = nullptr;
  MessageBoxType type = electron::MessageBoxType::kNone;
  std::vector<std::string> buttons;
  int default_id;
  int cancel_id;
  int options = electron::MessageBoxOptions::MESSAGE_BOX_NONE;
  std::string title;
  std::string message;
  std::string detail;
  std::string checkbox_label;
  bool checkbox_checked = false;
  gfx::ImageSkia icon;
  MessageBoxSettings();
  MessageBoxSettings(const MessageBoxSettings&);
  ~MessageBoxSettings();
};
int ShowMessageBoxSync(const MessageBoxSettings& settings);
typedef base::OnceCallback<void(int code, bool checkbox_checked)>
    MessageBoxCallback;
void ShowMessageBox(const MessageBoxSettings& settings,
                    MessageBoxCallback callback);
void ShowErrorBox(const base::string16& title, const base::string16& content);
}  
#endif