Karl Seguin
d3f0041e93
Merge pull request #1607 from arrufat/markdown-anchors
...
markdown: handle block-level and standalone anchors
2026-02-20 08:59:41 +08:00
Adrià Arrufat
68d5edca60
markdown: use node.is() for type checking and casting
2026-02-20 08:14:15 +09:00
Karl Seguin
1b369489df
Merge pull request #1602 from lightpanda-io/css-delcaration
...
parse style attribute on CSSStyleDeclaration init
2026-02-20 06:57:58 +08:00
Karl Seguin
600ddfbf2d
Merge pull request #1587 from lightpanda-io/label_control
...
Add HTMLLabelElement.control getter
2026-02-20 06:56:37 +08:00
Karl Seguin
415d4dde2a
Merge pull request #1606 from lightpanda-io/form_selectors
...
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
More pseudo-seletors
2026-02-19 23:49:35 +08:00
Pierre Tachoire
1867245ed3
Merge pull request #1598 from egrs/input-value-sanitization
...
input value sanitization per WHATWG spec
2026-02-19 16:48:56 +01:00
egrs
bdd3c274ed
address review: arena param + pure zig tests
...
- sanitizeDatetimeLocal takes arena: Allocator instead of *Page
- add unit tests for isValidFloatingPoint, isValidDate, isValidMonth,
isValidWeek, isValidTime, sanitizeDatetimeLocal, parseAllDigits,
daysInMonth, maxWeeksInYear
2026-02-19 16:22:13 +01:00
Adrià Arrufat
423034d5c4
markdown: handle block-level and standalone anchors in
...
Adds logic to detect if an anchor contains block descendants or is a
standalone element within a layout block. These are now rendered with
appropriate spacing and link formatting. Also adds `.main` to the list
of block elements.
2026-02-20 00:11:38 +09:00
Pierre Tachoire
19fd2b12c0
Update src/browser/webapi/css/CSSStyleDeclaration.zig
...
Co-authored-by: Karl Seguin <karlseguin@users.noreply.github.com >
2026-02-19 15:29:36 +01:00
Karl Seguin
21cd17873f
More pseudo-seletors
...
:invalid, :valid and :indeterminate implementation
Fix Element.closest with :scope pseudo-selector.
2026-02-19 22:28:14 +08:00
Karl Seguin
938cd5e136
Merge pull request #1582 from lightpanda-io/cdp_per_page_frame_id
...
Rework CDP frameIds (and loaderIds and requestIds and interceptorIds)
2026-02-19 22:16:52 +08:00
Karl Seguin
e8025ad4b3
Merge pull request #1592 from lightpanda-io/element_render_property_optimization
...
Reduce cost of various Element render-related properties.
2026-02-19 22:16:17 +08:00
Karl Seguin
07fa141aaa
Merge pull request #1593 from lightpanda-io/focus_noop_disconnected
...
make element.focus() noop when element is disconnected
2026-02-19 22:16:04 +08:00
Pierre Tachoire
18bdf1e8b3
Merge pull request #1594 from lightpanda-io/fix_flaky_scroll_test
...
Fix flaky window.scrollTo test
2026-02-19 14:58:28 +01:00
Pierre Tachoire
5be977005e
avoid useless priority parsing in CSSStyleDeclaration
2026-02-19 14:49:49 +01:00
Karl Seguin
282b64278e
Merge pull request #1601 from lightpanda-io/animation-cancel
...
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
implement Animation.cancel()
2026-02-19 21:37:08 +08:00
Pierre Tachoire
7263d484de
Update src/browser/webapi/css/CSSStyleDeclaration.zig
...
Co-authored-by: Karl Seguin <karlseguin@users.noreply.github.com >
2026-02-19 14:36:02 +01:00
Pierre Tachoire
de3f5011bc
parse style attribute on CSSStyleDeclaration init
...
To reflect the current style attribute, CSSStyleDeclaration now parses
it on init.
Moreover, this PR synchronizes the element's style attribute with the
dynamic changes.
2026-02-19 12:26:04 +01:00
Pierre Tachoire
de9faffa33
implement Animation.cancel()
2026-02-19 12:12:59 +01:00
egrs
dd19e880c5
merge main, resolve comment conflicts in Input.zig
2026-02-19 10:16:34 +00:00
egrs
b5e8fa007c
input value sanitization per WHATWG spec
...
- number: validate against spec grammar (reject "+1", "1.", "Infinity",
"NaN", overflow values like "2e308")
- date: validate YYYY-MM-DD with day-of-month and leap year checks
- time: validate HH:MM[:SS[.sss]]
- month: validate YYYY-MM
- week: validate YYYY-Www with ISO 8601 week count
- datetime-local: validate and normalize (T separator, shortest time)
- color: normalize hex to lowercase per spec
- checkbox/radio: return "on" as default value
- sanitize initial value from HTML attributes in created()
2026-02-19 11:02:03 +01:00
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
v0.2.4
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
e37d4a6756
Fix flaky window.scrollTo test
...
The test is sensitive to any delay in running the schedule task exactly when
it's scheduled. Testing this feature isn't worth making the build flaky.
2026-02-19 14:15:19 +08:00
Karl Seguin
e2a1ce623c
Rework CDP frameIds (and loaderIds and requestIds and interceptorIds)
...
Our BrowsingContext currently supports 1 target. So we have a per-BC target_id.
Previously, our target had 1 "frame" - our page. So we often treated the
targetId as the frameId. But to work with frames, we need page-specific
frameIds and loaderIds.
This tries to clean up our ids (a little). frameIds are now ids derived from
a new incrementing page.id. This page.id has to be passed around (via http
Requests and through notifications) in order to properly generate messages with
a frameId.
2026-02-19 13:01:41 +08:00
Karl Seguin
0ff243266c
make element.focus() noop when element is disconnected
2026-02-19 10:35:11 +08:00
Karl Seguin
645da2e307
Reduce cost of various Element render-related properties.
...
Added a get-only `getStyle` which doesn't lazily create a new style if none
exists. This can be used in the (frequently used) `checkVisibility` to avoid
an allocation. Added a specialized getBoundingClientRectForVisible which
skips the checkVisibility check, since a few callers have already done their
own visibility check.
DOMRect is now off the heap. This avoids _a lot_ of allocation when a DOMRect
is only needed for internal calculation, e.g. in Document.elementFromPoint.
2026-02-19 09:45:56 +08: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
dc97e33cd6
Merge pull request #1591 from lightpanda-io/input_and_window_test
...
Remove duplicate window test
2026-02-19 07:59:31 +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