Commit Graph
2648 Commits
Author SHA1 Message Date
ldm0 08c366892d style(renderer): format navigation commit callback 2026-10-11 18:06:47 +08:00
ldm0 2967c328f0 fix(input): preserve touch contacts across CDP updates 2026-10-11 18:06:47 +08:00
ldm0 6f46e2b489 fix(input): retarget removed slotted nodes to native ancestors 2026-10-11 18:06:47 +08:00
ldm0 9298e42ea4 fix(tests): adapt upstream form targets to planned navigation 2026-10-11 18:06:47 +08:00
ldm0 97af6639dc fix(input): pair chorded mouse presses by button 2026-10-11 18:06:47 +08:00
ldm0 cc9acc4571 fix(input): reconcile hover at pointer capture transitions 2026-10-11 18:06:47 +08:00
ldm0 07266b3105 fix(input): separate pointer and compatibility mouse hover 2026-10-11 18:06:47 +08:00
ldm0 847dcd919c fix(input): preserve ancestor paths for hover boundaries 2026-10-11 18:06:47 +08:00
ldm0 231d519d04 fix(window): keep current event state in private storage 2026-10-11 18:06:47 +08:00
ldm0 61a25c23a0 fix(input): preserve target realms for mouse boundaries and wheel
Construct native mouse boundary and wheel events in the target document
context, preserving saved intrinsic constructors under author global changes.
Share the target-aware mouse construction path with compatibility events and
initialize native wheel.button to zero without accepting a changed button.

Cover root, child, nested and shadow input targets, cross-document transitions,
modifiers and poisoned constructors in 80 in-process input scenarios.
2026-10-11 18:06:47 +08:00
ldm0 2a6d1ef176 fix(input): retarget compatibility mouse events after pointer mutations
Capture the original pointer propagation path and resolve the mapped mouse
event against surviving nodes in the same document after listener mutations.
Construct mapped mouse events in the target document realm and retire drag
startup normally when the document root was removed.

Cover removal, shadow/slot ancestry, reparenting, detached adoption, native
relation lookup, capture, and child-realm identity across 408 input scenarios.
2026-10-11 18:06:47 +08:00
ldm0 8bd5dbbca3 fix(input): target pointer clicks using capture and common ancestors
Resolve click and auxclick against the current DOM after release callbacks.
Keep the pointerup capture target after capture is released, and resolve
auxclick after a contextmenu handler can change the tree.

Cover root and child realms, mouse/pen, primary and auxiliary buttons,
DOM mutation, receiver getter poisoning and label default activation.
2026-10-11 18:06:47 +08:00
ldm0 193d9e3076 fix(dnd): initialize native link and image URL payloads
Resolve the source element URL in its owner document before dragstart.
Preserve the snapshot across protected events and drop, while allowing
listeners to override or clear it. Reuse the native URL attribute parser.

Cover mouse and pen drags across parent/child realms, base URLs, Unicode,
attribute mutation, and author-defined getter poisoning.
2026-10-11 18:06:47 +08:00
ldm0 0ba3331b52 chore: reconcile main rebase test coverage and formatting 2026-10-11 18:06:47 +08:00
ldm0 bd6f8d7ea4 fix(dnd): enforce drag data store modes and event lifetime 2026-10-11 18:06:46 +08:00
ldm0 9fc7ae3981 fix(wpt): adapt bindings to main runtime modules
Keep Worker request routing, inherited CSP and strict timers in their new module owners after the main rebase. Resolve Document.open entry documents through WindowEnvironmentSettings. Correct popup Window load target assertions while preserving callback realm retirement checks.
2026-10-11 18:06:46 +08:00
ldm0 3c2f7a41c7 fix(input): checkpoint explicit drag cancellation 2026-10-11 18:06:46 +08:00
ldm0 3134a81c5f fix(input): implement native drag lifecycle 2026-10-11 18:06:46 +08:00
ldm0 c13df36f6a fix(input): normalize native movement and boundary events 2026-10-11 18:06:46 +08:00
ldm0 b53343bbc0 fix(input): validate drag origins across shadow trees
Require the draggable rendered source to contain the origin in the shadow-including DOM tree. Slot distribution alone cannot make a light child a descendant of a shadow draggable element.

