 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::map<int, int>* id_map,
                   TASKDIALOG_COMMON_BUTTON_FLAGS* button_flags,
                   std::vector<TASKDIALOG_BUTTON>* dialog_buttons) {
  for (size_t i = 0; i < buttons.size(); ++i) {
    auto common = GetCommonID(buttons[i]);
    if (common.button != -1) {
      
      (*id_map)[common.id] = i;
      (*button_flags) |= common.button;
    } else {
      
      dialog_buttons->push_back(
          {static_cast<int>(i + kIDStart), buttons[i].c_str()});
    }
  }
}
DialogResult ShowTaskDialogUTF16(NativeWindow* parent,
                                 MessageBoxType type,
                                 const std::vector<base::string16>& buttons,
                                 int default_id,
                                 int cancel_id,
                                 int options,
                                 const base::string16& title,