* **Electron Version** (output of `node_modules/.bin/electron --version`):
  * 3.0.6
* **Operating System** (Platform and Version):
  * macOS 10.14

### Expected Behavior
a `new-window` event fires

### Actual behavior
a `did-fail-load` fires with errorCode -3

### To Reproduce
```sh
$ git clone git@github.com:chrismohr/no-new-window.git -b master
$ cd no-new-window/
$ npm i && npm start
```

atom/browser/web_contents_preferences.cc
const base::StringPiece& path,
                         content::AutoplayPolicy* out) {
  std::string policy_str;
  if (GetAsString(val, path, &policy_str)) {
    if (policy_str == "no-user-gesture-required") {
      *out = content::AutoplayPolicy::kNoUserGestureRequired;
      return true;
    } else if (policy_str == "user-gesture-required") {
      *out = content::AutoplayPolicy::kUserGestureRequired;
      return true;
    } else if (policy_str == "document-user-activation-required") {
      *out = content::AutoplayPolicy::kDocumentUserActivationRequired;
      return true;
    }
    return false;
  }
  return false;
}
}  
namespace atom {
std::vector<WebContentsPreferences*> WebContentsPreferences::instances_;
WebContentsPreferences::WebContentsPreferences(
    content::WebContents* web_contents,
    const mate::Dictionary& web_preferences)
    : web_contents_(web_contents) {
  v8::Isolate* isolate = web_preferences.isolate();
  mate::Dictionary copied(isolate, web_preferences.GetHandle()->Clone());