Event System – Missing Event Types + Correct Dispatch #121
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#121
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap
Wir haben 12 Event-Typen implementiert. Der HTML Spec definiert ~50+. Fuer korrekte Seiten-Renderings brauchen wir alle Event-Typen (als noop-Shims erlaubt, aber die Interfaces muessen existieren).
Fehlende Event-Typen (nach Wichtigkeit)
Hohe Prioritaet (werden von Frameworks/Seiten genutzt)
DragEvent- Drag & Drop (React DnD, Interact.js)ClipboardEvent- Clipboard API (Copy/Paste in Editoren)TouchEvent- Touch Events (React, Vue, Mobile Detection)BeforeUnloadEvent- beforeunload (Sites die 'Are you sure?' zeigen)HashChangeEvent- hashchange (SPA Routing)PopStateEvent- popstate (History API - existiert als Interface aber wird nie automatisch gefeuert)StorageEvent- storage (Cross-Tab Storage Sync)PageTransitionEvent- pageshow/pagehide (bfcache)SecurityPolicyViolationEvent- CSP Violations (existiert in src/security/, muss auf Window registriert)Mittlere Prioritaet
AnimationEvent- animationstart/animationend/animationiterationTransitionEvent- transitionstart/transitionend/transitionrun/transitioncancelCompositionEvent- compositionstart/compositionupdate/compositionend (IME Input)MessageEvent- postMessage / WebSocket / Worker Messages (teilweise vorhanden)ErrorEvent- error events auf window/document/elementPromiseRejectionEvent- unhandledrejection / rejectionhandledGamepadEvent- Gamepad APIDeviceMotionEvent/DeviceOrientationEvent- Device APIsSensorEvent- Generic Sensor APINiedrige Prioritaet
FormDataEvent(existiert)SubmitEvent(existiert)ToggleEvent- toggle on details elementCloseEvent- close event auf dialogSlotChangeEvent- slotchange (Shadow DOM)TrackEvent- HTML TrackRTCDataChannelEvent/RTCPeerConnectionIceEvent- WebRTCAutomatisches Dispatchen
Folgende Events muessen automatisch gefeuert werden (nicht nur als Konstruktor existieren):
loadauf window/document/element (script, img, link)DOMContentLoadedauf documenterrorauf window/document/element (bei script/img/link Fehlern)hashchangeauf window (bei location.hash Aenderungen)popstateauf window (bei history.pushState/replaceState)storage(ueber OriginLocalStorage - nur im gleichen Tab, spec: same-origin andere Tabs)beforeunload/unloadauf windowscrollauf document/element (wenn scrollTop gesetzt wird - noop erlaubt)resizeauf window (wenn viewport sich aendert)focus/blurauf element (bei .focus()/.blur()) - aktuell noopsubmitauf form (bei .submit() oder button click)resetauf form (bei .reset())Labels
feature, html-spec
Architektur