### 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.h
return EmitCustomEvent(name,
                           internal::CreateEventFromFlags(isolate(), flags),
                           std::forward<Args>(args)...);
  }
  
  template <typename... Args>
  bool Emit(base::StringPiece name, Args&&... args) {
    return EmitWithSender(name, nullptr, base::nullopt,
                          std::forward<Args>(args)...);
  }
  
  template <typename... Args>
  bool EmitWithSender(
      base::StringPiece name,
      content::RenderFrameHost* sender,
      base::Optional<electron::mojom::ElectronBrowser::MessageSyncCallback>
          callback,
      Args&&... args) {
    v8::Locker locker(isolate());
    v8::HandleScope handle_scope(isolate());
    v8::Local<v8::Object> wrapper = GetWrapper();
    if (wrapper.IsEmpty()) {
      return false;
    }
    v8::Local<v8::Object> event = internal::CreateJSEvent(
        isolate(), wrapper, sender, std::move(callback));
    return EmitWithEvent(name, event, std::forward<Args>(args)...);
  }
 protected:
  EventEmitter() {}