Karl Seguin
c3555bfcab
Merge pull request #1596 from lightpanda-io/animation-improve
...
Improve Animation support: async update from idle => running => finished
2026-02-19 18:01:17 +08:00
Karl Seguin
0383db8788
Merge pull request #1595 from egrs/wpt-value-fixes
...
fix input value defaults, color normalization, and event propagation resets
2026-02-19 17:56:18 +08:00
Karl Seguin
d7af122c18
Merge pull request #1564 from lightpanda-io/nikneym/create-image-data
...
Add `createImageData` and `putImageData` to `CanvasRenderingContext2D`
2026-02-19 17:56:02 +08:00
Pierre Tachoire
e15b8145b1
create Animation in the pool arena
2026-02-19 10:50:12 +01:00
Pierre Tachoire
d75f5f9231
don't play animation when startTime is set to null
2026-02-19 10:41:07 +01:00
Pierre Tachoire
9939797792
fix comment
2026-02-19 10:36:29 +01:00
Pierre Tachoire
5248b9fc6f
Update src/browser/webapi/animation/Animation.zig
...
Co-authored-by: Karl Seguin <karlseguin@users.noreply.github.com >
2026-02-19 10:35:46 +01:00
Pierre Tachoire
e15295bdac
Merge pull request #1560 from arrufat/dump-markdown
...
Add support for dumping output to markdown
2026-02-19 10:32:57 +01:00
Karl Seguin
4e1f96e09c
Merge pull request #1597 from lightpanda-io/CSSStyleProperties_setNamed
...
add CSSStyleProperties array set support
2026-02-19 17:30:54 +08:00
Halil Durak
96cfdebced
ImageData#constructor: check bounds of dimensions + don't overflow size
...
Also adds a related `too-large` test.
2026-02-19 12:09:24 +03:00
Halil Durak
944f34b833
createImageData: remove unnecessary unreachable
2026-02-19 12:09:24 +03:00
Halil Durak
1023b2ca9c
test blocks need at least a single assertion
2026-02-19 12:09:24 +03:00
Halil Durak
16318bb9f6
add tests
2026-02-19 12:09:24 +03:00
Halil Durak
350586335d
add createImageData and putImageData to CanvasReneringContext2D
2026-02-19 12:09:23 +03:00
egrs
9d809499a5
fix input value defaults, color normalization, and event propagation resets
...
- checkbox/radio getValue() returns "on" when no value attribute set
- color input sanitization normalizes hex to lowercase per spec
- initial input value is sanitized per input type during element creation
- initEvent resets both stop_propagation and stop_immediate_propagation
- dispatchNode resets propagation flags after dispatch per DOM spec step 12
2026-02-19 09:53:13 +01:00
Pierre Tachoire
fdd52c17d7
add CSSStyleProperties array set support
2026-02-19 09:52:27 +01:00
Pierre Tachoire
1461d029db
Improve Animation support: async update from idle => running => finished
2026-02-19 09:50:16 +01:00
Karl Seguin
07cefd71df
Merge pull request #1571 from lightpanda-io/nikneym/persisted-typed-arrays
...
Persisted typed arrays
2026-02-19 15:46:10 +08:00
Halil Durak
abab10b2cc
move createTypedArray to Local
2026-02-19 10:03:04 +03:00
Karl Seguin
5fd95788f9
Merge pull request #1585 from egrs/focusin-focusout-events
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
dispatch focusin/focusout events with relatedTarget
2026-02-19 08:15:54 +08:00
Karl Seguin
bd29f168e0
Merge pull request #1590 from egrs/range-tostring-fix
...
fix Range.toString() for cross-container and element ranges
2026-02-19 08:08:25 +08:00
Karl Seguin
caf7cb07cd
Remove duplicate window test
...
Re-enable some commented out input tests
2026-02-19 07:47:00 +08:00
Karl Seguin
ad5df53ee7
Merge pull request #1583 from egrs/window-htmlelement-input-props
...
add window stubs, HTMLElement hidden/tabIndex, input attribute reflections
2026-02-19 07:44:36 +08:00
Halil Durak
95920bf207
ArrayBufferRef(...).Global: consistent, persisted typed arrays
2026-02-18 21:43:19 +03:00
egrs
6700166841
fix Range.toString() for cross-container and element ranges
...
implement proper tree-walking in writeTextContent to handle all cases:
same-element containers, cross-container ranges, and comment exclusion.
uncomment ~800 lines of Range tests and add 5 new toString tests.
2026-02-18 16:25:34 +01:00
Karl Seguin
b8196cd06e
Merge pull request #1588 from egrs/click-to-focus
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
click on focusable elements calls focus() with events
2026-02-18 23:12:21 +08:00
egrs
c28afbf193
address review feedback: move stubs test, inline bridge functions, catch unreachable
2026-02-18 15:40:59 +01:00
egrs
b2c030140c
click on focusable elements calls focus() with events
...
handleClick() was setting _active_element directly, bypassing
Element.focus() — so no blur/focus events fired on click.
Now calls focus() for input, button, select, textarea, anchor.
2026-02-18 15:08:40 +01:00
Adrià Arrufat
92f131bbe4
Inline writeIndentation helper
2026-02-18 23:02:10 +09:00
Pierre Tachoire
deda53a842
Merge pull request #1353 from lightpanda-io/wp/mrdimidium/multicontext
...
Use thread per connection
2026-02-18 14:59:15 +01:00
egrs
377fe5bc40
add comment on _active_element ordering constraint
2026-02-18 14:50:20 +01:00
Adrià Arrufat
d264ff2801
Use attributes for checkbox rendering
2026-02-18 22:48:46 +09:00
egrs
a21bb6b02d
dispatch focusin/focusout events with relatedTarget
...
focus() and blur() now dispatch all four spec-required FocusEvents:
blur (no bubble) → focusout (bubbles) → focus (no bubble) → focusin (bubbles)
Each event carries the correct relatedTarget: the element gaining focus
for blur/focusout, and the element losing focus for focus/focusin.
All four events are composed per W3C spec.
Relates to #1161
2026-02-18 14:31:11 +01:00
egrs
07a87dfba7
fix tabIndex default for interactive elements per spec
...
interactive elements (input, button, a, select, textarea, iframe)
default to 0 when tabindex attribute is absent; others default to -1.
also add TODO for hidden "until-found" tristate.
2026-02-18 13:13:12 +01:00
egrs
9e4db89521
add window stubs, HTMLElement hidden/tabIndex, input attribute reflections
...
- Window: alert/confirm/prompt (no-op stubs), devicePixelRatio
- HTMLElement: hidden (boolean), tabIndex (integer)
- Input: placeholder, min, max, step, multiple, autocomplete
2026-02-18 13:04:12 +01:00
Karl Seguin
536d394e41
Merge pull request #1579 from egrs/style-element-sheet
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
return CSSStyleSheet from HTMLStyleElement.sheet
2026-02-18 19:59:38 +08:00
Karl Seguin
c0580c7ad0
Merge pull request #1581 from egrs/element-attribute-reflections
...
add attribute reflections for 8 HTML element types
2026-02-18 19:50:23 +08:00
egrs
488e72ef4e
wire up CSSStyleSheet.ownerNode to the style element
2026-02-18 12:41:31 +01:00
Karl Seguin
01c224d301
Merge pull request #1580 from egrs/image-complete
...
add HTMLImageElement.complete property
2026-02-18 19:02:07 +08:00
egrs
eaf95a85a8
fix OL.type default and TableCell span clamping per spec
...
OL.type returns "1" (not "") when attribute absent.
TableCell.colSpan clamps to 1-1000, rowSpan to 0-65534.
2026-02-18 12:00:44 +01:00
Pierre Tachoire
ba1d084660
Merge pull request #1570 from egrs/media-play-pause-events
...
Dispatch play, pause, and emptied events from HTMLMediaElement
2026-02-18 11:46:28 +01:00
egrs
2e64c461c3
add attribute reflections for 8 HTML element types
...
Wire up missing IDL properties for HTMLTimeElement (dateTime),
HTMLLIElement (value), HTMLOListElement (start, reversed, type),
HTMLOptGroupElement (disabled, label), HTMLQuoteElement (cite),
HTMLTableCellElement (colSpan, rowSpan), HTMLLabelElement (htmlFor),
and HTMLFieldSetElement (disabled, name).
2026-02-18 11:36:58 +01:00
Adrià Arrufat
ce5dad722f
Make --dump format optional and improve markdown rendering
2026-02-18 19:33:32 +09:00
egrs
7675feca91
revert _playing flag: playing event fires on every resume
...
Tested in Chrome (headless, --autoplay-policy=no-user-gesture-required):
playing fires on every pause-to-play transition, not just the first
time. The _playing flag was incorrectly suppressing this. Removed it
and updated tests to match verified Chrome behavior.
2026-02-18 10:49:27 +01:00
egrs
c66d74e135
clarify comment: images are in broken state, not fully fetched
2026-02-18 10:42:01 +01:00
egrs
54d6eed740
fix type check: case-insensitive, accept empty string, clear on disconnect
...
Per spec, valid type values are absent, empty string, or a
case-insensitive match for "text/css". Also clear cached sheet
when the element is disconnected or type becomes invalid.
2026-02-18 10:40:42 +01:00
egrs
830eb74725
track playing state: only dispatch playing on first start
...
Per review: playing event should only fire on first start, not
on every resume from pause. Add _playing field, reset on load().
2026-02-18 10:22:49 +01:00
Nikolay Govorov
4f21d8d7a8
Implement multi-cdp architecture
2026-02-18 09:22:31 +00:00
Nikolay Govorov
424deb8faf
Run cdp client on dedicated thread
2026-02-18 09:22:29 +00:00
Nikolay Govorov
b4a40f1257
Move IO loops from Server to cdp Client
2026-02-18 09:22:27 +00:00