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
managed_ontents()->ReleaseWs();
    ResetManagedWs(false);
  }
  // Destroy the native class in next tick.
  base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, GetDestroyClosure());
}
void Ws::NavigationEntryCommitted(
    const content::LoadCommittedDetails& details) {
  Emit("navigation-entry-committed", details.entry->GetURL(),
       details.is_same_document, details.did_replace_entry);
}
void Ws::SetBackgroundThrottling(bool allowed) {
  background_throttling_ = allowed;
  auto* rfh = ontents()->GetMainFrame();
  if (!rfh)
    return;
  auto* rwhv = rfh->GetView();
  if (!rwhv)
    return;
  auto* rwh_impl =
      static_cast<content::RenderWidgetHostImpl*>(rwhv->GetRenderWidgetHost());
  if (!rwh_impl)
    return;
  rwh_impl->disable_hidden_ = !background_throttling_;
  ontents()->GetRenderViewHost()->SetSchedulerThrottling(allowed);
  if (rwh_impl->is_hidden()) {
    rwh_impl->WasShown(base::nullopt);
  }
}
int Ws::GetProcessID() const {