* **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
return v8::Local<v8::Value>::New(isolate, session_);
}
content::WebContents* WebContents::HostWebContents() {
  if (!embedder_)
    return nullptr;
  return embedder_->web_contents();
}
void WebContents::SetEmbedder(const WebContents* embedder) {
  if (embedder) {
    NativeWindow* owner_window = nullptr;
    auto* relay = NativeWindowRelay::FromWebContents(embedder->web_contents());
    if (relay) {
      owner_window = relay->GetNativeWindow();
    }
    if (owner_window)
      SetOwnerWindow(owner_window);
    content::RenderWidgetHostView* rwhv =
        web_contents()->GetRenderWidgetHostView();
    if (rwhv) {
      rwhv->Hide();
      rwhv->Show();
    }
  }
}
void WebContents::SetDevToolsWebContents(const WebContents* devtools) {
  if (managed_web_contents())
    managed_web_contents()->SetDevToolsWebContents(devtools->web_contents());
}
v8::Local<v8::Value> WebContents::GetNativeView() const {