- Electron version:
  We are using node 5.10.0, Chrome 49.0.2623.75, and Electron 1.0.1. 
- Operating system:
  Mac OS X 10.11.3 (15D21)

Trying to use the [Web Bluetooth APIs](https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web?hl=en#scan-for-bluetooth-devices) but when I run the Web Bluetooth demo code, the callbacks fail with the error:

`Argh! NotFoundError: User cancelled the requestDevice() chooser.`

main.js code:

```
// Module to control application life.
const {app} = electron;

// @link https://github.com/electron/electron/blob/master/docs/api/chrome-command-line-switches.md
app.commandLine.appendSwitch('enable-web-bluetooth', true);
```

Index.html code:

```
<a href="#" onclick="run();" class="scanDevices">Scan</a>
    <script>
    function run() {
        var filters = [{
    services: [0x1800, 0x1801, 0x1812]
  }];
          console.log('Requesting Bluetooth Device...');
  navigator.bluetooth.requestDevice({filters: filters})
  .then(device => {
    console.log('> Name:             ' + device.name);
    console.log('> Id:               ' + device.id);
    console.log('> UUIDs:            ' + device.uuids.join('\n' + ' '.repeat(20)));
    console.log('> Connected:        ' + device.gatt.connected);
  })
  .catch(error => {
    console.log('Argh! ' + error);
  });
  }
    </script>
```

Reference:
https://github.com/electron/electron/blob/master/atom/browser/atom_permission_manager.cc#L93

atom/browser/api/atom_api_web_contents.cc
if (!embedder_)
    return nullptr;
  return embedder_->web_contents();
}
v8::Local<v8::Value> WebContents::DevToolsWebContents(v8::Isolate* isolate) {
  if (devtools_web_contents_.IsEmpty())
    return v8::Null(isolate);
  else
    return v8::Local<v8::Value>::New(isolate, devtools_web_contents_);
}
v8::Local<v8::Value> WebContents::Debugger(v8::Isolate* isolate) {
  if (debugger_.IsEmpty()) {
    auto handle = atom::api::Debugger::Create(isolate, web_contents());
    debugger_.Reset(isolate, handle.ToV8());
  }
  return v8::Local<v8::Value>::New(isolate, debugger_);
}
void WebContents::BuildPrototype(v8::Isolate* isolate,
                                 v8::Local<v8::ObjectTemplate> prototype) {
  mate::ObjectTemplateBuilder(isolate, prototype)
      .MakeDestroyable()
      .SetMethod("getId", &WebContents::GetID)
      .SetMethod("equal", &WebContents::Equal)
      .SetMethod("_loadURL", &WebContents::LoadURL)
      .SetMethod("downloadURL", &WebContents::DownloadURL)
      .SetMethod("_getURL", &WebContents::GetURL)
      .SetMethod("getTitle", &WebContents::GetTitle)
      .SetMethod("isLoading", &WebContents::IsLoading)
      .SetMethod("isLoadingMainFrame", &WebContents::IsLoadingMainFrame)
      .SetMethod("isWaitingForResponse", &WebContents::IsWaitingForResponse)