Commit Graph
3094 Commits
Author SHA1 Message Date
Karl Seguin bd3da38fc8 add native custom elements 2025-11-19 22:50:52 +08:00
Karl Seguin 991c2c18de More MutationObserver options, Performance API 2025-11-18 20:46:17 +08:00
Karl Seguin 54a2e7650a MutationObserver and IntersectionObserver 2025-11-18 11:54:14 +08:00
Karl Seguin 5819cfb438 Merge pull request #1211 from lightpanda-io/zigdom-nix
`zigdom` building on NixOS
2025-11-17 23:30:48 +08:00
Muki Kiboigo 38ca58d71e use llvm on tests 2025-11-17 07:25:44 -08:00
Muki Kiboigo c1c0edab9f fix curl dependency issue with zlib 2025-11-17 07:22:40 -08:00
Muki Kiboigo 8670938397 add rust support into nix flake 2025-11-17 07:22:37 -08:00
Karl Seguin 83b552780e enhance Anchor API 2025-11-17 23:19:32 +08:00
Karl Seguin b8cc74f377 allow filtering legacy tests, fix location tests, improve URLSearchParams 2025-11-17 21:41:24 +08:00
Karl Seguin c3ba39c80f add reparent_children html5ever callback 2025-11-16 07:53:55 +08:00
Karl Seguin ff3a9c51f3 add remove_from_parent html5ever callback 2025-11-16 07:40:07 +08:00
Karl Seguin 19dfea7762 Work on HTMLTemplateElement
Implement Html5ever get_template_contents and add_attrs_if_missing callbacks
2025-11-15 22:04:39 +08:00
Karl Seguin c311828217 add add_attrs_if_missing callback 2025-11-14 23:33:31 +08:00
Karl Seguin 5ae74d6924 improve form element support 2025-11-14 17:56:09 +08:00
Karl Seguin 04f719c33c wpt runner 2025-11-14 16:14:12 +08:00
Karl Seguin 7ab88e9a71 add legacy tests, optimize empty types 2025-11-14 15:55:02 +08:00
Karl Seguin 1164da5e7a copyright notices 2025-11-14 10:52:43 +08:00
Karl Seguin 6742646e89 DOMParser 2025-11-13 20:57:17 +08:00
Karl Seguin 6cf01631ad Document.activeElement, focus and blur 2025-11-13 20:37:00 +08:00
Karl Seguin 7a5cade510 remove 16 bytes from Element 2025-11-13 20:30:02 +08:00
Karl Seguin c5a1d8a8bd Element.checkVisibility and Element.checkVisibility 2025-11-13 20:18:34 +08:00
Karl Seguin 32bad5f8bb Element.matches, Element.hasAttributes and DOMStringMap (Element.dataset) 2025-11-13 20:09:38 +08:00
Karl Seguin 5ec5647395 Merge ScriptManager/Module loading changes
Get tests passing.
2025-11-13 17:21:08 +08:00
Karl Seguin 4e9f7c729d Intl and IFrame skeleton 2025-11-03 08:15:15 +08:00
Karl Seguin 4c0437b3fb History placeholder 2025-11-02 11:49:35 +08:00
Karl Seguin de71b97b1f optional listener, or object listener 2025-11-02 00:17:45 +08:00
Karl Seguin 21d008c6c2 class_index => class_id 2025-11-01 20:37:45 +08:00
Karl Seguin 9138a3c881 MediaQueryLis dummy 2025-11-01 20:35:06 +08:00
Karl Seguin 8b3f36c1f8 url/location host getter 2025-11-01 20:25:41 +08:00
Karl Seguin d397d75aca DOMImplementation and DocumentType skeletons 2025-11-01 14:02:18 +08:00
Karl Seguin 618b28a292 add FormData and base KeyValueList 2025-10-31 22:25:19 +08:00
Karl Seguin c966211481 HTMLAllCollection 2025-10-30 11:30:06 +08:00
Karl Seguin 5ae1190ddd HTMLDocument 2025-10-29 22:23:05 +08:00
Karl Seguin fb9cce747d Scripts now properly block rendering
Re-enabled CDP tests

Fixed more tests
2025-10-29 16:37:11 +08:00
Karl Seguin 1a04ebce35 fix Node.contains 2025-10-28 19:12:47 +08:00
Karl Seguin 59bbfc4e06 fix casing 2025-10-28 19:07:58 +08:00
Karl Seguin d3973172e8 re-enable minimum viable CDP server 2025-10-28 18:56:03 +08:00
Karl Seguin cdd31353c5 get fetch campire working 2025-10-28 11:24:29 +08:00
Karl Seguin b047cb6dc1 remove libdom 2025-10-27 22:14:59 +08:00
Karl Seguin c52dce1c48 Merge pull request #1154 from lightpanda-io/module_evalute_error_handling
Handle (log) module evaluation errors directly
2025-10-16 19:26:14 +08:00
Karl Seguin 0b4a1b4a1b Handle (log) module evaluation errors directly
Some module evluation errors aren't handled by the normal TryCatch mechanism.
Instead, the exception needs to be retrieved directly from the module.
2025-10-16 15:10:30 +08:00
Karl Seguin cc0c1bcf3a Merge pull request #1153 from lightpanda-io/normalized_specifier_lifetime
Fix a potential segfault on log message for failing to load module
2025-10-16 15:01:50 +08:00
Karl Seguin 55746f1a1d log the normalized specifier now that we've extended its lifetime to the page.arena 2025-10-16 14:34:07 +08:00
Karl Seguin 7bb8581a95 Fix referrer in log (was printing using the src instead :/) 2025-10-16 14:31:09 +08:00
Karl Seguin 521c0f8460 Fix a potential segfault on log message for failing to load module
Using the `call_arena` here is unsafe in the case of a failure. It's possible
for the call_arena to be reset during module processing, making the log crash.

The issue is that the lifetime of a URL is often conditional. If the stitched
URL has already been seen (i.e. is in the module_cache), then it can be short-
lived. EXCEPT, URL.stitch might require an allocation..and then you start to
think, well, if URL.stitch is going to allocate anyways...If we stitch with
the `page.arena`, and end up not needing a long lifetime, we've wasted memory.
If we stitch with `page.call_arena` and end up needing a long lifetime, we need
to dupe.

It's a bit messy, and I'd like to take a stab at improving it after:
https://github.com/lightpanda-io/browser/pull/1127.

I'm thinking that we need a URL intern pool. HashMap with a composite key of
base + path -> resolved. Then all URLs are resolved using the page.arena, but
we don't have any duplicates, so it isn't wasteful.
2025-10-16 14:15:38 +08:00
Karl Seguin 4bfe3b6fe1 Merge pull request #1151 from lightpanda-io/unicode_nbsp_encoding
Encode UTF8 non breaking space (194, 160) as   - same as chrome
2025-10-15 18:28:45 +08:00
Karl Seguin b610aa1c0c Encode UTF8 non breakingspace (194, 160) as   - same as chrome 2025-10-15 17:34:23 +08:00
Karl Seguin 73da04bea2 Merge pull request #1150 from lightpanda-io/isdone-async
isDone must be run after script's deinit
2025-10-15 15:58:42 +08:00
Karl Seguin 18c851e53f Merge pull request #1149 from lightpanda-io/iterators_and_walker_fix
Improve correctness of NodeIterator and Treewalker
2025-10-15 15:58:12 +08:00
Pierre Tachoire 41f4533bc0 isDone must be run after script's deinit 2025-10-15 09:50:17 +02:00