### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Electron Version

12.0.1

### What operating system are you using?

Windows

### Operating System Version

Version: Home 2004 / OS build: 19041.867

### What arch are you using?

x64

### Last Known Working Electron version

11.3.0

### Expected Behavior

`navigator.bluetooth.requestDevice({acceptAllDevices: true});` in a renderer JS file should trigger the `select-bluetooth-device` event registered in an electron/main JS file.

### Actual Behavior

Does not trigger the event.

### Testcase Gist URL

https://gist.github.com/910403defe0696032c1f5ccb1a9b1d7e


shell/browser/lib/bluetooth_chooser.cc
switch (state) {
    case DiscoveryState::FAILED_TO_START:
      refreshing_ = false;
      event_handler_.Run(content::BluetoothChooserEvent::CANCELLED, "");
      break;
    case DiscoveryState::IDLE:
      refreshing_ = false;
      if (device_map_.empty()) {
        auto event = ++num_retries_ > kMaxScanRetries
                         ? content::BluetoothChooserEvent::CANCELLED
                         : content::BluetoothChooserEvent::RESCAN;
        event_handler_.Run(event, "");
      } else {
        bool prevent_default = api_web_contents_->Emit(
            "select-bluetooth-device", GetDeviceList(),
            base::BindOnce(&OnDeviceChosen, event_handler_));
        if (!prevent_default) {
          auto it = device_map_.begin();
          auto device_id = it->first;
          event_handler_.Run(content::BluetoothChooserEvent::SELECTED,
                             device_id);