From 5788f2e0829a80fe3ef96c177c80be89a9d155c3 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Sun, 26 Sep 2021 20:41:05 +0200 Subject: perf(web): optimize Event constructor (#12231) Assign in constructor instead of using class initializers which are currently ~10x slower --- ext/web/02_event.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'ext/web/02_event.js') diff --git a/ext/web/02_event.js b/ext/web/02_event.js index f54e3d8a3..340f5e03b 100644 --- a/ext/web/02_event.js +++ b/ext/web/02_event.js @@ -135,16 +135,15 @@ const _path = Symbol("[[path]]"); class Event { - [_attributes] = {}; - [_canceledFlag] = false; - [_stopPropagationFlag] = false; - [_stopImmediatePropagationFlag] = false; - [_inPassiveListener] = false; - [_dispatched] = false; - [_isTrusted] = false; - [_path] = []; - constructor(type, eventInitDict = {}) { + this[_canceledFlag] = false; + this[_stopPropagationFlag] = false; + this[_stopImmediatePropagationFlag] = false; + this[_inPassiveListener] = false; + this[_dispatched] = false; + this[_isTrusted] = false; + this[_path] = []; + webidl.requiredArguments(arguments.length, 1, { prefix: "Failed to construct 'Event'", }); -- cgit v1.2.3