* **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
atom::AtomBrowserClient::SuppressRendererProcessRestartForOnce();
  web_contents()->GetController().GoToOffset(offset);
}
const std::string WebContents::GetWebRTCIPHandlingPolicy() const {
  return web_contents()->GetMutableRendererPrefs()->webrtc_ip_handling_policy;
}
void WebContents::SetWebRTCIPHandlingPolicy(
    const std::string& webrtc_ip_handling_policy) {
  if (GetWebRTCIPHandlingPolicy() == webrtc_ip_handling_policy)
    return;
  web_contents()->GetMutableRendererPrefs()->webrtc_ip_handling_policy =
      webrtc_ip_handling_policy;
  content::RenderViewHost* host = web_contents()->GetRenderViewHost();
  if (host)
    host->SyncRendererPrefs();
}
bool WebContents::IsCrashed() const {
  return web_contents()->IsCrashed();
}
void WebContents::SetUserAgent(const std::string& user_agent,
                               mate::Arguments* args) {
  web_contents()->SetUserAgentOverride(user_agent, false);
}
std::string WebContents::GetUserAgent() {
  return web_contents()->GetUserAgentOverride();
}
v8::Local<v8::Promise> WebContents::SavePage(