-
Notifications
You must be signed in to change notification settings - Fork 469
Expand file tree
/
Copy pathdom.kdl
More file actions
42 lines (36 loc) · 1.13 KB
/
dom.kdl
File metadata and controls
42 lines (36 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Keeping EventListener and EventListenerObject isn't the most elegant way to handle the event listeners, but we need to keep the EventListener as an extendable interface for libraries like angular.
interface EventListener noInterfaceObject=#true {
method "" returns=undefined {
param evt type=Event
}
}
interface EventListenerObject noInterfaceObject=#true {
method handleEvent returns=undefined {
param object type=Event
}
}
interface EventTarget {
method addEventListener signatureIndex=0 {
param callback type=EventListenerOrEventListenerObject
}
method removeEventListener signatureIndex=0 {
param callback type=EventListenerOrEventListenerObject
}
}
interface Document {
property documentElement {
type HTMLElement nullable=#false
}
}
interface MutationRecord {
property type type=MutationRecordType
}
enum InsertPosition {
beforebegin
beforeend
afterbegin
afterend
}
// ChildNode and ParentNode are actually defined as mixins, but because of their names they have historically been used as a sub-interface of Node.
interface-mixin ChildNode extends=Node
interface-mixin ParentNode extends=Node