 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
std::vector<base::string16> utf16_buttons;
  for (const auto& button : settings.buttons)
    utf16_buttons.push_back(base::UTF8ToUTF16(button));
  const base::string16 title_16 = base::UTF8ToUTF16(settings.title);
  const base::string16 message_16 = base::UTF8ToUTF16(settings.message);
  const base::string16 detail_16 = base::UTF8ToUTF16(settings.detail);
  const base::string16 checkbox_label_16 =
      base::UTF8ToUTF16(settings.checkbox_label);
  return ShowTaskDialogUTF16(
      settings.parent_window, settings.type, utf16_buttons, settings.default_id,
      settings.cancel_id, settings.options, title_16, message_16, detail_16,
      checkbox_label_16, settings.checkbox_checked, settings.icon);
}
void RunMessageBoxInNewThread(base::Thread* thread,
                              const MessageBoxSettings& settings,
                              MessageBoxCallback callback) {
  DialogResult result = ShowTaskDialogUTF8(settings);
  base::PostTask(
      FROM_HERE, {content::BrowserThread::UI},
      base::BindOnce(std::move(callback), result.first, result.second));
  content::BrowserThread::DeleteSoon(content::BrowserThread::UI, FROM_HERE,
                                     thread);
}
}  
int ShowMessageBoxSync(const MessageBoxSettings& settings) {