* **Electron Version** 4.0.4
* **Operating System** Windows 10 32 bit
* **Last known working Electron version** 3.1.3

### Expected Behavior
`webContents.print()` shold send print job to a printer

### Actual behavior
Nothing happens. Callback doesn't gets called. 

`printToPDF` works though.

### To Reproduce
```
let deviceName = 'HP LaserJet 1020'
let options = {deviceName, silent: true}
win.webContents.print({}, (err) => {
    if (!err)
      console.error('printing failed')
})
```

atom/browser/api/atom_api_web_contents.cc
std::unique_ptr<content::WebContents> web_contents,
                         Type type)
    : content::WebContentsObserver(web_contents.get()), type_(type) {
  DCHECK(type != REMOTE) << "Can't take ownership of a remote WebContents";
  auto session = Session::CreateFrom(isolate, GetBrowserContext());
  session_.Reset(isolate, session.ToV8());
  InitWithSessionAndOptions(isolate, std::move(web_contents), session,
                            mate::Dictionary::CreateEmpty(isolate));
}
WebContents::WebContents(v8::Isolate* isolate,
                         const mate::Dictionary& options) {
  
  options.Get("backgroundThrottling", &background_throttling_);
  
  
  
  
  
  bool b = false;
  if (options.Get("isGuest", &b) && b)
    type_ = WEB_VIEW;
  else if (options.Get("isBackgroundPage", &b) && b)
    type_ = BACKGROUND_PAGE;
  else if (options.Get("isBrowserView", &b) && b)
    type_ = BROWSER_VIEW;