Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Extract info on event types and their associated event interfaces #952

Merged
merged 18 commits into from
Jun 16, 2022

Conversation

dontcallmedom
Copy link
Member

for #772

This is exploratory at this point, not complete at all

@dontcallmedom
Copy link
Member Author

The current code extracts 351 event names (possibly with some duplicates) and the event interfaces they're using from 63 specifications; there are 13 specifications from which the event interfaces can't be extracted today (marked with interface: null) - 7 of these would be easily fixed with some minor change in the specs; 6 others would require adding "event summary table" à la https://w3c.github.io/webrtc-pc/webrtc.html#event-summary and other specs).

I haven't looked at extracting the target interfaces - when the data-dfn-for attribute is set on data-dfn-typed events, this shouldn't be too hard when there is a single event of that name; if there are several (e.g. in WebRTC), this will require doing some further indirection which hopefully can be done by following links.

Once I have the target interfaces, it will be possible to compare the list of extracted events with MDN-known events.

Extracted events

[
  {
    "spec": {
      "title": "App History API",
      "url": "https://wicg.github.io/navigation-api/"
    },
    "extractEvents": [
      {
        "type": "currententrychange",
        "interface": "NavigationCurrentEntryChangeEvent"
      },
      {
        "type": "dispose"
      },
      {
        "type": "currententrychange",
        "interface": "NavigationCurrentEntryChangeEvent"
      },
      {
        "type": "navigatesuccess"
      },
      {
        "type": "navigateerror",
        "interface": "ErrorEvent"
      },
      {
        "type": "navigateerror",
        "interface": "ErrorEvent"
      },
      {
        "type": "navigate",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Background Fetch",
      "url": "https://wicg.github.io/background-fetch/"
    },
    "extractEvents": [
      {
        "type": "progress"
      },
      {
        "type": "backgroundfetchclick",
        "interface": "BackgroundFetchEvent"
      },
      {
        "type": "backgroundfetchsuccess",
        "interface": "null"
      },
      {
        "type": "backgroundfetchfail",
        "interface": "null"
      },
      {
        "type": "backgroundfetchabort",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Battery Status API",
      "url": "https://w3c.github.io/battery/"
    },
    "extractEvents": [
      {
        "type": "e"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Close Watcher API",
      "url": "https://wicg.github.io/close-watcher/"
    },
    "extractEvents": [
      {
        "type": "cancel"
      },
      {
        "type": "close"
      },
      {
        "type": "cancel"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Compatibility Standard",
      "url": "https://compat.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "orientationchange"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Content Index",
      "url": "https://wicg.github.io/content-index/spec/"
    },
    "extractEvents": [
      {
        "type": "contentdelete",
        "interface": "ContentIndexEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Cookie Store API",
      "url": "https://wicg.github.io/cookie-store/"
    },
    "extractEvents": [
      {
        "type": "cookiechange",
        "interface": "ExtendableCookieChangeEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Content Security Policy Level 3",
      "url": "https://w3c.github.io/webappsec-csp/"
    },
    "extractEvents": [
      {
        "type": "securitypolicyviolation",
        "interface": "SecurityPolicyViolationEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Device Posture API",
      "url": "https://w3c.github.io/device-posture/"
    },
    "extractEvents": [
      {
        "type": "change"
      },
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "DOM Standard",
      "url": "https://dom.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "submit"
      },
      {
        "type": "click",
        "interface": "MouseEvent"
      },
      {
        "type": "like"
      },
      {
        "type": "abort"
      },
      {
        "type": "slotchange"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "EditContext API",
      "url": "https://w3c.github.io/edit-context/"
    },
    "extractEvents": [
      {
        "type": "beforeinput"
      },
      {
        "type": "compositionstart"
      },
      {
        "type": "textupdate"
      },
      {
        "type": "textformateupdate"
      },
      {
        "type": "characterboundsupdate"
      },
      {
        "type": "compositionend"
      },
      {
        "type": "beforeinput"
      },
      {
        "type": "textupdate"
      },
      {
        "type": "characterboundsupdate"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Encrypted Media Extensions",
      "url": "https://w3c.github.io/encrypted-media/"
    },
    "extractEvents": [
      {
        "type": "keystatuseschange",
        "interface": "Event"
      },
      {
        "type": "message",
        "interface": "MediaKeyMessageEvent"
      },
      {
        "type": "encrypted",
        "interface": "MediaEncryptedEvent"
      },
      {
        "type": "waitingforkey",
        "interface": "Event"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "File API",
      "url": "https://w3c.github.io/FileAPI/"
    },
    "extractEvents": [
      {
        "type": "loadstart",
        "interface": "ProgressEvent"
      },
      {
        "type": "progress",
        "interface": "ProgressEvent"
      },
      {
        "type": "abort",
        "interface": "ProgressEvent"
      },
      {
        "type": "error",
        "interface": "ProgressEvent"
      },
      {
        "type": "load",
        "interface": "ProgressEvent"
      },
      {
        "type": "loadend",
        "interface": "ProgressEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Fullscreen API Standard",
      "url": "https://fullscreen.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "type"
      },
      {
        "type": "fullscreenchange",
        "interface": "null"
      },
      {
        "type": "fullscreenerror",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Gamepad",
      "url": "https://w3c.github.io/gamepad/"
    },
    "extractEvents": [
      {
        "type": "gamepadconnected",
        "interface": "GamepadEvent"
      },
      {
        "type": "gamepadconnected",
        "interface": "GamepadEvent"
      },
      {
        "type": "gamepaddisconnected",
        "interface": "GamepadEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Generic Sensor API",
      "url": "https://w3c.github.io/sensors/"
    },
    "extractEvents": [
      {
        "type": "reading"
      },
      {
        "type": "activate"
      },
      {
        "type": "error",
        "interface": "SensorErrorEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "HTML Standard",
      "url": "https://html.spec.whatwg.org/multipage/"
    },
    "extractEvents": [
      {
        "type": "loadstart",
        "interface": "Event"
      },
      {
        "type": "progress",
        "interface": "Event"
      },
      {
        "type": "suspend",
        "interface": "Event"
      },
      {
        "type": "abort",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "Event"
      },
      {
        "type": "emptied",
        "interface": "Event"
      },
      {
        "type": "stalled",
        "interface": "Event"
      },
      {
        "type": "loadedmetadata",
        "interface": "Event"
      },
      {
        "type": "loadeddata",
        "interface": "Event"
      },
      {
        "type": "canplay",
        "interface": "Event"
      },
      {
        "type": "canplaythrough",
        "interface": "Event"
      },
      {
        "type": "playing",
        "interface": "Event"
      },
      {
        "type": "waiting",
        "interface": "Event"
      },
      {
        "type": "seeking",
        "interface": "Event"
      },
      {
        "type": "seeked",
        "interface": "Event"
      },
      {
        "type": "ended",
        "interface": "Event"
      },
      {
        "type": "durationchange",
        "interface": "Event"
      },
      {
        "type": "timeupdate",
        "interface": "Event"
      },
      {
        "type": "play",
        "interface": "Event"
      },
      {
        "type": "pause",
        "interface": "Event"
      },
      {
        "type": "ratechange",
        "interface": "Event"
      },
      {
        "type": "resize",
        "interface": "Event"
      },
      {
        "type": "volumechange",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "Event"
      },
      {
        "type": "change",
        "interface": "Event"
      },
      {
        "type": "addtrack",
        "interface": "TrackEvent"
      },
      {
        "type": "removetrack",
        "interface": "TrackEvent"
      },
      {
        "type": "cuechange",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "Event"
      },
      {
        "type": "load",
        "interface": "Event"
      },
      {
        "type": "enter",
        "interface": "Event"
      },
      {
        "type": "exit",
        "interface": "Event"
      },
      {
        "type": "dragstart",
        "interface": "Source node"
      },
      {
        "type": "drag",
        "interface": "Source node"
      },
      {
        "type": "dragenter",
        "interface": "Immediate user selection"
      },
      {
        "type": "dragleave",
        "interface": "Previous target element"
      },
      {
        "type": "dragover",
        "interface": "Current target element"
      },
      {
        "type": "drop",
        "interface": "Current target element"
      },
      {
        "type": "dragend",
        "interface": "Source node"
      },
      {
        "type": "DOMContentLoaded",
        "interface": "Event"
      },
      {
        "type": "afterprint",
        "interface": "Event"
      },
      {
        "type": "beforeprint",
        "interface": "Event"
      },
      {
        "type": "beforematch",
        "interface": "Event"
      },
      {
        "type": "beforeunload",
        "interface": "BeforeUnloadEvent"
      },
      {
        "type": "blur",
        "interface": "Event"
      },
      {
        "type": "cancel",
        "interface": "Event"
      },
      {
        "type": "change",
        "interface": "Event"
      },
      {
        "type": "click",
        "interface": "PointerEvent"
      },
      {
        "type": "close",
        "interface": "Event"
      },
      {
        "type": "connect",
        "interface": "MessageEvent"
      },
      {
        "type": "contextlost",
        "interface": "Event"
      },
      {
        "type": "contextmenu",
        "interface": "PointerEvent"
      },
      {
        "type": "contextrestored",
        "interface": "Event"
      },
      {
        "type": "copy",
        "interface": "Event"
      },
      {
        "type": "cut",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "Event"
      },
      {
        "type": "focus",
        "interface": "Event"
      },
      {
        "type": "formdata",
        "interface": "FormDataEvent"
      },
      {
        "type": "hashchange",
        "interface": "HashChangeEvent"
      },
      {
        "type": "input",
        "interface": "Event"
      },
      {
        "type": "invalid",
        "interface": "Event"
      },
      {
        "type": "languagechange",
        "interface": "Event"
      },
      {
        "type": "load",
        "interface": "Event"
      },
      {
        "type": "message",
        "interface": "MessageEvent"
      },
      {
        "type": "messageerror",
        "interface": "MessageEvent"
      },
      {
        "type": "offline",
        "interface": "Event"
      },
      {
        "type": "online",
        "interface": "Event"
      },
      {
        "type": "open",
        "interface": "Event"
      },
      {
        "type": "pagehide",
        "interface": "PageTransitionEvent"
      },
      {
        "type": "pageshow",
        "interface": "PageTransitionEvent"
      },
      {
        "type": "paste",
        "interface": "Event"
      },
      {
        "type": "popstate",
        "interface": "PopStateEvent"
      },
      {
        "type": "readystatechange",
        "interface": "Event"
      },
      {
        "type": "rejectionhandled",
        "interface": "PromiseRejectionEvent"
      },
      {
        "type": "reset",
        "interface": "Event"
      },
      {
        "type": "securitypolicyviolation",
        "interface": "Event"
      },
      {
        "type": "select",
        "interface": "Event"
      },
      {
        "type": "slotchange",
        "interface": "Event"
      },
      {
        "type": "storage",
        "interface": "StorageEvent"
      },
      {
        "type": "submit",
        "interface": "SubmitEvent"
      },
      {
        "type": "toggle",
        "interface": "Event"
      },
      {
        "type": "unhandledrejection",
        "interface": "PromiseRejectionEvent"
      },
      {
        "type": "unload",
        "interface": "Event"
      },
      {
        "type": "visibilitychange",
        "interface": "Event"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Idle Detection API",
      "url": "https://wicg.github.io/idle-detection/"
    },
    "extractEvents": [
      {
        "type": "change"
      },
      {
        "type": "change"
      },
      {
        "type": "change"
      },
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Import Maps",
      "url": "https://wicg.github.io/import-maps/"
    },
    "extractEvents": [
      {
        "type": "error"
      },
      {
        "type": "load"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Indexed Database API 3.0",
      "url": "https://w3c.github.io/IndexedDB/"
    },
    "extractEvents": [
      {
        "type": "error"
      },
      {
        "type": "success"
      },
      {
        "type": "error"
      },
      {
        "type": "close"
      },
      {
        "type": "complete"
      },
      {
        "type": "error"
      },
      {
        "type": "abort"
      },
      {
        "type": "versionchange",
        "interface": "null"
      },
      {
        "type": "blocked",
        "interface": "null"
      },
      {
        "type": "upgradeneeded",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Manifest Incubations",
      "url": "https://wicg.github.io/manifest-incubations/"
    },
    "extractEvents": [
      {
        "type": "beforeinstallprompt",
        "interface": "BeforeInstallPromptEvent"
      },
      {
        "type": "appinstalled"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Media Capture and Streams",
      "url": "https://w3c.github.io/mediacapture-main/"
    },
    "extractEvents": [
      {
        "type": "ended"
      },
      {
        "type": "addtrack",
        "interface": "null"
      },
      {
        "type": "removetrack",
        "interface": "null"
      },
      {
        "type": "mute",
        "interface": "null"
      },
      {
        "type": "unmute",
        "interface": "null"
      },
      {
        "type": "devicechange",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Media Source Extensions™",
      "url": "https://w3c.github.io/media-source/"
    },
    "extractEvents": [
      {
        "type": "sourceopen"
      },
      {
        "type": "sourceended"
      },
      {
        "type": "sourceclose"
      },
      {
        "type": "updatestart"
      },
      {
        "type": "update"
      },
      {
        "type": "updateend"
      },
      {
        "type": "error"
      },
      {
        "type": "abort"
      },
      {
        "type": "addsourcebuffer"
      },
      {
        "type": "removesourcebuffer"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "MediaStream Recording",
      "url": "https://w3c.github.io/mediacapture-record/"
    },
    "extractEvents": [
      {
        "type": "start",
        "interface": "Event"
      },
      {
        "type": "stop",
        "interface": "Event"
      },
      {
        "type": "dataavailable",
        "interface": "BlobEvent"
      },
      {
        "type": "pause",
        "interface": "Event"
      },
      {
        "type": "resume",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "MediaRecorderErrorEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Network Information API",
      "url": "https://wicg.github.io/netinfo/"
    },
    "extractEvents": [
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Notifications API Standard",
      "url": "https://notifications.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "show"
      },
      {
        "type": "click"
      },
      {
        "type": "close"
      },
      {
        "type": "error"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Page Lifecycle",
      "url": "https://wicg.github.io/page-lifecycle/"
    },
    "extractEvents": [
      {
        "type": "freeze"
      },
      {
        "type": "resume"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Payment Request API",
      "url": "https://w3c.github.io/payment-request/"
    },
    "extractEvents": [
      {
        "type": "paymentmethodchange",
        "interface": "PaymentMethodChangeEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Permissions",
      "url": "https://w3c.github.io/permissions/"
    },
    "extractEvents": [
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Picture-in-Picture",
      "url": "https://w3c.github.io/picture-in-picture/"
    },
    "extractEvents": [
      {
        "type": "enterpictureinpicture",
        "interface": "null"
      },
      {
        "type": "leavepictureinpicture",
        "interface": "null"
      },
      {
        "type": "resize",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Pointer Events",
      "url": "https://w3c.github.io/pointerevents/"
    },
    "extractEvents": [
      {
        "type": "pointerover"
      },
      {
        "type": "pointerenter"
      },
      {
        "type": "pointerdown"
      },
      {
        "type": "pointermove"
      },
      {
        "type": "pointerup"
      },
      {
        "type": "pointercancel"
      },
      {
        "type": "pointerout"
      },
      {
        "type": "pointerleave"
      },
      {
        "type": "gotpointercapture"
      },
      {
        "type": "lostpointercapture"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Portals",
      "url": "https://wicg.github.io/portals/"
    },
    "extractEvents": [
      {
        "type": "message",
        "interface": "MessageEvent"
      },
      {
        "type": "messageerror",
        "interface": "MessageEvent"
      },
      {
        "type": "message",
        "interface": "MessageEvent"
      },
      {
        "type": "messageerror",
        "interface": "MessageEvent"
      },
      {
        "type": "portalactivate",
        "interface": "PortalActivateEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Preload",
      "url": "https://html.spec.whatwg.org/multipage/links.html#link-type-preload"
    },
    "extractEvents": [
      {
        "type": "error"
      },
      {
        "type": "error"
      },
      {
        "type": "load"
      },
      {
        "type": "error"
      },
      {
        "type": "error"
      },
      {
        "type": "load"
      },
      {
        "type": "error"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Presentation API",
      "url": "https://w3c.github.io/presentation-api/"
    },
    "extractEvents": [
      {
        "type": "connectionavailable",
        "interface": "PresentationConnectionAvailableEvent"
      },
      {
        "type": "connectionavailable",
        "interface": "PresentationConnectionAvailableEvent"
      },
      {
        "type": "change"
      },
      {
        "type": "connect"
      },
      {
        "type": "close",
        "interface": "PresentationConnectionCloseEvent"
      },
      {
        "type": "terminate"
      },
      {
        "type": "terminate"
      },
      {
        "type": "connectionavailable",
        "interface": "PresentationConnectionAvailableEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Remote Playback API",
      "url": "https://w3c.github.io/remote-playback/"
    },
    "extractEvents": [
      {
        "type": "connect"
      },
      {
        "type": "disconnect"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Resource Timing Level 2",
      "url": "https://w3c.github.io/resource-timing/"
    },
    "extractEvents": [
      {
        "type": "resourcetimingbufferfull"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Save Data API",
      "url": "https://wicg.github.io/savedata/"
    },
    "extractEvents": [
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Prioritized Task Scheduling",
      "url": "https://wicg.github.io/scheduling-apis/"
    },
    "extractEvents": [
      {
        "type": "prioritychange",
        "interface": "TaskPriorityChangeEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "The Screen Orientation API",
      "url": "https://w3c.github.io/screen-orientation/"
    },
    "extractEvents": [
      {
        "type": "change"
      },
      {
        "type": "change"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Screen Wake Lock API",
      "url": "https://w3c.github.io/screen-wake-lock/"
    },
    "extractEvents": [
      {
        "type": "release"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web Serial API",
      "url": "https://wicg.github.io/serial/"
    },
    "extractEvents": [
      {
        "type": "connect"
      },
      {
        "type": "disconnect"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Service Workers 1",
      "url": "https://w3c.github.io/ServiceWorker/"
    },
    "extractEvents": [
      {
        "type": "statechange",
        "interface": "Event"
      },
      {
        "type": "updatefound",
        "interface": "Event"
      },
      {
        "type": "controllerchange",
        "interface": "Event"
      },
      {
        "type": "message",
        "interface": "Event"
      },
      {
        "type": "messageerror",
        "interface": "Event"
      },
      {
        "type": "install",
        "interface": "ExtendableEvent"
      },
      {
        "type": "activate",
        "interface": "ExtendableEvent"
      },
      {
        "type": "fetch",
        "interface": "FetchEvent"
      },
      {
        "type": "push",
        "interface": "PushEvent"
      },
      {
        "type": "notificationclick",
        "interface": "NotificationEvent"
      },
      {
        "type": "notificationclose",
        "interface": "NotificationEvent"
      },
      {
        "type": "sync",
        "interface": "SyncEvent"
      },
      {
        "type": "canmakepayment",
        "interface": "CanMakePaymentEvent"
      },
      {
        "type": "paymentrequest",
        "interface": "PaymentRequestEvent"
      },
      {
        "type": "message",
        "interface": "ExtendableMessageEvent"
      },
      {
        "type": "messageerror",
        "interface": "MessageEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web Speech API",
      "url": "https://wicg.github.io/speech-api/"
    },
    "extractEvents": [
      {
        "type": "audiostart",
        "interface": "null"
      },
      {
        "type": "soundstart",
        "interface": "null"
      },
      {
        "type": "speechstart",
        "interface": "null"
      },
      {
        "type": "speechend",
        "interface": "null"
      },
      {
        "type": "soundend",
        "interface": "null"
      },
      {
        "type": "audioend",
        "interface": "null"
      },
      {
        "type": "result",
        "interface": "null"
      },
      {
        "type": "nomatch",
        "interface": "null"
      },
      {
        "type": "error",
        "interface": "null"
      },
      {
        "type": "start",
        "interface": "null"
      },
      {
        "type": "end",
        "interface": "null"
      },
      {
        "type": "voiceschanged",
        "interface": "null"
      },
      {
        "type": "pause",
        "interface": "null"
      },
      {
        "type": "resume",
        "interface": "null"
      },
      {
        "type": "mark",
        "interface": "null"
      },
      {
        "type": "boundary",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Touch Events",
      "url": "https://w3c.github.io/touch-events/"
    },
    "extractEvents": [
      {
        "type": "touchstart",
        "interface": "null"
      },
      {
        "type": "touchend",
        "interface": "null"
      },
      {
        "type": "touchmove",
        "interface": "null"
      },
      {
        "type": "touchcancel",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Trusted Types",
      "url": "https://w3c.github.io/webappsec-trusted-types/dist/spec/"
    },
    "extractEvents": [
      {
        "type": "error"
      },
      {
        "type": "error"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "VirtualKeyboard API",
      "url": "https://w3c.github.io/virtual-keyboard/"
    },
    "extractEvents": [
      {
        "type": "geometrychange"
      },
      {
        "type": "geometrychange"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web Audio API",
      "url": "https://webaudio.github.io/web-audio-api/"
    },
    "extractEvents": [
      {
        "type": "statechange"
      },
      {
        "type": "statechange"
      },
      {
        "type": "statechange"
      },
      {
        "type": "statechange"
      },
      {
        "type": "complete",
        "interface": "OfflineAudioCompletionEvent"
      },
      {
        "type": "statechange"
      },
      {
        "type": "processorerror",
        "interface": "ErrorEvent"
      },
      {
        "type": "processorerror"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web Bluetooth",
      "url": "https://webbluetoothcg.github.io/web-bluetooth/"
    },
    "extractEvents": [
      {
        "type": "availabilitychanged",
        "interface": "ValueEvent"
      },
      {
        "type": "characteristicvaluechanged"
      },
      {
        "type": "gattserverdisconnected"
      },
      {
        "type": "characteristicvaluechanged"
      },
      {
        "type": "serviceremoved"
      },
      {
        "type": "serviceadded"
      },
      {
        "type": "servicechanged"
      },
      {
        "type": "advertisementreceived",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebCodecs",
      "url": "https://w3c.github.io/webcodecs/"
    },
    "extractEvents": [
      {
        "type": "change",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebGPU",
      "url": "https://gpuweb.github.io/gpuweb/"
    },
    "extractEvents": [
      {
        "type": "uncapturederror",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebHID API",
      "url": "https://wicg.github.io/webhid/"
    },
    "extractEvents": [
      {
        "type": "connect",
        "interface": "HIDConnectionEvent"
      },
      {
        "type": "disconnect",
        "interface": "HIDConnectionEvent"
      },
      {
        "type": "inputreport",
        "interface": "HIDInputReportEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web MIDI API",
      "url": "https://webaudio.github.io/web-midi-api/"
    },
    "extractEvents": [
      {
        "type": "statechange"
      },
      {
        "type": "statechange"
      },
      {
        "type": "midimessage"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Web NFC API",
      "url": "https://w3c.github.io/web-nfc/"
    },
    "extractEvents": [
      {
        "type": "readingerror"
      },
      {
        "type": "reading",
        "interface": "NDEFReadingEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Loading Signed Exchanges",
      "url": "https://wicg.github.io/webpackage/loading.html"
    },
    "extractEvents": [
      {
        "type": "load"
      },
      {
        "type": "error"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebRTC Encoded Transform",
      "url": "https://w3c.github.io/webrtc-encoded-transform/"
    },
    "extractEvents": [
      {
        "type": "error",
        "interface": "SFrameTransformErrorEvent"
      },
      {
        "type": "error",
        "interface": "SFrameTransformErrorEvent"
      },
      {
        "type": "error",
        "interface": "SFrameTransformErrorEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebRTC 1.0: Real-Time Communication Between Browsers",
      "url": "https://w3c.github.io/webrtc-pc/"
    },
    "extractEvents": [
      {
        "type": "open",
        "interface": "Event"
      },
      {
        "type": "message",
        "interface": "MessageEvent"
      },
      {
        "type": "bufferedamountlow",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "RTCErrorEvent"
      },
      {
        "type": "closing",
        "interface": "Event"
      },
      {
        "type": "close",
        "interface": "Event"
      },
      {
        "type": "track",
        "interface": "RTCTrackEvent"
      },
      {
        "type": "negotiationneeded",
        "interface": "Event"
      },
      {
        "type": "signalingstatechange",
        "interface": "Event"
      },
      {
        "type": "iceconnectionstatechange",
        "interface": "Event"
      },
      {
        "type": "icegatheringstatechange",
        "interface": "Event"
      },
      {
        "type": "icecandidate",
        "interface": "RTCPeerConnectionIceEvent"
      },
      {
        "type": "connectionstatechange",
        "interface": "Event"
      },
      {
        "type": "icecandidateerror",
        "interface": "RTCPeerConnectionIceErrorEvent"
      },
      {
        "type": "datachannel",
        "interface": "RTCDataChannelEvent"
      },
      {
        "type": "tonechange",
        "interface": "RTCDTMFToneChangeEvent"
      },
      {
        "type": "statechange",
        "interface": "Event"
      },
      {
        "type": "gatheringstatechange",
        "interface": "Event"
      },
      {
        "type": "selectedcandidatepairchange",
        "interface": "Event"
      },
      {
        "type": "statechange",
        "interface": "Event"
      },
      {
        "type": "error",
        "interface": "RTCErrorEvent"
      },
      {
        "type": "statechange",
        "interface": "Event"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebSockets Standard",
      "url": "https://websockets.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "open"
      },
      {
        "type": "message",
        "interface": "MessageEvent"
      },
      {
        "type": "error"
      },
      {
        "type": "close",
        "interface": "CloseEvent"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebXR Device API",
      "url": "https://immersive-web.github.io/webxr/"
    },
    "extractEvents": [
      {
        "type": "devicechange"
      },
      {
        "type": "visibilitychange",
        "interface": "null"
      },
      {
        "type": "end",
        "interface": "null"
      },
      {
        "type": "inputsourceschange",
        "interface": "null"
      },
      {
        "type": "selectstart",
        "interface": "null"
      },
      {
        "type": "selectend",
        "interface": "null"
      },
      {
        "type": "select",
        "interface": "null"
      },
      {
        "type": "squeezestart",
        "interface": "null"
      },
      {
        "type": "squeezeend",
        "interface": "null"
      },
      {
        "type": "squeeze",
        "interface": "null"
      },
      {
        "type": "frameratechange",
        "interface": "null"
      },
      {
        "type": "reset",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebXR Layers API Level 1",
      "url": "https://immersive-web.github.io/layers/"
    },
    "extractEvents": [
      {
        "type": "redraw"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "WebXR Lighting Estimation API Level 1",
      "url": "https://immersive-web.github.io/lighting-estimation/"
    },
    "extractEvents": [
      {
        "type": "reflectionchange",
        "interface": "null"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "Window Controls Overlay",
      "url": "https://wicg.github.io/window-controls-overlay/"
    },
    "extractEvents": [
      {
        "type": "ongeometrychange"
      }
    ]
  }
]
[
  {
    "spec": {
      "title": "XMLHttpRequest Standard",
      "url": "https://xhr.spec.whatwg.org/"
    },
    "extractEvents": [
      {
        "type": "readystatechange"
      },
      {
        "type": "loadstart",
        "interface": "ProgressEvent"
      },
      {
        "type": "progress",
        "interface": "ProgressEvent"
      },
      {
        "type": "abort",
        "interface": "ProgressEvent"
      },
      {
        "type": "error",
        "interface": "ProgressEvent"
      },
      {
        "type": "load",
        "interface": "ProgressEvent"
      },
      {
        "type": "timeout",
        "interface": "ProgressEvent"
      },
      {
        "type": "loadend",
        "interface": "ProgressEvent"
      }
    ]
  }
]

@dontcallmedom
Copy link
Member Author

List of 268 events associated with their target interfaces in MDN but not in the reffy extract with the current code
  • abortsignal/abort
  • animation/cancel
  • animation/finish
  • animation/remove
  • audioscheduledsourcenode/ended
  • audioworkletnode/processorerror
  • backgroundfetchregistration/progress
  • baseaudiocontext/statechange
  • batterymanager/chargingchange
  • batterymanager/chargingtimechange
  • batterymanager/dischargingtimechange
  • batterymanager/levelchange
  • cookiestore/change
  • document/afterscriptexecute
  • document/animationcancel
  • document/animationend
  • document/animationiteration
  • document/animationstart
  • document/beforescriptexecute
  • document/copy
  • document/cut
  • document/drag
  • document/dragend
  • document/dragenter
  • document/dragleave
  • document/dragover
  • document/dragstart
  • document/drop
  • document/gotpointercapture
  • document/keydown
  • document/keypress
  • document/keyup
  • document/lostpointercapture
  • document/paste
  • document/pointercancel
  • document/pointerdown
  • document/pointerenter
  • document/pointerleave
  • document/pointerlockchange
  • document/pointerlockerror
  • document/pointermove
  • document/pointerout
  • document/pointerover
  • document/pointerup
  • document/scroll
  • document/selectionchange
  • document/selectstart
  • document/touchcancel
  • document/touchend
  • document/touchmove
  • document/touchstart
  • document/transitioncancel
  • document/transitionend
  • document/transitionrun
  • document/transitionstart
  • document/wheel
  • element/afterscriptexecute
  • element/auxclick
  • element/beforescriptexecute
  • element/blur
  • element/click
  • element/compositionend
  • element/compositionstart
  • element/compositionupdate
  • element/contextmenu
  • element/copy
  • element/cut
  • element/dblclick
  • element/domactivate
  • element/dommousescroll
  • element/error
  • element/focus
  • element/focusin
  • element/focusout
  • element/gesturechange
  • element/gestureend
  • element/gesturestart
  • element/keydown
  • element/keypress
  • element/keyup
  • element/mousedown
  • element/mouseenter
  • element/mouseleave
  • element/mousemove
  • element/mouseout
  • element/mouseover
  • element/mouseup
  • element/mousewheel
  • element/mozmousepixelscroll
  • element/mscontentzoom
  • element/msgesturechange
  • element/msgestureend
  • element/msgesturehold
  • element/msgesturestart
  • element/msgesturetap
  • element/msinertiastart
  • element/msmanipulationstatechanged
  • element/paste
  • element/scroll
  • element/securitypolicyviolation
  • element/select
  • element/show
  • element/touchcancel
  • element/touchend
  • element/touchmove
  • element/touchstart
  • element/webkitmouseforcechanged
  • element/webkitmouseforcedown
  • element/webkitmouseforceup
  • element/webkitmouseforcewillbegin
  • element/wheel
  • focusevent/focusevent
  • fontfaceset/loading
  • fontfaceset/loadingdone
  • fontfaceset/loadingerror
  • hiddevice/inputreport
  • htmlcanvaselement/webglcontextcreationerror
  • htmlcanvaselement/webglcontextlost
  • htmlcanvaselement/webglcontextrestored
  • htmldetailselement/toggle
  • htmldialogelement/cancel
  • htmldialogelement/close
  • htmlelement/animationcancel
  • htmlelement/animationend
  • htmlelement/animationiteration
  • htmlelement/animationstart
  • htmlelement/beforeinput
  • htmlelement/gotpointercapture
  • htmlelement/lostpointercapture
  • htmlelement/pointercancel
  • htmlelement/pointerdown
  • htmlelement/pointerenter
  • htmlelement/pointerleave
  • htmlelement/pointermove
  • htmlelement/pointerout
  • htmlelement/pointerover
  • htmlelement/pointerup
  • htmlelement/transitioncancel
  • htmlelement/transitionend
  • htmlelement/transitionrun
  • htmlelement/transitionstart
  • htmlformelement/formdata
  • htmlformelement/reset
  • htmlformelement/submit
  • htmlinputelement/invalid
  • htmlinputelement/search
  • htmlinputelement/selectionchange
  • htmltextareaelement/selectionchange
  • htmltrackelement/cuechange
  • idbdatabase/close
  • idbdatabase/versionchange
  • idbfilehandle/abort
  • idbfilehandle/complete
  • idbfilehandle/error
  • idbfilerequest/progress
  • idbmutablefile/abort
  • idbmutablefile/error
  • idbopendbrequest/blocked
  • idbopendbrequest/upgradeneeded
  • idbrequest/error
  • idbrequest/success
  • idbtransaction/abort
  • idbtransaction/complete
  • idbtransaction/error
  • idledetector/change
  • mediadevices/devicechange
  • mediakeysession/keystatuseschange
  • mediakeysession/message
  • mediaquerylist/change
  • mediarecorder/warning
  • mediastream/addtrack
  • mediastream/removetrack
  • mediastreamtrack/ended
  • mediastreamtrack/mute
  • mediastreamtrack/overconstrained
  • mediastreamtrack/unmute
  • messagechannel/messagechannel
  • midiaccess/statechange
  • midiinput/midimessage
  • midiport/statechange
  • ndefreader/reading
  • ndefreader/readingerror
  • networkinformation/change
  • notification/click
  • notification/close
  • notification/error
  • notification/show
  • offlineaudiocontext/complete
  • paymentrequest/merchantvalidation
  • paymentrequest/paymentmethodchange
  • paymentrequest/shippingaddresschange
  • paymentrequest/shippingoptionchange
  • paymentresponse/payerdetailchange
  • performance/resourcetimingbufferfull
  • permissionstatus/change
  • remoteplayback/connect
  • remoteplayback/connecting
  • remoteplayback/disconnect
  • rtcpeerconnection/addstream
  • rtcpeerconnection/removestream
  • screen/orientationchange
  • scriptprocessornode/audioprocess
  • sensor/activate
  • sensor/error
  • sensor/reading
  • serialport/connect
  • serialport/disconnect
  • serviceworkercontainer/error
  • serviceworker/error
  • serviceworkerglobalscope/contentdelete
  • serviceworkerglobalscope/notificationclick
  • serviceworkerglobalscope/notificationclose
  • serviceworkerglobalscope/periodicsync
  • serviceworkerglobalscope/push
  • serviceworkerglobalscope/pushsubscriptionchange
  • serviceworkerglobalscope/sync
  • speechrecognition/speechrecognition
  • svganimationelement/beginevent
  • svganimationelement/endevent
  • svganimationelement/repeatevent
  • svgelement/error
  • svgelement/load
  • svggraphicselement/copy
  • svggraphicselement/cut
  • svggraphicselement/paste
  • texttrack/cuechange
  • texttrackcue/enter
  • texttrackcue/exit
  • usb/connect
  • usb/disconnect
  • visualviewport/resize
  • visualviewport/scroll
  • wakelocksentinel/release
  • window/animationcancel
  • window/animationend
  • window/animationiteration
  • window/animationstart
  • window/appinstalled
  • window/beforeinstallprompt
  • windowcontrolsoverlay/geometrychange
  • window/copy
  • window/cut
  • window/devicemotion
  • window/deviceorientation
  • window/deviceorientationabsolute
  • window/domcontentloaded
  • window/gamepadconnected
  • window/gamepaddisconnected
  • window/orientationchange
  • window/paste
  • window/resize
  • window/transitioncancel
  • window/transitionend
  • window/transitionrun
  • window/transitionstart
  • window/vrdisplayactivate
  • window/vrdisplayblur
  • window/vrdisplayconnect
  • window/vrdisplaydeactivate
  • window/vrdisplaydisconnect
  • window/vrdisplayfocus
  • window/vrdisplaypointerrestricted
  • window/vrdisplaypointerunrestricted
  • window/vrdisplaypresentchange
  • xrcubelayer/redraw
  • xrcylinderlayer/redraw
  • xrequirectlayer/redraw
  • xrquadlayer/redraw
List of 74 events associated with their target interfaces in reffy extract but not in MDN
  • abstractworker/error
  • bluetoothdevice/advertisementreceived
  • bluetoothdevice/gattserverdisconnected
  • bluetoothremotegattcharacteristic/characteristicvaluechanged
  • bluetoothremotegattservice/serviceadded
  • bluetoothremotegattservice/servicechanged
  • bluetoothremotegattservice/serviceremoved
  • closewatcher/cancel
  • closewatcher/close
  • connection/versionchange
  • globaleventhandlers/drag
  • globaleventhandlers/dragend
  • globaleventhandlers/dragenter
  • globaleventhandlers/dragleave
  • globaleventhandlers/dragover
  • globaleventhandlers/dragstart
  • globaleventhandlers/drop
  • gpudevice/uncapturederror
  • htmlelement/beforematch
  • htmlelement/blur
  • htmlelement/cancel
  • htmlelement/close
  • htmlelement/contextlost
  • htmlelement/contextrestored
  • htmlelement/error
  • htmlelement/focus
  • htmlelement/formdata
  • htmlelement/invalid
  • htmlelement/load
  • htmlelement/reset
  • htmlelement/securitypolicyviolation
  • htmlelement/select
  • htmlelement/submit
  • htmlelement/toggle
  • htmlmediaelement/cuechange
  • htmlmediaelement/enter
  • htmlmediaelement/exit
  • htmlmediaelement/resize
  • htmlportalelement/message
  • htmlportalelement/messageerror
  • htmlsourceelement/error
  • htmltrackelement/error
  • htmltrackelement/load
  • imagetrack/change
  • navigation/currententrychange
  • navigationhistoryentry/dispose
  • navigation/navigate
  • navigation/navigateerror
  • navigation/navigatesuccess
  • offscreencanvas/contextlost
  • offscreencanvas/contextrestored
  • portalhost/message
  • portalhost/messageerror
  • request/blocked
  • request/error
  • request/success
  • request/upgradeneeded
  • rtcdtlstransport/statechange
  • rtcsctptransport/statechange
  • serviceworkercontainer/messageerror
  • serviceworkerglobalscope/messageerror
  • sframetransform/error
  • tasksignal/prioritychange
  • transaction/abort
  • transaction/complete
  • window/portalactivate
  • workerglobalscope/error
  • workerglobalscope/languagechange
  • workerglobalscope/offline
  • workerglobalscope/online
  • workerglobalscope/rejectionhandled
  • workerglobalscope/unhandledrejection
  • xrlayer/redraw
  • xrsession/frameratechange

(not reviewed in depth; as in #772, a mix of false and true positives)

@dontcallmedom
Copy link
Member Author

The current version of this PR extracts 435 events from 81 specifications, with event type, the interface the event is sent with, and the interfaces that the event targets.

Unfortunately, for 68 of these specifications, the extracted information is incomplete, primarily in its ability to detect the interface of the event object. I believe the patterns that the extractor detects could be applied to all of these specs to correct these gaps, but this is not an insignificant effort.

@dontcallmedom dontcallmedom marked this pull request as ready for review June 10, 2022 17:12
@dontcallmedom
Copy link
Member Author

The latest version of the script extracts 415 events from 82 specs, with event type, the interface the event is sent with, and the interfaces that the event targets, and whether it bubbles.
[
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/navigation-api/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/navigation-api/#eventdef-navigation-currententrychange",
    "type": "currententrychange",
    "targets": [
      "Navigation"
    ],
    "interface": "NavigationCurrentEntryChangeEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/navigation-api/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://wicg.github.io/navigation-api/#eventdef-navigationhistoryentry-dispose",
    "type": "dispose",
    "targets": [
      "NavigationHistoryEntry"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/navigation-api/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://wicg.github.io/navigation-api/#eventdef-navigation-navigatesuccess",
    "type": "navigatesuccess",
    "targets": [
      "Navigation"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/navigation-api/#ref-for-concept-event-fire%E2%91%A3"
    },
    "href": "https://wicg.github.io/navigation-api/#eventdef-navigation-navigateerror",
    "type": "navigateerror",
    "targets": [
      "Navigation"
    ],
    "interface": "ErrorEvent"
  },
  {
    "type": "navigate",
    "targets": [
      "Navigation"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/navigation-api/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/background-fetch/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/background-fetch/#ref-for-concept-event-fire",
    "type": "progress",
    "targets": [
      "BackgroundFetchRegistration"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/background-fetch/#ref-for-fire-functional-event%E2%91%A0"
    },
    "href": "https://wicg.github.io/background-fetch/#ref-for-fire-functional-event%E2%91%A0",
    "type": "backgroundfetchclick",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "BackgroundFetchEvent"
  },
  {
    "type": "backgroundfetchsuccess",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/background-fetch/#null"
    }
  },
  {
    "type": "backgroundfetchfail",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/background-fetch/#null"
    }
  },
  {
    "type": "backgroundfetchabort",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/background-fetch/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/background-sync/spec/#ref-for-fire-functional-event"
    },
    "href": "https://wicg.github.io/background-sync/spec/#ref-for-fire-functional-event",
    "type": "sync",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "SyncEvent"
  },
  {
    "type": "chargingchange",
    "targets": [
      "BatteryManager"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/battery/#null"
    }
  },
  {
    "type": "chargingtimechange",
    "targets": [
      "BatteryManager"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/battery/#null"
    }
  },
  {
    "type": "dischargingtimechange",
    "targets": [
      "BatteryManager"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/battery/#null"
    }
  },
  {
    "type": "levelchange",
    "targets": [
      "BatteryManager"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/battery/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/close-watcher/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/close-watcher/#eventdef-closewatcher-cancel",
    "type": "cancel",
    "targets": [
      "CloseWatcher"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/close-watcher/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://wicg.github.io/close-watcher/#eventdef-closewatcher-close",
    "type": "close",
    "targets": [
      "CloseWatcher"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://compat.spec.whatwg.org/#ref-for-concept-event-fire"
    },
    "href": "https://compat.spec.whatwg.org/#ref-for-concept-event-fire",
    "type": "orientationchange",
    "targets": [
      "Window",
      "HTMLBodyElement"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/content-index/spec/#ref-for-fire-functional-event"
    },
    "href": "https://wicg.github.io/content-index/spec/#ref-for-fire-functional-event",
    "type": "contentdelete",
    "interface": "ContentIndexEvent",
    "targets": [
      "ServiceWorkerGlobalScope"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/cookie-store/#ref-for-fire-functional-event"
    },
    "href": "https://wicg.github.io/cookie-store/#ref-for-fire-functional-event",
    "type": "cookiechange",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "ExtendableCookieChangeEvent"
  },
  {
    "type": "change",
    "targets": [
      "CookieStore"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/cookie-store/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/webappsec-csp/#ref-for-concept-event-fire"
    },
    "href": "https://w3c.github.io/webappsec-csp/#ref-for-concept-event-fire",
    "type": "securitypolicyviolation",
    "interface": "SecurityPolicyViolationEvent"
  },
  {
    "type": "animationstart",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-animations/#null"
    },
    "bubbles": true
  },
  {
    "type": "animationiteration",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-animations/#null"
    },
    "bubbles": true
  },
  {
    "type": "animationend",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-animations/#null"
    },
    "bubbles": true
  },
  {
    "type": "animationcancel",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-animations/#null"
    },
    "bubbles": true
  },
  {
    "type": "loading",
    "targets": [
      "FontFaceSet"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-font-loading/#null"
    }
  },
  {
    "type": "loadingdone",
    "targets": [
      "FontFaceSet"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-font-loading/#null"
    }
  },
  {
    "type": "loadingerror",
    "targets": [
      "FontFaceSet"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-font-loading/#null"
    }
  },
  {
    "type": "navbeforefocus",
    "interface": "NavigationEvent",
    "bubbles": true,
    "src": {
      "format": "css definition table",
      "href": "https://drafts.csswg.org/css-nav-1/#toc-nav"
    },
    "href": "https://drafts.csswg.org/css-nav-1/#toc-nav"
  },
  {
    "type": "navnotarget",
    "interface": "NavigationEvent",
    "bubbles": true,
    "src": {
      "format": "css definition table",
      "href": "https://drafts.csswg.org/css-nav-1/#toc-nav"
    },
    "href": "https://drafts.csswg.org/css-nav-1/#toc-nav"
  },
  {
    "type": "navbeforefocus",
    "interface": null,
    "targets": [
      "NavigationEvent"
    ],
    "src": {
      "format": "dfn",
      "href": "https://drafts.csswg.org/css-nav-1/#eventdef-navigationevent-navbeforefocus"
    },
    "href": "https://drafts.csswg.org/css-nav-1/#eventdef-navigationevent-navbeforefocus"
  },
  {
    "type": "navnotarget",
    "interface": null,
    "targets": [
      "NavigationEvent"
    ],
    "src": {
      "format": "dfn",
      "href": "https://drafts.csswg.org/css-nav-1/#eventdef-navigationevent-navnotarget"
    },
    "href": "https://drafts.csswg.org/css-nav-1/#eventdef-navigationevent-navnotarget"
  },
  {
    "href": "https://drafts.csswg.org/cssom-view/#eventdef-mediaquerylist-change",
    "src": {
      "format": "summary table",
      "href": "https://drafts.csswg.org/cssom-view/#eventdef-mediaquerylist-change"
    },
    "type": "change",
    "targets": [
      "MediaQueryList"
    ],
    "interface": "Event"
  },
  {
    "href": "https://drafts.csswg.org/cssom-view/#eventdef-window-resize",
    "src": {
      "format": "summary table",
      "href": "https://drafts.csswg.org/cssom-view/#eventdef-window-resize"
    },
    "type": "resize",
    "targets": [
      "Window"
    ],
    "interface": "Event"
  },
  {
    "href": "https://drafts.csswg.org/cssom-view/#eventdef-document-scroll",
    "src": {
      "format": "summary table",
      "href": "https://drafts.csswg.org/cssom-view/#eventdef-document-scroll"
    },
    "type": "scroll",
    "targets": [
      "Document",
      "Element"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "type": "transitionrun",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-transitions/#null"
    },
    "bubbles": true
  },
  {
    "type": "transitionstart",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-transitions/#null"
    },
    "bubbles": true
  },
  {
    "type": "transitionend",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-transitions/#null"
    },
    "bubbles": true
  },
  {
    "type": "transitioncancel",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/css-transitions/#null"
    },
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/device-posture/#device-posture-change"
    },
    "href": "https://w3c.github.io/device-posture/#device-posture-change",
    "type": "change",
    "targets": [
      "DevicePosture"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://dom.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A4"
    },
    "href": "https://dom.spec.whatwg.org/#eventdef-abortsignal-abort",
    "type": "abort",
    "targets": [
      "AbortSignal"
    ],
    "interface": "Event"
  },
  {
    "type": "slotchange",
    "targets": [
      "ShadowRoot"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://dom.spec.whatwg.org/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/edit-context/#extensions-to-the-element-interface"
    },
    "href": "https://w3c.github.io/edit-context/#extensions-to-the-element-interface",
    "type": "beforeinput",
    "interface": "Event"
  },
  {
    "type": "textupdate",
    "targets": [
      "EditContext"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/edit-context/#null"
    }
  },
  {
    "type": "textformatupdate",
    "targets": [
      "EditContext"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/edit-context/#null"
    }
  },
  {
    "type": "characterboundsupdate",
    "targets": [
      "EditContext"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/edit-context/#null"
    }
  },
  {
    "type": "compositionstart",
    "targets": [
      "EditContext"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/edit-context/#null"
    }
  },
  {
    "type": "compositionend",
    "targets": [
      "EditContext"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/edit-context/#null"
    }
  },
  {
    "href": "https://w3c.github.io/encrypted-media/#dom-evt-keystatuseschange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/encrypted-media/#dom-evt-keystatuseschange"
    },
    "type": "keystatuseschange",
    "targets": [
      "MediaKeySession"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/encrypted-media/#dom-evt-message",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/encrypted-media/#dom-evt-message"
    },
    "type": "message",
    "targets": [
      "MediaKeySession"
    ],
    "interface": "MediaKeyMessageEvent"
  },
  {
    "href": "https://w3c.github.io/encrypted-media/#dom-evt-encrypted",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/encrypted-media/#dom-evt-encrypted"
    },
    "type": "encrypted",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "MediaEncryptedEvent"
  },
  {
    "href": "https://w3c.github.io/encrypted-media/#dom-evt-waitingforkey",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/encrypted-media/#dom-evt-waitingforkey"
    },
    "type": "waitingforkey",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-loadstart-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-loadstart-event"
    },
    "type": "loadstart",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-progress-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-progress-event"
    },
    "type": "progress",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-abort-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-abort-event"
    },
    "type": "abort",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-error-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-error-event"
    },
    "type": "error",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-load-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-load-event"
    },
    "type": "load",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://w3c.github.io/FileAPI/#dfn-loadend-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/FileAPI/#dfn-loadend-event"
    },
    "type": "loadend",
    "targets": [
      "FileReader"
    ],
    "interface": "ProgressEvent"
  },
  {
    "type": "fullscreenchange",
    "targets": [
      "Element"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://fullscreen.spec.whatwg.org/#null"
    }
  },
  {
    "type": "fullscreenchange",
    "targets": [
      "Document"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://fullscreen.spec.whatwg.org/#null"
    }
  },
  {
    "type": "fullscreenerror",
    "targets": [
      "Element"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://fullscreen.spec.whatwg.org/#null"
    }
  },
  {
    "type": "fullscreenerror",
    "targets": [
      "Document"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://fullscreen.spec.whatwg.org/#null"
    }
  },
  {
    "type": "fullscreenchange",
    "interface": null,
    "targets": [
      "Document",
      "Element"
    ],
    "src": {
      "format": "dfn",
      "href": "https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenchange"
    },
    "href": "https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenchange"
  },
  {
    "type": "fullscreenerror",
    "interface": null,
    "targets": [
      "Document",
      "Element"
    ],
    "src": {
      "format": "dfn",
      "href": "https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenerror"
    },
    "href": "https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenerror"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/gamepad/#receiving-inputs"
    },
    "href": "https://w3c.github.io/gamepad/#dfn-gamepadconnected",
    "type": "gamepadconnected",
    "targets": [
      "WindowEventHandlers"
    ],
    "interface": "GamepadEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/gamepad/#the-gamepaddisconnected-event"
    },
    "href": "https://w3c.github.io/gamepad/#dfn-gamepaddisconnected",
    "type": "gamepaddisconnected",
    "targets": [
      "WindowEventHandlers"
    ],
    "interface": "GamepadEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/sensors/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://w3c.github.io/sensors/#ref-for-concept-event-fire%E2%91%A0",
    "type": "reading",
    "interface": "Event",
    "targets": [
      "Sensor"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/sensors/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://w3c.github.io/sensors/#ref-for-concept-event-fire%E2%91%A1",
    "type": "activate",
    "interface": "Event",
    "targets": [
      "Sensor"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/sensors/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://w3c.github.io/sensors/#dom-sensorerrorevent-error",
    "type": "error",
    "targets": [
      "SensorErrorEvent"
    ],
    "interface": "SensorErrorEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadstart",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadstart"
    },
    "type": "loadstart",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-progress",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-progress"
    },
    "type": "progress",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-suspend",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-suspend"
    },
    "type": "suspend",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-abort",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-abort"
    },
    "type": "abort",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-error",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-error"
    },
    "type": "error",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-emptied",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-emptied"
    },
    "type": "emptied",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-stalled",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-stalled"
    },
    "type": "stalled",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadedmetadata",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadedmetadata"
    },
    "type": "loadedmetadata",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadeddata",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-loadeddata"
    },
    "type": "loadeddata",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-canplay",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-canplay"
    },
    "type": "canplay",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-canplaythrough",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-canplaythrough"
    },
    "type": "canplaythrough",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-playing",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-playing"
    },
    "type": "playing",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-waiting",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-waiting"
    },
    "type": "waiting",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-seeking",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-seeking"
    },
    "type": "seeking",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-seeked",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-seeked"
    },
    "type": "seeked",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-ended",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-ended"
    },
    "type": "ended",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-durationchange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-durationchange"
    },
    "type": "durationchange",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-timeupdate",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-timeupdate"
    },
    "type": "timeupdate",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-play",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-play"
    },
    "type": "play",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-pause",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-pause"
    },
    "type": "pause",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-ratechange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-ratechange"
    },
    "type": "ratechange",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-resize",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-resize"
    },
    "type": "resize",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-volumechange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-volumechange"
    },
    "type": "volumechange",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-source-error",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-source-error"
    },
    "type": "error",
    "targets": [
      "HTMLSourceElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-change",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-change"
    },
    "type": "change",
    "targets": [
      "AudioTrackList",
      "TextTrackList",
      "VideoTrackList"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-addtrack",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-addtrack"
    },
    "type": "addtrack",
    "targets": [
      "AudioTrackList",
      "TextTrackList",
      "VideoTrackList"
    ],
    "interface": "TrackEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-removetrack",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-removetrack"
    },
    "type": "removetrack",
    "targets": [
      "AudioTrackList",
      "TextTrackList",
      "VideoTrackList"
    ],
    "interface": "TrackEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-cuechange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-cuechange"
    },
    "type": "cuechange",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-track-error",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-track-error"
    },
    "type": "error",
    "targets": [
      "HTMLTrackElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-track-load",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-track-load"
    },
    "type": "load",
    "targets": [
      "HTMLTrackElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-enter",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-enter"
    },
    "type": "enter",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-exit",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/media.html#event-media-exit"
    },
    "type": "exit",
    "targets": [
      "HTMLMediaElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragstart",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragstart"
    },
    "type": "dragstart",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drag",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drag"
    },
    "type": "drag",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragenter",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragenter"
    },
    "type": "dragenter",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragleave",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragleave"
    },
    "type": "dragleave",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragover",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragover"
    },
    "type": "dragover",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drop",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drop"
    },
    "type": "drop",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragend",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragend"
    },
    "type": "dragend",
    "targets": [
      "GlobalEventHandlers"
    ]
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-domcontentloaded",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-domcontentloaded"
    },
    "type": "DOMContentLoaded",
    "targets": [
      "Document"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-afterprint",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-afterprint"
    },
    "type": "afterprint",
    "targets": [
      "Window"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforeprint",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforeprint"
    },
    "type": "beforeprint",
    "targets": [
      "Window"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforematch",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforematch"
    },
    "type": "beforematch",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforeunload",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-beforeunload"
    },
    "type": "beforeunload",
    "targets": [
      "Window"
    ],
    "interface": "BeforeUnloadEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-blur",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-blur"
    },
    "type": "blur",
    "targets": [
      "Window",
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-cancel",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-cancel"
    },
    "type": "cancel",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-change",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-change"
    },
    "type": "change",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-close",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-close"
    },
    "type": "close",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-workerglobalscope-connect",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-workerglobalscope-connect"
    },
    "type": "connect",
    "targets": [
      "SharedWorkerGlobalScope"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-contextlost",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-contextlost"
    },
    "type": "contextlost",
    "targets": [
      "HTMLElement",
      "OffscreenCanvas"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-contextrestored",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-contextrestored"
    },
    "type": "contextrestored",
    "targets": [
      "HTMLElement",
      "OffscreenCanvas"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-copy",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-copy"
    },
    "type": "copy",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-cut",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-cut"
    },
    "type": "cut",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-error",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-error"
    },
    "type": "error",
    "targets": [
      "Window",
      "WorkerGlobalScope",
      "HTMLElement",
      "EventSource",
      "Worker",
      "SharedWorker",
      "AbstractWorker"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-focus",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-focus"
    },
    "type": "focus",
    "targets": [
      "Window",
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-formdata",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-formdata"
    },
    "type": "formdata",
    "targets": [
      "HTMLElement"
    ],
    "interface": "FormDataEvent",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-hashchange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-hashchange"
    },
    "type": "hashchange",
    "targets": [
      "Window"
    ],
    "interface": "HashChangeEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-invalid",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-invalid"
    },
    "type": "invalid",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-languagechange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-languagechange"
    },
    "type": "languagechange",
    "targets": [
      "Window",
      "WorkerGlobalScope"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-load",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-load"
    },
    "type": "load",
    "targets": [
      "Window",
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-message",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-message"
    },
    "type": "message",
    "targets": [
      "Window",
      "EventSource",
      "MessagePort",
      "BroadcastChannel",
      "DedicatedWorkerGlobalScope",
      "Worker",
      "ServiceWorkerContainer"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-messageerror",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-messageerror"
    },
    "type": "messageerror",
    "targets": [
      "Window",
      "MessagePort",
      "BroadcastChannel",
      "DedicatedWorkerGlobalScope",
      "Worker",
      "ServiceWorkerContainer"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-offline",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-offline"
    },
    "type": "offline",
    "targets": [
      "Window",
      "WorkerGlobalScope"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-online",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-online"
    },
    "type": "online",
    "targets": [
      "Window",
      "WorkerGlobalScope"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-open",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-open"
    },
    "type": "open",
    "targets": [
      "EventSource"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-pagehide",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-pagehide"
    },
    "type": "pagehide",
    "targets": [
      "Window"
    ],
    "interface": "PageTransitionEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-pageshow",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-pageshow"
    },
    "type": "pageshow",
    "targets": [
      "Window"
    ],
    "interface": "PageTransitionEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-paste",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-paste"
    },
    "type": "paste",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-popstate",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-popstate"
    },
    "type": "popstate",
    "targets": [
      "Window"
    ],
    "interface": "PopStateEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-readystatechange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-readystatechange"
    },
    "type": "readystatechange",
    "targets": [
      "Document"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-rejectionhandled",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-rejectionhandled"
    },
    "type": "rejectionhandled",
    "targets": [
      "Window",
      "WorkerGlobalScope"
    ],
    "interface": "PromiseRejectionEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-reset",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-reset"
    },
    "type": "reset",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-securitypolicyviolation",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-securitypolicyviolation"
    },
    "type": "securitypolicyviolation",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-select",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-select"
    },
    "type": "select",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-slotchange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-slotchange"
    },
    "type": "slotchange",
    "targets": [
      "HTMLSlotElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-storage",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-storage"
    },
    "type": "storage",
    "targets": [
      "Window"
    ],
    "interface": "StorageEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-submit",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-submit"
    },
    "type": "submit",
    "targets": [
      "HTMLElement"
    ],
    "interface": "SubmitEvent",
    "bubbles": true
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-toggle",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-toggle"
    },
    "type": "toggle",
    "targets": [
      "HTMLElement"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-unhandledrejection",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-unhandledrejection"
    },
    "type": "unhandledrejection",
    "targets": [
      "Window",
      "WorkerGlobalScope"
    ],
    "interface": "PromiseRejectionEvent"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-unload",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-unload"
    },
    "type": "unload",
    "targets": [
      "Window"
    ],
    "interface": "Event"
  },
  {
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-visibilitychange",
    "src": {
      "format": "summary table",
      "href": "https://html.spec.whatwg.org/multipage/indices.html#event-visibilitychange"
    },
    "type": "visibilitychange",
    "targets": [
      "Document"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://html.spec.whatwg.org/multipage/input.html#common-input-element-events:concept-event-fire"
    },
    "href": "https://html.spec.whatwg.org/multipage/#the-input-element",
    "type": "input",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/idle-detection/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/idle-detection/#ref-for-concept-event-fire",
    "type": "change",
    "interface": "Event",
    "targets": [
      "IdleDetector"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/import-maps/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://wicg.github.io/import-maps/#ref-for-concept-event-fire%E2%91%A0",
    "type": "error",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/import-maps/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://wicg.github.io/import-maps/#ref-for-concept-event-fire%E2%91%A1",
    "type": "load",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/IndexedDB/#ref-for-concept-event-fire"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-request-error",
    "type": "error",
    "targets": [
      "request"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/IndexedDB/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-request-success",
    "type": "success",
    "targets": [
      "request"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/IndexedDB/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-connection-close",
    "type": "close",
    "targets": [
      "connection"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/IndexedDB/#ref-for-concept-event-fire%E2%91%A3"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-transaction-complete",
    "type": "complete",
    "targets": [
      "transaction"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/IndexedDB/#ref-for-concept-event-fire%E2%91%A5"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-transaction-abort",
    "type": "abort",
    "targets": [
      "transaction"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "type": "blocked",
    "targets": [
      "IDBOpenDBRequest"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/IndexedDB/#null"
    }
  },
  {
    "type": "upgradeneeded",
    "targets": [
      "IDBOpenDBRequest"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/IndexedDB/#null"
    }
  },
  {
    "type": "versionchange",
    "targets": [
      "IDBDatabase"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/IndexedDB/#null"
    }
  },
  {
    "type": "versionchange",
    "interface": null,
    "targets": [
      "connection"
    ],
    "src": {
      "format": "dfn",
      "href": "https://w3c.github.io/IndexedDB/#eventdef-connection-versionchange"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-connection-versionchange"
  },
  {
    "type": "blocked",
    "interface": null,
    "targets": [
      "request"
    ],
    "src": {
      "format": "dfn",
      "href": "https://w3c.github.io/IndexedDB/#eventdef-request-blocked"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-request-blocked"
  },
  {
    "type": "upgradeneeded",
    "interface": null,
    "targets": [
      "request"
    ],
    "src": {
      "format": "dfn",
      "href": "https://w3c.github.io/IndexedDB/#eventdef-request-upgradeneeded"
    },
    "href": "https://w3c.github.io/IndexedDB/#eventdef-request-upgradeneeded"
  },
  {
    "type": "layoutchange",
    "targets": [
      "Keyboard"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/keyboard-map/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/manifest-incubations/#installation-prompts"
    },
    "href": "https://wicg.github.io/manifest-incubations/#installation-prompts",
    "type": "beforeinstallprompt",
    "interface": "BeforeInstallPromptEvent",
    "targets": [
      "Window"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/manifest-incubations/#installation-process"
    },
    "href": "https://wicg.github.io/manifest-incubations/#installation-process",
    "type": "appinstalled",
    "interface": "Event",
    "targets": [
      "Window"
    ]
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediastream-addtrack",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediastream-addtrack"
    },
    "type": "addtrack",
    "targets": [
      "MediaStream"
    ],
    "interface": "MediaStreamTrackEvent"
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediastream-removetrack",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediastream-removetrack"
    },
    "type": "removetrack",
    "targets": [
      "MediaStream"
    ],
    "interface": "MediaStreamTrackEvent"
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-mute",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-mute"
    },
    "type": "mute",
    "targets": [
      "MediaStreamTrack"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-unmute",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-unmute"
    },
    "type": "unmute",
    "targets": [
      "MediaStreamTrack"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-ended",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediastreamtrack-ended"
    },
    "type": "ended",
    "targets": [
      "MediaStreamTrack"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-main/#event-mediadevices-devicechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-main/#event-mediadevices-devicechange"
    },
    "type": "devicechange",
    "targets": [
      "MediaDevices"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-sourceopen",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-sourceopen"
    },
    "type": "sourceopen",
    "targets": [
      "MediaSource"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-sourceended",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-sourceended"
    },
    "type": "sourceended",
    "targets": [
      "MediaSource"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-sourceclose",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-sourceclose"
    },
    "type": "sourceclose",
    "targets": [
      "MediaSource"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-updatestart",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-updatestart"
    },
    "type": "updatestart",
    "targets": [
      "SourceBuffer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-update",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-update"
    },
    "type": "update",
    "targets": [
      "SourceBuffer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-updateend",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-updateend"
    },
    "type": "updateend",
    "targets": [
      "SourceBuffer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-error",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-error"
    },
    "type": "error",
    "targets": [
      "SourceBuffer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-abort",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-abort"
    },
    "type": "abort",
    "targets": [
      "SourceBuffer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-addsourcebuffer",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-addsourcebuffer"
    },
    "type": "addsourcebuffer",
    "targets": [
      "SourceBufferList"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/media-source/#dfn-removesourcebuffer",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/media-source/#dfn-removesourcebuffer"
    },
    "type": "removesourcebuffer",
    "targets": [
      "SourceBufferList"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-start",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-start"
    },
    "type": "start",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-stop",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-stop"
    },
    "type": "stop",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-dataavailable",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-dataavailable"
    },
    "type": "dataavailable",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "BlobEvent"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-pause",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-pause"
    },
    "type": "pause",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-resume",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-resume"
    },
    "type": "resume",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-error",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/mediacapture-record/#eventdef-mediarecorder-error"
    },
    "type": "error",
    "targets": [
      "MediaRecorder"
    ],
    "interface": "MediaRecorderErrorEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/mediacapture-record/#ref-for-concept-event-fire%E2%91%A8"
    },
    "href": "https://w3c.github.io/mediacapture-record/#mediarecordererrorevent",
    "type": "MediaRecorderErrorEvent",
    "interface": "MediaRecorderErrorEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/netinfo/#handling-changes-to-the-underlying-connection"
    },
    "href": "https://wicg.github.io/netinfo/#handling-changes-to-the-underlying-connection",
    "type": "change",
    "targets": [
      "NetworkInformation"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire"
    },
    "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire",
    "type": "show",
    "targets": [
      "Notification"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A0",
    "type": "click",
    "targets": [
      "Notification"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A1",
    "type": "close",
    "targets": [
      "Notification"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://notifications.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A2",
    "type": "error",
    "targets": [
      "Notification"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://notifications.spec.whatwg.org/#ref-for-fire-functional-event"
    },
    "href": "https://notifications.spec.whatwg.org/#ref-for-fire-functional-event",
    "type": "name",
    "interface": "NotificationEvent"
  },
  {
    "type": "notificationclick",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://notifications.spec.whatwg.org/#null"
    }
  },
  {
    "type": "notificationclose",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://notifications.spec.whatwg.org/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire"
    },
    "href": "https://w3c.github.io/deviceorientation/#def-deviceorientation",
    "type": "deviceorientation",
    "targets": [
      "Window"
    ],
    "interface": "DeviceOrientationEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire%E2%91%A0",
    "type": "deviceorientationabsolute",
    "targets": [
      "Window"
    ],
    "interface": "DeviceOrientationEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://w3c.github.io/deviceorientation/#def-compassneedscalibration",
    "type": "compassneedscalibration",
    "targets": [
      "Window"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://w3c.github.io/deviceorientation/#ref-for-concept-event-fire%E2%91%A2",
    "type": "devicemotion",
    "targets": [
      "Window"
    ],
    "interface": "DeviceMotionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/page-lifecycle/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/page-lifecycle/#ref-for-concept-event-fire",
    "type": "freeze",
    "targets": [
      "Document"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/page-lifecycle/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://wicg.github.io/page-lifecycle/#ref-for-concept-event-fire%E2%91%A0",
    "type": "resume",
    "targets": [
      "Document"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/payment-handler/#handling-a-canmakepaymentevent"
    },
    "href": "https://w3c.github.io/payment-handler/#handling-a-canmakepaymentevent",
    "type": "canmakepayment",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "CanMakePaymentEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/payment-handler/#handling-a-paymentrequestevent"
    },
    "href": "https://w3c.github.io/payment-handler/#handling-a-paymentrequestevent",
    "type": "paymentrequest",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "PaymentRequestEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/payment-request/#payment-method-changed-algorithm"
    },
    "href": "https://w3c.github.io/payment-request/#dfn-paymentmethodchange",
    "type": "paymentmethodchange",
    "targets": [
      "PaymentRequest"
    ],
    "interface": "PaymentMethodChangeEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/periodic-background-sync/#ref-for-fire-functional-event"
    },
    "href": "https://wicg.github.io/periodic-background-sync/#ref-for-fire-functional-event",
    "type": "periodicsync",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "PeriodicSyncEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/permissions/#onchange-attribute"
    },
    "href": "https://w3c.github.io/permissions/#onchange-attribute",
    "type": "change",
    "targets": [
      "PermissionStatus"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/picture-in-picture/#ref-for-concept-event-fire"
    },
    "href": "https://w3c.github.io/picture-in-picture/#eventdef-htmlvideoelement-enterpictureinpicture",
    "type": "enterpictureinpicture",
    "targets": [
      "HTMLVideoElement"
    ],
    "interface": "PictureInPictureEvent",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/picture-in-picture/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://w3c.github.io/picture-in-picture/#eventdef-htmlvideoelement-leavepictureinpicture",
    "type": "leavepictureinpicture",
    "targets": [
      "HTMLVideoElement"
    ],
    "interface": "PictureInPictureEvent",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/picture-in-picture/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://w3c.github.io/picture-in-picture/#eventdef-pictureinpicturewindow-resize",
    "type": "resize",
    "targets": [
      "PictureInPictureWindow"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerover",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerover-2"
    },
    "type": "pointerover",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerenter",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerenter-1"
    },
    "type": "pointerenter",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": false,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerdown",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerdown-6"
    },
    "type": "pointerdown",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointermove",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointermove-5"
    },
    "type": "pointermove",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerup",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerup-6"
    },
    "type": "pointerup",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointercancel",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointercancel-1"
    },
    "type": "pointercancel",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerout",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerout-2"
    },
    "type": "pointerout",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerleave",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-pointerleave-1"
    },
    "type": "pointerleave",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": false,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-gotpointercapture",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-gotpointercapture-2"
    },
    "type": "gotpointercapture",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "href": "https://w3c.github.io/pointerevents/#dfn-lostpointercapture",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-lostpointercapture-2"
    },
    "type": "lostpointercapture",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "PointerEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/pointerevents/#ref-for-dfn-fire-a-pointer-event-7"
    },
    "href": "https://w3c.github.io/pointerevents/#dfn-pointerrawupdate",
    "type": "pointerrawupdate",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": "PointerEvent"
  },
  {
    "type": "pointerlockchange",
    "targets": [
      "Document"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/pointerlock/#null"
    }
  },
  {
    "type": "pointerlockerror",
    "targets": [
      "Document"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/pointerlock/#null"
    }
  },
  {
    "href": "https://wicg.github.io/portals/#eventdef-htmlportalelement-message",
    "src": {
      "format": "summary table",
      "href": "https://wicg.github.io/portals/#eventdef-htmlportalelement-message"
    },
    "type": "message",
    "targets": [
      "HTMLPortalElement"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://wicg.github.io/portals/#eventdef-htmlportalelement-messageerror",
    "src": {
      "format": "summary table",
      "href": "https://wicg.github.io/portals/#eventdef-htmlportalelement-messageerror"
    },
    "type": "messageerror",
    "targets": [
      "HTMLPortalElement"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://wicg.github.io/portals/#eventdef-portalhost-message",
    "src": {
      "format": "summary table",
      "href": "https://wicg.github.io/portals/#eventdef-portalhost-message"
    },
    "type": "message",
    "targets": [
      "PortalHost"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://wicg.github.io/portals/#eventdef-portalhost-messageerror",
    "src": {
      "format": "summary table",
      "href": "https://wicg.github.io/portals/#eventdef-portalhost-messageerror"
    },
    "type": "messageerror",
    "targets": [
      "PortalHost"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://wicg.github.io/portals/#eventdef-window-portalactivate",
    "src": {
      "format": "summary table",
      "href": "https://wicg.github.io/portals/#eventdef-window-portalactivate"
    },
    "type": "portalactivate",
    "targets": [
      "Window"
    ],
    "interface": "PortalActivateEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://html.spec.whatwg.org/multipage/links.html#link-type-modulepreload:concept-event-fire"
    },
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-error",
    "type": "error",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://html.spec.whatwg.org/multipage/links.html#link-type-modulepreload:concept-event-fire-3"
    },
    "href": "https://html.spec.whatwg.org/multipage/indices.html#event-load",
    "type": "load",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-1"
    },
    "href": "https://w3c.github.io/presentation-api/#dfn-connectionavailable",
    "type": "connectionavailable",
    "targets": [
      "PresentationRequest",
      "PresentationConnectionList"
    ],
    "interface": "PresentationConnectionAvailableEvent",
    "bubbles": false
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-3"
    },
    "href": "https://w3c.github.io/presentation-api/#dfn-change",
    "type": "change",
    "targets": [
      "PresentationAvailability"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-6"
    },
    "href": "https://w3c.github.io/presentation-api/#dfn-connect",
    "type": "connect",
    "targets": [
      "PresentationConnection"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-8"
    },
    "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-8",
    "type": "close",
    "targets": [
      "PresentationConnection"
    ],
    "interface": "PresentationConnectionCloseEvent",
    "bubbles": false
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-9"
    },
    "href": "https://w3c.github.io/presentation-api/#ref-for-index-term-fire-an-event-9",
    "type": "terminate",
    "targets": [
      "PresentationConnection"
    ],
    "interface": "Event"
  },
  {
    "type": "message",
    "targets": [
      "PresentationConnection"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/presentation-api/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/push-api/#receiving-a-push-message"
    },
    "href": "https://w3c.github.io/push-api/#receiving-a-push-message",
    "type": "push",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "PushEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/push-api/#the-pushsubscriptionchange-event"
    },
    "href": "https://w3c.github.io/push-api/#the-pushsubscriptionchange-event",
    "type": "pushsubscriptionchange",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "PushSubscriptionChangeEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/remote-playback/#prompt-user-for-changing-remote-playback-state"
    },
    "href": "https://w3c.github.io/remote-playback/#dfn-connecting",
    "type": "connecting",
    "targets": [
      "RemotePlayback"
    ],
    "interface": "Event",
    "bubbles": false
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/remote-playback/#establishing-a-connection-with-a-remote-playback-device"
    },
    "href": "https://w3c.github.io/remote-playback/#dfn-connect",
    "type": "connect",
    "targets": [
      "RemotePlayback"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/remote-playback/#establishing-a-connection-with-a-remote-playback-device"
    },
    "href": "https://w3c.github.io/remote-playback/#dfn-disconnect",
    "type": "disconnect",
    "targets": [
      "RemotePlayback"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/resource-timing/#sec-extensions-performance-interface"
    },
    "href": "https://w3c.github.io/resource-timing/#sec-extensions-performance-interface",
    "type": "resourcetimingbufferfull",
    "targets": [
      "Performance"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/savedata/#handling-changes-to-the-user-preference"
    },
    "href": "https://wicg.github.io/savedata/#handling-changes-to-the-user-preference",
    "type": "change",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/scheduling-apis/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/scheduling-apis/#eventdef-tasksignal-prioritychange",
    "type": "prioritychange",
    "targets": [
      "TaskSignal"
    ],
    "interface": "TaskPriorityChangeEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/screen-orientation/#Screen-orientation-change"
    },
    "href": "https://w3c.github.io/screen-orientation/#Screen-orientation-change",
    "type": "change",
    "targets": [
      "ScreenOrientation"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/screen-wake-lock/#release-wake-lock-algorithm"
    },
    "href": "https://w3c.github.io/screen-wake-lock/#release-wake-lock-algorithm",
    "type": "release",
    "targets": [
      "WakeLockSentinel"
    ],
    "interface": "Event"
  },
  {
    "type": "selectstart",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/selection-api/#null"
    }
  },
  {
    "type": "selectionchange",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/selection-api/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/serial/#onconnect-attribute-0"
    },
    "href": "https://wicg.github.io/serial/#dfn-connect",
    "type": "connect",
    "targets": [
      "Serial",
      "SerialPort"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/serial/#ondisconnect-attribute-0"
    },
    "href": "https://wicg.github.io/serial/#dfn-disconnect",
    "type": "disconnect",
    "targets": [
      "Serial",
      "SerialPort"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworker-statechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworker-statechange"
    },
    "type": "statechange",
    "targets": [
      "ServiceWorker"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event"
    },
    "type": "updatefound",
    "targets": [
      "ServiceWorkerRegistration"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-controllerchange-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-controllerchange-event"
    },
    "type": "controllerchange",
    "targets": [
      "ServiceWorkerContainer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-message-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-message-event"
    },
    "type": "message",
    "targets": [
      "ServiceWorkerContainer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-messageerror-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-container-messageerror-event"
    },
    "type": "messageerror",
    "targets": [
      "ServiceWorkerContainer"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-install-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-install-event"
    },
    "type": "install",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "ExtendableEvent"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-activate-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-activate-event"
    },
    "type": "activate",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "ExtendableEvent"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-fetch-event",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#service-worker-global-scope-fetch-event"
    },
    "type": "fetch",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "FetchEvent"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworkerglobalscope-message",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworkerglobalscope-message"
    },
    "type": "message",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "ExtendableMessageEvent"
  },
  {
    "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworkerglobalscope-messageerror",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/ServiceWorker/#eventdef-serviceworkerglobalscope-messageerror"
    },
    "type": "messageerror",
    "targets": [
      "ServiceWorkerGlobalScope"
    ],
    "interface": "MessageEvent"
  },
  {
    "type": "audiostart",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "soundstart",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "speechstart",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "speechend",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "soundend",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "audioend",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "result",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "nomatch",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "error",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "error",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "start",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "start",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "end",
    "targets": [
      "SpeechRecognition"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "end",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "voiceschanged",
    "targets": [
      "SpeechSynthesis"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "pause",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "resume",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "mark",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "boundary",
    "targets": [
      "SpeechSynthesisUtterance"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/speech-api/#null"
    }
  },
  {
    "type": "begin",
    "targets": [
      "SVGAnimationElement"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://svgwg.org/specs/animations/#null"
    }
  },
  {
    "type": "end",
    "targets": [
      "SVGAnimationElement"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://svgwg.org/specs/animations/#null"
    }
  },
  {
    "type": "repeat",
    "targets": [
      "SVGAnimationElement"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://svgwg.org/specs/animations/#null"
    }
  },
  {
    "href": "https://w3c.github.io/touch-events/#dfn-touchstart",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/touch-events/#ref-for-dfn-touchstart-3"
    },
    "type": "touchstart",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "TouchEvent"
  },
  {
    "href": "https://w3c.github.io/touch-events/#dfn-touchend",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/touch-events/#ref-for-dfn-touchend-3"
    },
    "type": "touchend",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "TouchEvent"
  },
  {
    "href": "https://w3c.github.io/touch-events/#dfn-touchmove",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/touch-events/#ref-for-dfn-touchmove-3"
    },
    "type": "touchmove",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "TouchEvent"
  },
  {
    "href": "https://w3c.github.io/touch-events/#dfn-touchcancel",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/touch-events/#ref-for-dfn-touchcancel-3"
    },
    "type": "touchcancel",
    "targets": [
      "GlobalEventHandlers"
    ],
    "bubbles": true,
    "interface": "TouchEvent"
  },
  {
    "type": "load",
    "interface": null,
    "targets": [
      "Window",
      "Document",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "unload",
    "interface": null,
    "targets": [
      "Window",
      "Document",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "abort",
    "interface": null,
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "error",
    "interface": null,
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "select",
    "interface": null,
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "blur",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "focus",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "focusin",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "focusout",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "auxclick",
    "interface": "PointerEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "click",
    "interface": "PointerEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "contextmenu",
    "interface": "PointerEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "dblclick",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mousedown",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mouseenter",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mouseleave",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mousemove",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mouseout",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mouseover",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "mouseup",
    "interface": "MouseEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "wheel",
    "interface": "WheelEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "beforeinput",
    "interface": "InputEvent",
    "targets": null,
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "input",
    "interface": "InputEvent",
    "targets": null,
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "keydown",
    "interface": "KeyboardEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "keyup",
    "interface": "KeyboardEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "compositionstart",
    "interface": "CompositionEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "compositionupdate",
    "interface": "CompositionEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "compositionend",
    "interface": "CompositionEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMActivate",
    "interface": "UIEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMFocusIn",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMFocusOut",
    "interface": "FocusEvent",
    "targets": [
      "Window",
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "keypress",
    "interface": "KeyboardEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMAttrModified",
    "interface": "MutationEvent",
    "targets": [
      "Element"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMCharacterDataModified",
    "interface": "MutationEvent",
    "targets": [
      "Text",
      "Comment",
      "ProcessingInstruction"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMNodeInserted",
    "interface": "MutationEvent",
    "targets": [
      "Element",
      "Attr",
      "Text",
      "Comment",
      "DocumentType",
      "ProcessingInstruction"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMNodeInsertedIntoDocument",
    "interface": "MutationEvent",
    "targets": [
      "Element",
      "Attr",
      "Text",
      "Comment",
      "DocumentType",
      "ProcessingInstruction"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMNodeRemoved",
    "interface": "MutationEvent",
    "targets": [
      "Element",
      "Attr",
      "Text",
      "Comment",
      "DocumentType",
      "ProcessingInstruction"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMNodeRemovedFromDocument",
    "interface": "MutationEvent",
    "targets": [
      "Element",
      "Attr",
      "Text",
      "Comment",
      "DocumentType",
      "ProcessingInstruction"
    ],
    "bubbles": false,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "type": "DOMSubtreeModified",
    "interface": "MutationEvent",
    "targets": [
      "Window",
      "Document",
      "DocumentFragment",
      "Element",
      "Attr"
    ],
    "bubbles": true,
    "src": {
      "format": "definition table",
      "href": "https://w3c.github.io/uievents/#toc-nav"
    },
    "href": "https://w3c.github.io/uievents/#toc-nav"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/virtual-keyboard/#the-virtualkeyboard-interface"
    },
    "href": "https://w3c.github.io/virtual-keyboard/#the-virtualkeyboard-interface",
    "type": "geometrychange",
    "interface": "Event",
    "targets": [
      "VirtualKeyboard"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/visual-viewport/#additions-to-resizing-viewports"
    },
    "href": "https://wicg.github.io/visual-viewport/#additions-to-resizing-viewports",
    "type": "resize",
    "targets": [
      "VisualViewport"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "type": "scroll",
    "targets": [
      "VisualViewport"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/visual-viewport/#null"
    }
  },
  {
    "type": "finish",
    "targets": [
      "Animation"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/web-animations-1/#null"
    }
  },
  {
    "type": "cancel",
    "targets": [
      "Animation"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/web-animations-1/#null"
    }
  },
  {
    "type": "remove",
    "targets": [
      "Animation"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://drafts.csswg.org/web-animations-1/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire"
    },
    "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire",
    "type": "statechange",
    "targets": [
      "BaseAudioContext"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire%E2%91%A3"
    },
    "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire%E2%91%A3",
    "type": "complete",
    "targets": [
      "OfflineAudioContext"
    ],
    "interface": "OfflineAudioCompletionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire%E2%91%A5"
    },
    "href": "https://webaudio.github.io/web-audio-api/#ref-for-concept-event-fire%E2%91%A5",
    "type": "processorerror",
    "targets": [
      "AudioWorkletNode"
    ],
    "interface": "ErrorEvent"
  },
  {
    "type": "update",
    "targets": [
      "AudioRenderCapacity"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://webaudio.github.io/web-audio-api/#null"
    }
  },
  {
    "type": "ended",
    "targets": [
      "AudioScheduledSourceNode"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://webaudio.github.io/web-audio-api/#null"
    }
  },
  {
    "type": "audioprocess",
    "targets": [
      "ScriptProcessorNode"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://webaudio.github.io/web-audio-api/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetooth-availabilitychanged",
    "type": "availabilitychanged",
    "targets": [
      "Bluetooth"
    ],
    "interface": "ValueEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothdeviceeventhandlers-advertisementreceived",
    "type": "advertisementreceived",
    "targets": [
      "BluetoothDeviceEventHandlers"
    ],
    "interface": "BluetoothAdvertisingEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothremotegattcharacteristic-characteristicvaluechanged",
    "type": "characteristicvaluechanged",
    "targets": [
      "BluetoothRemoteGATTCharacteristic"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothdeviceeventhandlers-gattserverdisconnected",
    "type": "gattserverdisconnected",
    "targets": [
      "BluetoothDeviceEventHandlers"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A4"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothremotegattservice-serviceremoved",
    "type": "serviceremoved",
    "targets": [
      "BluetoothRemoteGATTService"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A5"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothremotegattservice-serviceadded",
    "type": "serviceadded",
    "targets": [
      "BluetoothRemoteGATTService"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webbluetoothcg.github.io/web-bluetooth/#ref-for-concept-event-fire%E2%91%A6"
    },
    "href": "https://webbluetoothcg.github.io/web-bluetooth/#eventdef-bluetoothremotegattservice-servicechanged",
    "type": "servicechanged",
    "targets": [
      "BluetoothRemoteGATTService"
    ],
    "interface": "Event",
    "bubbles": true
  },
  {
    "type": "change",
    "targets": [
      "ImageTrack"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/webcodecs/#null"
    }
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://gpuweb.github.io/gpuweb/#ref-for-concept-event-fire"
    },
    "href": "https://gpuweb.github.io/gpuweb/#ref-for-concept-event-fire",
    "type": "uncapturederror",
    "targets": [
      "GPUDevice"
    ],
    "interface": "GPUUncapturedErrorEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/webhid/#hid-interface"
    },
    "href": "https://wicg.github.io/webhid/#dfn-connect",
    "type": "connect",
    "targets": [
      "HID"
    ],
    "interface": "HIDConnectionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/webhid/#hid-interface"
    },
    "href": "https://wicg.github.io/webhid/#dfn-disconnect",
    "type": "disconnect",
    "targets": [
      "HID"
    ],
    "interface": "HIDConnectionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/webhid/#hiddevice-interface"
    },
    "href": "https://wicg.github.io/webhid/#dfn-inputreport",
    "type": "inputreport",
    "targets": [
      "HIDDevice"
    ],
    "interface": "HIDInputReportEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-midi-api/#midiaccess-interface"
    },
    "href": "https://webaudio.github.io/web-midi-api/#midiaccess-interface",
    "type": "statechange",
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-midi-api/#midiport-interface"
    },
    "href": "https://webaudio.github.io/web-midi-api/#dom-midiport-onstatechange",
    "type": "statechange",
    "targets": [
      "MIDIPort"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://webaudio.github.io/web-midi-api/#midiinput-interface"
    },
    "href": "https://webaudio.github.io/web-midi-api/#midiinput-interface",
    "type": "midimessage",
    "interface": "Event",
    "targets": [
      "MIDIInput"
    ]
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/web-nfc/#parse-ndef"
    },
    "href": "https://w3c.github.io/web-nfc/#parse-ndef",
    "type": "readingerror",
    "targets": [
      "NDEFReader"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/web-nfc/#dispatching-nfc-content"
    },
    "href": "https://w3c.github.io/web-nfc/#dispatching-nfc-content",
    "type": "reading",
    "targets": [
      "NDEFReader"
    ],
    "interface": "NDEFReadingEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/webrtc-encoded-transform/#ref-for-concept-event-fire"
    },
    "href": "https://w3c.github.io/webrtc-encoded-transform/#dom-sframetransform-onerror",
    "type": "error",
    "targets": [
      "SFrameTransform"
    ],
    "interface": "SFrameTransformErrorEvent"
  },
  {
    "type": "rtctransform",
    "targets": [
      "DedicatedWorkerGlobalScope"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://w3c.github.io/webrtc-encoded-transform/#null"
    }
  },
  {
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-ice/#event-summary"
    },
    "type": "icecandidateerror",
    "interface": "RTCPeerConnectionIceErrorEvent"
  },
  {
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-ice/#event-summary"
    },
    "type": "icecandidate",
    "targets": [
      "RTCIceTransport"
    ],
    "interface": "RTCPeerConnectionIceEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-identity/#event-isolationchange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-identity/#event-isolationchange"
    },
    "type": "isolationchange",
    "targets": [
      "MediaStreamTrack"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-open",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-open"
    },
    "type": "open",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-message",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-message"
    },
    "type": "message",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "MessageEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-bufferedamountlow",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-bufferedamountlow"
    },
    "type": "bufferedamountlow",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-error",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-error"
    },
    "type": "error",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "RTCErrorEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-closing",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-closing"
    },
    "type": "closing",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-close",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel-close"
    },
    "type": "close",
    "targets": [
      "RTCDataChannel"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-track",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-track"
    },
    "type": "track",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "RTCTrackEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-negotiation",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-negotiation"
    },
    "type": "negotiationneeded",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-signalingstatechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-signalingstatechange"
    },
    "type": "signalingstatechange",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-iceconnectionstatechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-iceconnectionstatechange"
    },
    "type": "iceconnectionstatechange",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icegatheringstatechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icegatheringstatechange"
    },
    "type": "icegatheringstatechange",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icecandidate",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icecandidate"
    },
    "type": "icecandidate",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "RTCPeerConnectionIceEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-connectionstatechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-connectionstatechange"
    },
    "type": "connectionstatechange",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icecandidateerror",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icecandidateerror"
    },
    "type": "icecandidateerror",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "RTCPeerConnectionIceErrorEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-datachannel",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-datachannel"
    },
    "type": "datachannel",
    "targets": [
      "RTCPeerConnection"
    ],
    "interface": "RTCDataChannelEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-RTCDTMFSender-tonechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-RTCDTMFSender-tonechange"
    },
    "type": "tonechange",
    "targets": [
      "RTCDTMFSender"
    ],
    "interface": "RTCDTMFToneChangeEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-statechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-statechange"
    },
    "type": "statechange",
    "targets": [
      "RTCIceTransport"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-gatheringstatechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-gatheringstatechange"
    },
    "type": "gatheringstatechange",
    "targets": [
      "RTCIceTransport"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-selectedcandidatepairchange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-icetransport-selectedcandidatepairchange"
    },
    "type": "selectedcandidatepairchange",
    "targets": [
      "RTCIceTransport"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-dtlstransport-statechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-dtlstransport-statechange"
    },
    "type": "statechange",
    "targets": [
      "RTCDtlsTransport"
    ],
    "interface": "Event"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#dfn-error",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#dfn-error"
    },
    "type": "error",
    "targets": [
      "RTCDtlsTransport"
    ],
    "interface": "RTCErrorEvent"
  },
  {
    "href": "https://w3c.github.io/webrtc-pc/#event-sctptransport-statechange",
    "src": {
      "format": "summary table",
      "href": "https://w3c.github.io/webrtc-pc/#event-sctptransport-statechange"
    },
    "type": "statechange",
    "targets": [
      "RTCSctpTransport"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://w3c.github.io/webrtc-pc/#closing-procedure"
    },
    "href": "https://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate-closing",
    "type": "closing",
    "targets": [
      "RTCDataChannelState"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire"
    },
    "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire",
    "type": "open",
    "targets": [
      "WebSocket"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A0",
    "type": "message",
    "targets": [
      "WebSocket"
    ],
    "interface": "MessageEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A1",
    "type": "error",
    "targets": [
      "WebSocket"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://websockets.spec.whatwg.org/#ref-for-concept-event-fire%E2%91%A2",
    "type": "close",
    "targets": [
      "WebSocket"
    ],
    "interface": "CloseEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/webusb/#ref-for-concept-event-fire"
    },
    "href": "https://wicg.github.io/webusb/#ref-for-concept-event-fire",
    "type": "connect",
    "targets": [
      "USB"
    ],
    "interface": "USBConnectionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/webusb/#ref-for-concept-event-fire%E2%91%A0"
    },
    "href": "https://wicg.github.io/webusb/#ref-for-concept-event-fire%E2%91%A0",
    "type": "disconnect",
    "targets": [
      "USB"
    ],
    "interface": "USBConnectionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/dom-overlays/#ref-for-concept-event-fire"
    },
    "href": "https://immersive-web.github.io/dom-overlays/#beforexrselect",
    "type": "beforexrselect",
    "targets": [
      "GlobalEventHandlers"
    ],
    "interface": "XRSessionEvent",
    "bubbles": true
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire"
    },
    "href": "https://immersive-web.github.io/webxr/#eventdef-xrsystem-devicechange",
    "type": "devicechange",
    "targets": [
      "XRSystem"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A1"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A1",
    "type": "visibilitychange",
    "targets": [
      "XRSession"
    ],
    "interface": "XRSessionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A2"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A2",
    "type": "end",
    "targets": [
      "XRSession"
    ],
    "interface": "XRSessionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A3"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A3",
    "type": "inputsourceschange",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourcesChangeEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A4"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A4",
    "type": "selectstart",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A5"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A5",
    "type": "selectend",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A6"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A6",
    "type": "select",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A7"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A7",
    "type": "squeezestart",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A8"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A8",
    "type": "squeezeend",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%93%AA"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%93%AA",
    "type": "squeeze",
    "targets": [
      "XRSession"
    ],
    "interface": "XRInputSourceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%91%A0"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%91%A0",
    "type": "frameratechange",
    "targets": [
      "XRSession"
    ],
    "interface": "XRSessionEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%91%A1"
    },
    "href": "https://immersive-web.github.io/webxr/#ref-for-concept-event-fire%E2%91%A0%E2%91%A1",
    "type": "reset",
    "targets": [
      "XRReferenceSpace"
    ],
    "interface": "XRReferenceSpaceEvent"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/layers/#ref-for-concept-event-fire"
    },
    "href": "https://immersive-web.github.io/layers/#eventdef-xrlayer-redraw",
    "type": "redraw",
    "targets": [
      "XRLayer"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://immersive-web.github.io/lighting-estimation/#ref-for-concept-event-fire"
    },
    "href": "https://immersive-web.github.io/lighting-estimation/#ref-for-concept-event-fire",
    "type": "reflectionchange",
    "targets": [
      "XRLightProbe"
    ],
    "interface": "Event"
  },
  {
    "src": {
      "format": "fire an event phrasing",
      "href": "https://wicg.github.io/window-controls-overlay/#resize-the-title-bar-area"
    },
    "href": "https://wicg.github.io/window-controls-overlay/#resize-the-title-bar-area",
    "type": "ongeometrychange",
    "interface": "Event"
  },
  {
    "type": "geometrychange",
    "targets": [
      "WindowControlsOverlay"
    ],
    "interface": null,
    "src": {
      "format": "IDL eventHandler",
      "href": "https://wicg.github.io/window-controls-overlay/#null"
    }
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-readystatechange",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-readystatechange"
    },
    "type": "readystatechange",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "Event"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-loadstart",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-loadstart"
    },
    "type": "loadstart",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-progress",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-progress"
    },
    "type": "progress",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-abort",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-abort"
    },
    "type": "abort",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-error",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-error"
    },
    "type": "error",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-load",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-load"
    },
    "type": "load",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-timeout",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-timeout"
    },
    "type": "timeout",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  },
  {
    "href": "https://xhr.spec.whatwg.org/#event-xhr-loadend",
    "src": {
      "format": "summary table",
      "href": "https://xhr.spec.whatwg.org/#event-xhr-loadend"
    },
    "type": "loadend",
    "targets": [
      "XMLHttpRequest"
    ],
    "interface": "ProgressEvent"
  }
]

There are 35 specs from which it extracts only partial information, mostly in terms of the interface of the event object. A few of those have pending pull requests to make them compatible with this script, and I have to-be-published suggestions on how to close that gap for the remaining ones.

I think the right approach to deal with that burndown list is through the publication of the 1st package in webref; I thus propose we start reviewing and eventually merging this pull request.

@dontcallmedom dontcallmedom linked an issue Jun 10, 2022 that may be closed by this pull request
@dontcallmedom dontcallmedom requested a review from tidoust June 10, 2022 17:18
Copy link
Member

@tidoust tidoust left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments inline.

Also, should interface default to Event instead of null since that is the default constructor in the fire an event algorithm?

@dontcallmedom
Copy link
Member Author

Also, should interface default to Event instead of null since that is the default constructor in the fire an event algorithm?

It is supposed to default to Event when it detects the "fire an event" phrase; null is used when that phrase isn't detected for the said event. In practice, null is precisely the signal that further work is needed on the given spec.

Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
tidoust and others added 3 commits June 16, 2022 09:15
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
Copy link
Member

@tidoust tidoust left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's great and that seems solid enough to merge as-is to create events extracts in Webref.

From a Webref perspective, we will need to adjust tools if we want to create patches for events extracts as well.

@tidoust tidoust merged commit a6c9888 into main Jun 16, 2022
@tidoust tidoust deleted the extract-events branch June 16, 2022 13:34
tidoust added a commit that referenced this pull request Jun 16, 2022
New feature:
- New events module to extract info on event types and their associated event
interfaces (#952)
tidoust added a commit that referenced this pull request Jun 16, 2022
New feature:
- New events module to extract info on event types and their associated event
interfaces (#952)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Extract data on events
2 participants