* **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
void OnSetTemporaryZoomLevel(double level, IPC::Message* reply_msg) {
    api_web_contents->OnSetTemporaryZoomLevel(rfh, level, reply_msg);
  }
  void OnGetZoomLevel(IPC::Message* reply_msg) {
    api_web_contents->OnGetZoomLevel(rfh, reply_msg);
  }
  void OnRendererMessageSync(bool internal,
                             const std::string& channel,
                             const base::ListValue& args,
                             IPC::Message* message) {
    api_web_contents->OnRendererMessageSync(rfh, internal, channel, args,
                                            message);
  }
};
WebContents::WebContents(v8::Isolate* isolate,
                         content::WebContents* web_contents)
    : content::WebContentsObserver(web_contents), type_(REMOTE) {
  web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent(),
                                     false);
  Init(isolate);
  AttachAsUserData(web_contents);
  InitZoomController(web_contents, mate::Dictionary::CreateEmpty(isolate));
}
WebContents::WebContents(v8::Isolate* isolate,