### Preflight Checklist

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:** 6.0.0-beta.13
* **Operating System:** Windows 12

### Expected Behavior

The documentation for the App events `browser-window-created` and `web-contents-created` state that the first parameter is an `Event`. I therefore expect the first parameter to be an `Event`.

### Actual Behavior

The first parameter for both of these events is `undefined`. (The second parameter is a `BrowserWindow` and `WebContents`, respectively, as documented.)
shell/browser/api/event_emitter.cc
v8::Isolate* isolate,
    v8::Local<v8::Object> object,
    content::RenderFrameHost* sender,
    base::Optional<electron::mojom::ElectronBrowser::MessageSyncCallback>
        callback) {
  v8::Local<v8::Object> event;
  bool use_native_event = sender && callback;
  if (use_native_event) {
    mate::Handle<mate::Event> native_event = mate::Event::Create(isolate);
    native_event->SetSenderAndMessage(sender, std::move(callback));
    event = v8::Local<v8::Object>::Cast(native_event.ToV8());
  } else {
    event = CreateEventObject(isolate);
  }
  mate::Dictionary dict(isolate, event);
  dict.Set("sender", object);
  if (sender)
    dict.Set("frameId", sender->GetRoutingID());
  return event;
}
v8::Local<v8::Object> CreateCustomEvent(v8::Isolate* isolate,