* **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
mate::Arguments* args) {
  base::FilePath file;
  std::vector<base::FilePath> files;
  if (!item.Get("files", &files) && item.Get("file", &file)) {
    files.push_back(file);
  }
  mate::Handle<NativeImage> icon;
  if (!item.Get("icon", &icon) && !file.empty()) {
    
  }
  
  if (icon.IsEmpty()) {
    args->ThrowError("Must specify 'icon' option");
    return;
  }
#if defined(OS_MACOSX)
  
  if (icon->image().IsEmpty()) {
    args->ThrowError("Must specify non-empty 'icon' option");
    return;
  }
#endif
  
  if (!files.empty()) {
    base::MessageLoopCurrent::ScopedNestableTaskAllower allow;
    DragFileItems(files, icon->image(), web_contents()->GetNativeView());
  } else {
    args->ThrowError("Must specify either 'file' or 'files' option");
  }