- 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.h
void BeforeUnloadFired(content::WebContents* tab,
                         bool proceed,
                         bool* proceed_to_fire_unload) override;
  void MoveContents(content::WebContents* source,
                    const gfx::Rect& pos) override;
  void CloseContents(content::WebContents* source) override;
  void ActivateContents(content::WebContents* contents) override;
  bool IsPopupOrPanel(const content::WebContents* source) const override;
  void HandleKeyboardEvent(
      content::WebContents* source,
      const content::NativeWebKeyboardEvent& event) override;
  void EnterFullscreenModeForTab(content::WebContents* source,
                                 const GURL& origin) override;
  void ExitFullscreenModeForTab(content::WebContents* source) override;
  void RendererUnresponsive(content::WebContents* source) override;
  void RendererResponsive(content::WebContents* source) override;
  bool HandleContextMenu(const content::ContextMenuParams& params) override;
  bool OnGoToEntryOffset(int offset) override;
  void FindReply(content::WebContents* web_contents,
                 int request_id,
                 int number_of_matches,
                 const gfx::Rect& selection_rect,
                 int active_match_ordinal,
                 bool final_update) override;
  bool CheckMediaAccessPermission(
      content::WebContents* web_contents,
      const GURL& security_origin,
      content::MediaStreamType type) override;
  void RequestMediaAccessPermission(
      content::WebContents* web_contents,