Resolve moved descendants against the surviving published ancestry so mousedown DOM mutations retain the correct drag origin. Add positive open and closed shadow cases and preserve the corrected Chromium control.
2026-10-11 18:06:46 +08:00
ldm0 d1a3ed257b fix(input): validate and consume native drag initiation
Resolve draggable sources at the press position using the published rendered ancestry and the native HTML draggable state. Track initiation independently from click and frame capture, enforce the platform movement threshold, and retire canceled or ineligible attempts.

Resolve a pending drag in its starting Document before forwarding held movement into child frames. Preserve native pointer capture and frame navigation ownership.

Add mouse and pen regressions for source selection, DOM mutations, native getters, cancellation, thresholds and button combinations.
2026-10-11 18:06:46 +08:00
ldm0 a4b01e8ef6 fix(input): retain child frame routing while mouse buttons are held 2026-10-11 18:06:46 +08:00
ldm0 711d018f50 fix(pointerevents): preserve active document identity 2026-10-11 18:06:46 +08:00
ldm0 859a03087f fix(events): validate legacy mouse initializer arguments 2026-10-11 18:06:46 +08:00
ldm0 5ea2eae342 fix(pointerevents): separate pointer activity from button state 2026-10-11 18:06:46 +08:00
ldm0 ca0e94df18 fix(wpt): retain held mouse button during native drag actions 2026-10-11 18:06:46 +08:00
ldm0 63e55a2e2a chore(wpt): retain main release status snapshots after rebase 2026-10-11 18:06:46 +08:00
ldm0 986546f2c1 fix(events): convert InputEvent dictionaries and retain native target ranges 2026-10-11 18:06:46 +08:00
ldm0 aaa52c6f9e fix(events): convert inherited mouse dictionaries and validate native getters 2026-10-11 18:06:46 +08:00
ldm0 4accfd74ec fix(csp): convert violation event dictionaries and validate receivers 2026-10-11 18:06:46 +08:00
ldm0 33a4805e7a fix(events): retain and retarget interaction event sources 2026-10-11 18:06:46 +08:00
ldm0 376fc2d6fb fix(events): convert and brand ErrorEvent payloads 2026-10-11 18:06:46 +08:00
ldm0 fc191afd91 fix(navigator): validate protocol handler registrations 2026-10-11 18:06:46 +08:00
ldm0 789b82102b fix(dom): isolate reflected attributes by namespace 2026-10-11 18:06:46 +08:00
ldm0 a575b78e7b fix(forms): serialize FormData from native control state 2026-10-11 18:06:46 +08:00
ldm0 0fd232adeb fix(forms): apply native input value modes and type transitions 2026-10-11 18:06:46 +08:00
ldm0 be56c47d55 fix(webidl): reconcile Media and CSP registries after rebase 2026-10-11 18:06:46 +08:00
ldm0 2bb935c669 fix(forms): preserve UTF-16 option and select values 2026-10-11 18:06:46 +08:00
ldm0 3b839de90e fix(forms): validate native FormData arguments across document realms 2026-10-11 18:06:46 +08:00
ldm0 a046607537 fix(webidl): reconcile interface registries after main rebase 2026-10-11 18:06:46 +08:00
ldm0 d54ced12cf test: reconcile WPT module registrations after rebase 2026-10-11 18:06:46 +08:00
ldm0 9b72eaf0f1 fix(forms): preserve native UTF-16 control values 2026-10-11 18:06:46 +08:00
ldm0 eab9cac776 fix(dom): preserve UTF-16 in reflected string attributes 2026-10-11 18:06:46 +08:00
ldm0 dfab1f43de fix(forms): correct native input events across document trees
Use DOM connectedness for checkbox/radio activation, make native input events composed, and reuse DOM radio groups for keyboard navigation with form and disabled-fieldset rules. Cover windowless documents, shadow boundaries, listener mutations, and native select/radio/file inputs.
2026-10-11 18:06:46 +08:00
ldm0 73c13e8dd9 fix(events): unify native auxiliary pointer event construction 2026-10-11 18:06:46 +08:00
ldm0 20716811b6 fix(events): construct native click with pointer event defaults 2026-10-11 18:06:46 +08:00
ldm0 342618d1ab fix(forms): create native lifecycle events in target realms 2026-10-11 18:06:46 +08:00
ldm0 95c45c0604 fix(events): create click and control events in target realms 2026-10-11 18:06:46 +08:00
ldm0 4ddcd90128 fix(events): isolate native DOM event initialization 2026-10-11 18:06:46 +08:00
ldm0 3af847d7a2 fix(events): retain listener worlds for foreign Window targets 2026-10-11 18:06:46 +08:00