* Electron Version: 3.0.0-beta.1
* Operating System (Platform and Version): macOS 10.13.5
* Last known working Electron version: 2.0.3

**Expected Behavior**
Dev tools extension tabs should appear after being added with the `BrowserWindow.addDevToolsExtension` API. I specifically tested the React and Redux extensions. I can tell the React extension is getting installed but not being shown because the usual
> Download the React DevTools for a better development experience

warning is absent.

**Actual behavior**
Dev tools extension tabs do not appear.

**To Reproduce**
Manually obtain the extension paths following the instructions here:
https://electronjs.org/docs/tutorial/devtools-extension
and supply them to `addDevToolsExtensions`.

Alternately, use [electron-devtools-installer](https://github.com/MarshallOfSound/electron-devtools-installer), which I have a repro case for using just Redux here:
https://github.com/ajmacd/electron-quick-start-typescript

Working with 2.0.3:
```sh
$ git clone https://github.com/ajmacd/electron-quick-start-typescript -b 2.0.3-devtools-working 
$ cd electron-quick-start-typescript
$ npm install
$ npm start
```

Not working with 3.0.0-beta.1:
```sh
$ git checkout 3.0.0-beta.1-devtools-not-working
$ npm install
$ npm start
```
brightray/browser/inspectable_web_contents_impl.cc
base::WeakPtr<InspectableWebContentsImpl> bindings,
    int stream_id)
    : bindings_(bindings), stream_id_(stream_id) {}
ResponseWriter::~ResponseWriter() {}
int ResponseWriter::Initialize(const net::CompletionCallback& callback) {
  return net::OK;
}
int ResponseWriter::Write(net::IOBuffer* buffer,
                          int num_bytes,
                          const net::CompletionCallback& callback) {
  auto* id = new base::Value(stream_id_);
  base::Value* chunk = new base::Value(std::string(buffer->data(), num_bytes));
  content::BrowserThread::PostTask(
      content::BrowserThread::UI, FROM_HERE,
      base::BindOnce(&InspectableWebContentsImpl::CallClientFunction, bindings_,
                     "DevToolsAPI.streamWrite", base::Owned(id),
                     base::Owned(chunk), nullptr));
  return num_bytes;
}
int ResponseWriter::Finish(int net_error,
                           const net::CompletionCallback& callback) {
  return net::OK;
}
}  
InspectableWebContentsView* CreateInspectableContentsView(
    InspectableWebContentsImpl* inspectable_web_contents_impl);
void InspectableWebContentsImpl::RegisterPrefs(PrefRegistrySimple* registry) {