- 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
net::HttpResponseHeaders* headers) {
    base::DictionaryValue response_headers;
    if (headers) {
      size_t iter = 0;
      std::string key;
      std::string value;
      while (headers->EnumerateHeaderLines(&iter, &key, &value)) {
        key = base::ToLowerASCII(key);
        if (response_headers.HasKey(key)) {
          base::ListValue* values = nullptr;
          if (response_headers.GetList(key, &values))
            values->AppendString(value);
        } else {
          std::unique_ptr<base::ListValue> values(new base::ListValue());
          values->AppendString(value);
          response_headers.Set(key, std::move(values));
        }
      }
    }
    return ConvertToV8(isolate, response_headers);
  }
};
template<>
struct Converter<content::SavePageType> {
  static bool FromV8(v8::Isolate* isolate, v8::Local<v8::Value> val,