diff options
Diffstat (limited to 'packages/webapi/src/lib/Element.ts')
-rw-r--r-- | packages/webapi/src/lib/Element.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/webapi/src/lib/Element.ts b/packages/webapi/src/lib/Element.ts index 5827a0be0..1553f2863 100644 --- a/packages/webapi/src/lib/Element.ts +++ b/packages/webapi/src/lib/Element.ts @@ -1,6 +1,21 @@ import * as _ from './utils' export class Element extends Node { + constructor() { + super(); + + if(_.INTERNALS.has(new.target)) { + const internals = _.internalsOf(new.target, 'Element', 'localName') + _.INTERNALS.set(this, { + attributes: {}, + localName: internals.localName, + ownerDocument: this.ownerDocument, + shadowInit: null as unknown as ShadowRootInit, + shadowRoot: null as unknown as ShadowRoot, + } as ElementInternals) + } + } + hasAttribute(name: string): boolean { void name |