* **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
const content::MediaPlayerId& id) {
  Emit("media-started-playing");
}
void WebContents::MediaStoppedPlaying(
    const MediaPlayerInfo& video_type,
    const content::MediaPlayerId& id,
    content::WebContentsObserver::MediaStoppedReason reason) {
  Emit("media-paused");
}
void WebContents::DidChangeThemeColor(base::Optional<SkColor> theme_color) {
  if (theme_color) {
    Emit("did-change-theme-color", electron::ToRGBHex(theme_color.value()));
  } else {
    Emit("did-change-theme-color", nullptr);
  }
}
void WebContents::OnInterfaceRequestFromFrame(
    content::RenderFrameHost* render_frame_host,
    const std::string& interface_name,
    mojo::ScopedMessagePipeHandle* interface_pipe) {
  registry_.TryBindInterface(interface_name, interface_pipe, render_frame_host);
}
void WebContents::DidAcquireFullscreen(content::RenderFrameHost* rfh) {
  set_fullscreen_frame(rfh);
}
void WebContents::DocumentLoadedInFrame(