diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 5845ef5e4..0e6ab6258 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -76,6 +76,7 @@ interface DoubleRange { } interface EventInit { + scoped?: boolean; bubbles?: boolean; cancelable?: boolean; } @@ -2291,7 +2292,7 @@ declare var DeviceRotationRate: { new(): DeviceRotationRate; } -interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode { +interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode, DocumentOrShadowRoot { /** * Sets or gets the URL for the current document. */ @@ -3467,6 +3468,9 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec readonly scrollWidth: number; readonly tagName: string; innerHTML: string; + readonly assignedSlot: HTMLSlotElement | null; + slot: string; + readonly shadowRoot: ShadowRoot | null; getAttribute(name: string): string | null; getAttributeNS(namespaceURI: string, localName: string): string; getAttributeNode(name: string): Attr; @@ -3688,6 +3692,7 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec insertAdjacentElement(position: string, insertedElement: Element): Element | null; insertAdjacentHTML(where: string, html: string): void; insertAdjacentText(where: string, text: string): void; + attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; addEventListener(type: "MSGestureChange", listener: (this: this, ev: MSGestureEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureDoubleTap", listener: (this: this, ev: MSGestureEvent) => any, useCapture?: boolean): void; addEventListener(type: "MSGestureEnd", listener: (this: this, ev: MSGestureEvent) => any, useCapture?: boolean): void; @@ -3759,10 +3764,12 @@ interface Event { readonly target: EventTarget; readonly timeStamp: number; readonly type: string; + readonly scoped: boolean; initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; preventDefault(): void; stopImmediatePropagation(): void; stopPropagation(): void; + deepPath(): EventTarget[]; readonly AT_TARGET: number; readonly BUBBLING_PHASE: number; readonly CAPTURING_PHASE: number; @@ -11521,6 +11528,7 @@ declare var SubtleCrypto: { interface Text extends CharacterData { readonly wholeText: string; + readonly assignedSlot: HTMLSlotElement | null; splitText(offset: number): Text; } @@ -14247,6 +14255,33 @@ interface ParentNode { readonly childElementCount: number; } +interface DocumentOrShadowRoot { + readonly activeElement: Element | null; + readonly stylesheets: StyleSheetList; + getSelection(): Selection | null; + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; +} + +interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment { + readonly host: Element; + innerHTML: string; +} + +interface ShadowRootInit { + mode: 'open'|'closed'; + delegatesFocus?: boolean; +} + +interface HTMLSlotElement extends HTMLElement { + name: string; + assignedNodes(options?: AssignedNodesOptions): Node[]; +} + +interface AssignedNodesOptions { + flatten?: boolean; +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface ErrorEventHandler { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index d6edcc4f5..14117a9a5 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -8,6 +8,7 @@ interface Algorithm { } interface EventInit { + scoped?: boolean; bubbles?: boolean; cancelable?: boolean; } @@ -242,10 +243,12 @@ interface Event { readonly target: EventTarget; readonly timeStamp: number; readonly type: string; + readonly scoped: boolean; initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; preventDefault(): void; stopImmediatePropagation(): void; stopPropagation(): void; + deepPath(): EventTarget[]; readonly AT_TARGET: number; readonly BUBBLING_PHASE: number; readonly CAPTURING_PHASE: number; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 94c1a74b5..52ee0ee42 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -1155,7 +1155,7 @@ "type": "string" }, { - "kind": "interface", + "kind": "interface", "name": "ParentNode", "flavor": "DOM", "properties": [ @@ -1220,5 +1220,149 @@ "interface": "CanvasPattern", "name": "setTransform", "signatures": ["setTransform(matrix: SVGMatrix): void"] + }, + { + "kind": "interface", + "name": "DocumentOrShadowRoot", + "flavor": "DOM", + "methods": [ + { + "name": "getSelection", + "signatures": ["getSelection(): Selection | null"] + }, + { + "name": "elementFromPoint", + "signatures": ["elementFromPoint(x: number, y: number): Element | null"] + }, + { + "name": "elementsFromPoint", + "signatures": ["elementsFromPoint(x: number, y: number): Element[]"] + } + ], + "properties": [ + { + "name": "activeElement", + "type": "Element | null", + "readonly": true + }, + { + "name": "stylesheets", + "type": "StyleSheetList", + "readonly": true + } + ] + }, + { + "kind": "interface", + "name": "ShadowRoot", + "extends": "DocumentOrShadowRoot, DocumentFragment", + "flavor": "DOM", + "properties": [ + { + "name": "host", + "type": "Element", + "readonly": true + }, + { + "name": "innerHTML", + "type": "string" + } + ] + }, + { + "kind": "method", + "interface": "Element", + "name": "attachShadow", + "signatures": ["attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot"] + }, + { + "kind": "property", + "interface": "Element", + "name": "assignedSlot", + "type": "HTMLSlotElement | null", + "readonly": true + }, + { + "kind": "property", + "interface": "Element", + "name": "slot", + "type": "string" + }, + { + "kind": "property", + "interface": "Element", + "name": "shadowRoot", + "type": "ShadowRoot | null", + "readonly": true + }, + { + "kind": "interface", + "name": "ShadowRootInit", + "flavor": "DOM", + "properties": [ + { + "name": "mode", + "type": "'open'|'closed'" + }, + { + "name": "delegatesFocus?", + "type": "boolean" + } + ] + }, + { + "kind": "property", + "interface": "Text", + "name": "assignedSlot", + "type": "HTMLSlotElement | null", + "readonly": true + }, + { + "kind": "interface", + "name": "HTMLSlotElement", + "extends": "HTMLElement", + "flavor": "DOM", + "properties": [ + { + "name": "name", + "type": "string" + } + ], + "methods": [ + { + "name": "assignedNodes", + "signatures": ["assignedNodes(options?: AssignedNodesOptions): Node[]"] + } + ] + }, + { + "kind": "interface", + "name": "AssignedNodesOptions", + "flavor": "DOM", + "properties": [ + { + "name": "flatten?", + "type": "boolean" + } + ] + }, + { + "kind": "property", + "interface": "EventInit", + "name": "scoped?", + "type": "boolean" + }, + { + "kind": "property", + "interface": "Event", + "name": "scoped", + "type": "boolean", + "readonly": true + }, + { + "kind": "method", + "interface": "Event", + "name": "deepPath", + "signatures": ["deepPath(): EventTarget[]"] } ] diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 8664281f3..b9b40d469 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -924,5 +924,10 @@ "interface": "XPathExpression", "name": "evaluate", "signatures": ["evaluate(contextNode: Node, type: number, result: XPathResult | null): XPathResult"] + }, + { + "kind": "extends", + "baseInterface": "Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode, DocumentOrShadowRoot", + "interface": "Document" } ]