* **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
content::RenderFrameHost* frame_host) {
  bool handled = true;
  FrameDispatchHelper helper = {this, frame_host};
  IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(WebContents, message, frame_host)
    IPC_MESSAGE_HANDLER(AtomFrameHostMsg_Message, OnRendererMessage)
    IPC_MESSAGE_FORWARD_DELAY_REPLY(AtomFrameHostMsg_Message_Sync, &helper,
                                    FrameDispatchHelper::OnRendererMessageSync)
    IPC_MESSAGE_HANDLER(AtomFrameHostMsg_Message_To, OnRendererMessageTo)
    IPC_MESSAGE_HANDLER(AtomFrameHostMsg_Message_Host, OnRendererMessageHost)
    IPC_MESSAGE_FORWARD_DELAY_REPLY(
        AtomFrameHostMsg_SetTemporaryZoomLevel, &helper,
        FrameDispatchHelper::OnSetTemporaryZoomLevel)
    IPC_MESSAGE_FORWARD_DELAY_REPLY(AtomFrameHostMsg_GetZoomLevel, &helper,
                                    FrameDispatchHelper::OnGetZoomLevel)
#if defined(TOOLKIT_VIEWS)
    IPC_MESSAGE_HANDLER(AtomAutofillFrameHostMsg_ShowPopup, ShowAutofillPopup)
    IPC_MESSAGE_HANDLER(AtomAutofillFrameHostMsg_HidePopup, HideAutofillPopup)
#endif
    IPC_MESSAGE_UNHANDLED(handled = false)
  IPC_END_MESSAGE_MAP()
  return handled;
}
void WebContents::WebContentsDestroyed() {