feat: add query-session-end and improve session-end events on Windows (#44598)
* feat: add query-session-end event for Windows * fix: remove debug line * feat: notify with reason on session-end * docs: add comments and return params * docs: add same docs to the BrowserWindow * fix: add shutdown reason if lParam == 0 * docs: remove 'force' word * docs: revert multithreading.md change * docs: add reasons documentation, reason variable renamed to reasons * docs: improve 'shutdown' reason wording * docs: reword with 'can be' * fix: pass reasons by reference * fix: use newer approach which expose reasons value directly on Event object * docs: add escaping * style: linter fixes * fix: project now should compile * fix: EmitWithoutEvent method added, EmitWithEvent moved to private again * docs: typo fix Co-authored-by: Sam Maddock <samuel.maddock@gmail.com> * docs: dedicated WindowSessionEndEvent type created * docs: better wording for session-end event description Co-authored-by: Will Anderson <will@itsananderson.com> --------- Co-authored-by: Sam Maddock <samuel.maddock@gmail.com> Co-authored-by: Will Anderson <will@itsananderson.com>
This commit is contained in:
parent
0285592d61
commit
c5ea177b3d
11 changed files with 135 additions and 12 deletions
|
@ -45,6 +45,17 @@ class EventEmitter : public gin_helper::Wrappable<T> {
|
|||
return EmitWithEvent(name, event, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
// this.emit(name, args...);
|
||||
template <typename... Args>
|
||||
void EmitWithoutEvent(const std::string_view name, Args&&... args) {
|
||||
v8::HandleScope handle_scope(isolate());
|
||||
v8::Local<v8::Object> wrapper = GetWrapper();
|
||||
if (wrapper.IsEmpty())
|
||||
return;
|
||||
gin_helper::EmitEvent(isolate(), GetWrapper(), name,
|
||||
std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
// disable copy
|
||||
EventEmitter(const EventEmitter&) = delete;
|
||||
EventEmitter& operator=(const EventEmitter&) = delete;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue