* **Electron Version** (output of `node_modules/.bin/electron --version`):
  * v4.0.5
* **Operating System** (Platform and Version):
  *  Windows 10 

### Expected Behavior
using  webContents api to print an html file oriention  set to landscape in default printer settings and page size set to A5, 

mainWindow.webContents.print({ silent: true, printBackground: false, deviceName: 'HP LaserJet 1020' })

My issue is : it is not printing as defined in the default printer settings

but it currently printing is deviceName not set

and need to send mainWindow.webContents.print() api to silently and printer name 

### To Reproduce
If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
```sh
$ git clone git@github.com:shabeer-mdy/electron-quick-start.git
$ npm install
$ npm start || electron .
```
and set any printer name to  mainWindow.webContents.print({ silent: true, printBackground: false, deviceName: 'HP LaserJet 1020' })

set any installed printer name 



shell/browser/api/atom_api_web_contents.cc
electron::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(