Electron Version: 7.1.1
Operating System: Windows 10 (1803)

If I set the 'margins' option when call webContents.print method,
The app will crash with no error message.

```js
let { remote } = require("electron");
let webContents = remote.getCurrentWebContents();
webContents.print(
  {
    margins: {
      marginType: "custom",
      top: 30,
      bottom: 0,
      left: 0,
      right: 0
    }
  },
  (success, errorType) => {
    if (!success) console.log(errorType);
  }
);
```

shell/browser/api/electron_api_web_contents.cc
CommonWsDelegate::ExitFullscreenModeForTab(source);
  Emit("leave-html-full-screen");
}
void Ws::RendererUnresponsive(
    content::Ws* source,
    content::RenderWidgetHost* render_widget_host,
    base::RepeatingClosure hang_monitor_restarter) {
  Emit("unresponsive");
}
void Ws::RendererResponsive(
    content::Ws* source,
    content::RenderWidgetHost* render_widget_host) {
  Emit("responsive");
  for (ExtendedWsObserver& observer : observers_)
    observer.OnRendererResponsive();
}
bool Ws::HandleContextMenu(content::RenderFrameHost* render_frame_host,
                                    const content::ContextMenuParams& params) {
  if (params.custom_context.is_pepper_menu) {
    Emit("pepper-context-menu", std::make_pair(params, ontents()),
         base::BindOnce(&content::Ws::NotifyContextMenuClosed,
                        base::Unretained(ontents()),
                        params.custom_context));
  } else {
    Emit("context-menu", std::make_pair(params, ontents()));
  }
  return true;
}
bool Ws::OnGoToEntryOffset(int offset) {