

### Issue Details

* **Electron Version:**
  * 7.1.1
* **Operating System:**
  *  Windows 10 (1803) 
* **Last Known Working Electron version:**
  * 6.1.3

### Expected Behavior
dialog.showMessageBox
https://electronjs.org/docs/api/dialog#dialogshowmessageboxbrowserwindow-options
Returns Promise<Object> - resolves with a promise containing the following properties:
- response Number - The index of the clicked button.
- **checkboxChecked** Boolean - The checked state of the checkbox if checkboxLabel was set. Otherwise false.

### Actual Behavior
checkboxChecked do not change



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);
  bool cb_checked = settings.checkbox_checked;
  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, &cb_checked, settings.icon);
}
void RunMessageBoxInNewThread(base::Thread* thread,
                              const MessageBoxSettings& settings,
                              MessageBoxCallback callback) {
  int result = ShowTaskDialogUTF8(settings);
  base::PostTask(
      FROM_HERE, {content::BrowserThread::UI},
      base::BindOnce(std::move(callback), result, settings.checkbox_checked));
  content::BrowserThread::DeleteSoon(content::BrowserThread::UI, FROM_HERE,
                                     thread);
}
}  
int ShowMessageBoxSync(const MessageBoxSettings& settings) {