* 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.h
void OnURLFetchComplete(const net::URLFetcher* source) override;
  void SendMessageAck(int request_id, const base::Value* arg1);
  bool frontend_loaded_;
  scoped_refptr<content::DevToolsAgentHost> agent_host_;
  std::unique_ptr<content::DevToolsFrontendHost> frontend_host_;
  std::unique_ptr<DevToolsEmbedderMessageDispatcher>
      embedder_message_dispatcher_;
  DevToolsContentsResizingStrategy contents_resizing_strategy_;
  gfx::Rect devtools_bounds_;
  bool can_dock_;
  std::string dock_state_;
  using PendingRequestsMap = std::map<const net::URLFetcher*, DispatchCallback>;
  PendingRequestsMap pending_requests_;
  InspectableWebContentsDelegate* delegate_;  
  PrefService* pref_service_;  
  std::unique_ptr<content::WebContents> web_contents_;
  
  
  std::unique_ptr<content::WebContents> managed_devtools_web_contents_;
  
  content::WebContents* external_devtools_web_contents_ = nullptr;
  std::unique_ptr<InspectableWebContentsView> view_;
  using ExtensionsAPIs = std::map<std::string, std::string>;
  ExtensionsAPIs extensions_api_;
  base::WeakPtrFactory<InspectableWebContentsImpl> weak_factory_;
  DISALLOW_COPY_AND_ASSIGN(InspectableWebContentsImpl);
};
}  
#endif