Karl Seguin
89f215c3ee
Merge pull request #1332 from lightpanda-io/getElementById
...
getElementById duplicate-id handling
2026-01-07 17:47:19 +08:00
Karl Seguin
408d3f0a53
Track owning documents for nodes which aren't the default document
...
Track this in a lookup on the page, to avoid having to store a pointer for
_every_ node, given that most nodes _are_ owned by the document.
This helps us ensure nodes can be properly adopted.
2026-01-07 17:46:09 +08:00
Karl Seguin
a010684ce9
Add deprecated Node constants
...
Remove toString where the [new] auto-generated toString symbol works.
Reject node mutation on attributes.
2026-01-07 17:36:26 +08:00
Karl Seguin
a4a98da4a4
add attribute.removeNamedItem
2026-01-07 16:51:12 +08:00
Karl Seguin
6f30d459d5
getElementById duplicate-id handling
...
If 2 elements have the same id then,
1 - The first in document-order has to be retrieved. We were ordering by
insertion order.
2 - When the element is removed, then document.getElementById should return the
next element with that id in document-order. We were returning null
2026-01-07 15:49:17 +08:00
Muki Kiboigo
622ca3121f
add case insensitivity support to selector parsing
2026-01-06 23:31:34 -08:00
Muki Kiboigo
71f27a55e1
fix duping of string for getElementsByClassName
2026-01-06 23:07:32 -08:00
Karl Seguin
c92903aae5
Merge pull request #1328 from lightpanda-io/set_outerHTML
...
add outerHTML setter
2026-01-07 15:04:14 +08:00
Karl Seguin
518e0aa07a
add outerHTML setter
2026-01-07 14:49:30 +08:00
Nikolay Govorov
b908b0bf8a
Used css tokenizer for parse html attributes
2026-01-07 05:46:18 +00:00
Muki Kiboigo
f9fa5be324
count utf8 codepoints for CData getLength
2026-01-06 21:29:15 -08:00
Karl Seguin
8ec6bb1577
Merge pull request #1322 from lightpanda-io/input_clone
...
Add 'clone' callback to build, implement for Input
2026-01-07 13:08:20 +08:00
Karl Seguin
70f8c53703
add deprecated properties to Event and improve initEvent
2026-01-07 12:05:11 +08:00
Karl Seguin
6d5a984413
Merge pull request #1323 from lightpanda-io/document_title
...
Improve document.title getter
2026-01-07 10:42:03 +08:00
Karl Seguin
5fa8fbc6f8
Merge pull request #1324 from lightpanda-io/elements_by_name_nodelist
...
getElementsByName now returns a NodeList rather than an HTMLCollection
2026-01-07 10:41:54 +08:00
Karl Seguin
6af9d12f71
support element.relList and improve TreeWalker
2026-01-07 10:34:47 +08:00
Karl Seguin
a54e1db784
getElementsByName now returns a NodeList rather than an HTMLCollection
...
Auto-implement a toString accessor for any type that has a JsApi.Meta.name
2026-01-07 09:17:51 +08:00
Karl Seguin
2319b0fda5
Improve document.title getter
...
Collapse whitespace and find the first title, no matter where it is.
2026-01-07 07:52:20 +08:00
Karl Seguin
6864a22721
fix datetime-local input type
2026-01-07 07:39:42 +08:00
Karl Seguin
c9d0e2097d
add input indeterminate accessor
2026-01-07 07:35:24 +08:00
Karl Seguin
d8f7eb3f24
Add 'clone' callback to build, implement for Input
2026-01-07 07:29:43 +08:00
Karl Seguin
90ee919f45
Merge pull request #1321 from lightpanda-io/event-init
...
set _time_stamp in the Event factory
2026-01-07 07:14:34 +08:00
Karl Seguin
ddc6431720
Merge pull request #1316 from lightpanda-io/reject_non_new_constructor
...
Reject constructors called as function (i.e. without 'new')
2026-01-07 07:14:13 +08:00
Pierre Tachoire
2ea6557fb7
add initEvent into Factory
...
and remove default value for Event._time_stamp
2026-01-06 15:30:13 +01:00
Karl Seguin
15358c1928
Improve Range, adding missing functions and more validation
2026-01-06 20:27:16 +08:00
Pierre Tachoire
54fa3bc054
remove children from previous parent
2026-01-06 11:52:47 +01:00
Pierre Tachoire
68f5fa738c
remove dead code Page._appendNode
2026-01-06 11:49:13 +01:00
Karl Seguin
1acc0b0dc8
Merge pull request #1310 from lightpanda-io/zigdom-named-access
...
Named Access on the Window Object
2026-01-06 18:07:43 +08:00
Karl Seguin
645ec79fce
access page from context, document call_depth usage
2026-01-06 18:04:17 +08:00
Karl Seguin
97e897e80e
Merge pull request #1318 from lightpanda-io/node-self-replace
...
handle Node self replacement in insertBefore
2026-01-06 17:23:12 +08:00
Karl Seguin
6f72eeae65
Merge pull request #1319 from lightpanda-io/script_list_cleanup
...
Handle immediate call to Script.errorCallback
2026-01-06 17:22:14 +08:00
Karl Seguin
a845b2e35e
Handle immediate call to Script.errorCallback
...
It's possible for Script.errorCallback to be called as part of the call to
`client.request`. This happens because we eagerly pump the libcurl message loop
to get the request going ASAP. For very obvious failures (e.g. an invalid URL)
this means that the error callback can be called from `client.request`.
Previously, we were only adding the script to its list _after_ the call to
`client.request`, but the error handler tries to remove the script from the list
.
This commit changes the order so that the script is first added to the list
and then the request is made.
2026-01-06 17:03:27 +08:00
Pierre Tachoire
b164ffeb95
handle Node self replacement in insertBefore
2026-01-06 09:49:08 +01:00
Pierre Tachoire
7f543ac7c8
pass down opts to zigValueToJs
2026-01-06 09:35:38 +01:00
Karl Seguin
a1bf92c07f
Reject constructors called as function (i.e. without 'new')
...
Previously, `MessageEvent('')` would have been allowed, but invalid. This caused
problems as the receiver was the window. All such calls are now rejected.
Depends on https://github.com/lightpanda-io/zig-v8-fork/pull/131
2026-01-06 16:03:37 +08:00
Pierre Tachoire
f81a9b54a7
fix Node.replaceChild when of new child equals old
2026-01-05 21:48:59 +01:00
Muki Kiboigo
05da040ce1
increment call_depth on callWithThis
2026-01-05 09:27:17 -08:00
Muki Kiboigo
b911051842
add named access shadowing test
2026-01-05 09:08:57 -08:00
Muki Kiboigo
a67f46b550
add named access on the Window object
2026-01-05 08:41:42 -08:00
Muki Kiboigo
a8b4e8c1bc
fix handleclick for hash href on anchor
2026-01-04 20:28:34 -08:00
Karl Seguin
7b0e256408
copy history test from legacy
2026-01-05 10:12:41 +08:00
Karl Seguin
5a974f0d77
Merge pull request #1282 from lightpanda-io/nikneym/performance-observer
...
Support `PerformanceObserver` API
2026-01-05 07:52:58 +08:00
Halil Durak
f7fe8d00fb
add a PerformanceObserver test
2026-01-04 18:09:45 +03:00
Halil Durak
946b6d8226
PerformanceObserver changes
2026-01-04 18:09:28 +03:00
Karl Seguin
25366f0e47
Support multiple blocking scripts waiting for the same response
...
I thought we eliminated this from being possible, but I guess not. It seems to
be related to multiple async scripts direct or indirectly (or a specific
combination?) waiting for the same synchronous script. The first async script
to block, grabs it and deletes it, making it invalid for the next.
This puts back a counter on blocking scripts which I took out when I thought
this could no longer happen.
2026-01-02 20:57:29 +08:00
Karl Seguin
562e8e8d87
ignore empty pseudo_element in getComputedStyle
2026-01-02 16:47:04 +08:00
Karl Seguin
11ff9ed366
update log src for fetch (xhr -> fetch)
2025-12-30 17:08:27 +08:00
Halil Durak
9a9f2ab94b
rm ring_buffer.zig
2025-12-30 11:46:58 +03:00
Karl Seguin
27048fb06d
Merge pull request #1305 from lightpanda-io/nikneym/observer-lists
...
prefer `DoublyLinkedList` for storing `MutationObserver`s in `Page`
2025-12-30 16:43:40 +08:00
Halil Durak
e103ee1ffa
prefer low priority queue to execute performance observer
2025-12-30 11:43:24 +03:00