 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_win.cc
const base::string16& message,
                                 const base::string16& detail,
                                 const base::string16& checkbox_label,
                                 bool checkbox_checked,
                                 const gfx::ImageSkia& icon) {
  TASKDIALOG_FLAGS flags =
      TDF_SIZE_TO_CONTENT |           
      TDF_ALLOW_DIALOG_CANCELLATION;  
  TASKDIALOGCONFIG config = {0};
  config.cbSize = sizeof(config);
  config.hInstance = GetModuleHandle(NULL);
  config.dwFlags = flags;
  if (parent) {
    config.hwndParent = static_cast<electron::NativeWindowViews*>(parent)
                            ->GetAcceleratedWidget();
  }
  if (default_id > 0)
    config.nDefaultButton = kIDStart + default_id;
  
  
  base::string16 app_name = base::UTF8ToUTF16(Browser::Get()->GetName());
  if (title.empty())
    config.pszWindowTitle = app_name.c_str();
  else
    config.pszWindowTitle = title.c_str();
  base::win::ScopedHICON hicon;
  if (!icon.isNull()) {
    hicon = IconUtil::CreateHICONFromSkBitmap(*icon.bitmap());
    config.dwFlags |= TDF_USE_HICON_MAIN;
    config.hMainIcon = hicon.get();