Simon Wülker
517f99e067
Start implementing the URLPattern
API ( #36144 )
...
* Start working on a basic URLPattern implementation
This is API part of Interop 2025, so we should definitely support it!
This change implements the basic workflow for parsing
and compiling URL patterns. Parts of it are stubbed out and will be
implemented later.
For now the API is preference-gated behind "dom_urlpattern_enabled".
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Preference-gate the URLPattern API
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Fix full wildcard value (Should be ".*" not "*")
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-27 10:39:57 +00:00
Josh Matthews
1df1ba58d6
script: Expose new methods for obtaining a global that require a realm. ( #36116 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-26 23:27:25 +00:00
Lukas Lihotzki
251eeb2c2d
Add Path2D
( #35783 )
...
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
2025-03-26 12:12:44 +00:00
Arya Nair
80fc64d063
feat: add CanGc argument in get_dictionary_property ( #36156 )
...
* feat: add CanGc argument in get_dictionary_property
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
* feat: add CanGc argument in get_dictionary_property
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
---------
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
2025-03-25 19:24:47 +00:00
Josh Matthews
f717f6b848
script: Support converting JS values to Rc<Promise> with FromJSValConvertible. ( #36097 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-25 14:08:45 +00:00
Simon Wülker
19d5f5f06f
script: Implement Element::GetHTML
and ShadowRoot::GetHTML
( #36106 )
...
* Serialize html fragments without going through html5ever
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement ShadowRoot::GetHtml / Element::GetHtml
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Propagate CanGc annotations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-23 19:04:23 +00:00
Josh Matthews
4814cbdb1f
script: Ensure promises are considered DOM interfaces when generating bindings. ( #36107 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-23 17:53:57 +00:00
Greg Morenz
4ecf0909e5
Use explicit reborrows with mozjs::MutableHandle ( #35892 )
...
* Explicitly reborrow MutableHandles
Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
* Unify jsapi_wrappers
Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
* Format mozjs changes
Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
* Update mozjs version
Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
---------
Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
2025-03-23 01:23:52 +00:00
Arya Nair
cb56ac8561
feat: add can_gc argument to to_frozen_array ( #36043 )
...
* feat: add can_gc argument to to_frozen_array
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
* fix: linting issues
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
* feat: add can_gc in binding.conf
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
* fix: linting issues
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
---------
Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
2025-03-19 18:03:09 +00:00
batu_hoang
db74179dc8
Make Element::attach_shadow() and ShadowRoot closer to spec ( #36024 )
...
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-03-19 17:58:16 +00:00
Oriol Brufau
4acaa08cf5
Cleanup Stylo dependencies ( #36046 )
...
Now that Stylo considers `servo` as the default feature, Servo doesn't
need to specify `features = ["servo"]`.
Also use the same crate names as Stylo, rather than renaming them with
`package`.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-19 08:53:26 +00:00
Simon Wülker
6be7612d16
script: Implement Range::getClientRects
and Range::getBoundingClientRect
( #35993 )
...
* Add doc comments to boundary point
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Allow querying content box of text fragments
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement Range::getBoundingClientRect
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-19 08:33:11 +00:00
Stephen Muss
07e06f5635
Support align attribute on HTMLParagraphElement interface ( #36054 )
...
Signed-off-by: Stephen Muss <stephenmuss@gmail.com>
2025-03-19 07:57:43 +00:00
Gregory Terzian
8d39d7706a
Streams: Implement stream pipe-to ( #35650 )
...
* implement PipeTo, stub pipe_to
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* define a data structure to manage the piping
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement propagation of errors forward and backward, stub shutdown and shutdown with action
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* adding more fine-grain shutdown variants to state
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement progagate closing backward and forward
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement shutdown and actions
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement reading and writing
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement shutdown continuation and finalize
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix typo
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add can_gc arguments
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* implement writer close with error propagation
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* move and document wait on pending write
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* more docs
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* write pending reads as part of shutdown
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* turn on piping test suite
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add comment about using Rust api
improve comment on result
add comment on backpressure
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix multiple propagations
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix writing of chunks
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix error and close propagation
update test expectations
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix warnings
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* improve docs
remove redundant logic in pending writes
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix clippy
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* remove unnecessary expansion of visibility of enqueued value to_jsval
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* remove unnecessary conditional accessing of streams when propagating states
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* improve docs
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* remove unused result var
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix typo
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* remove redundant logic dealing with closed sources with pending writes
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add doc links for shutdown actions
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add comments on the need to return early when shutting down before checking close and error states
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fmt
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* Update test expectations
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix can_gc
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
---------
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Co-authored-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-03-18 11:13:09 +00:00
batu_hoang
28c8c1df0c
Implement declarative shadow dom ( #34964 )
...
* Implement declarative shadow dom
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Set allowDeclarativeShadowRoots false for innerHTML
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Enable allowDeclarativeShadowRoots for Document
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Expose HTMLTemplateElement to js
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Implemenet setHTMLUnsafe and add more test cases
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Declarative shadow dom: minor updates and expected test result update
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Shadow-dom: add more test cases
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Update comments according to the spec
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
* Bump html5ever version
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
---------
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-03-17 09:41:34 +00:00
Josh Matthews
c8d8787959
Move CustomTraceable to script_bindings. ( #35988 )
...
* script: Move CustomTraceable to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Move record binding support to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Address clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-16 14:08:22 +00:00
Josh Matthews
d35da38a2f
Cleanups for future script crate split ( #35987 )
...
* script: Avoid direct impl blocks on generated dicts and unions.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Remove references to codegen-specific import module.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix tidy.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-16 13:46:14 +00:00
Gregory Terzian
3ecd1c0699
Use stream in file read operation ( #35969 )
...
* use read_all_bytes in file read operation
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add docs
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
---------
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-03-16 10:37:07 +00:00
Simon Wülker
f93d65b496
script: Implement HTMLOptgroupElement::Label ( #35970 )
...
* Implement HTMLOptgroupElement::Label
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-14 20:33:07 +00:00
Simon Wülker
bb0d08432e
Migrate to the 2024 edition ( #35755 )
...
* Migrate to 2024 edition
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Allow unsafe_op_in_unsafe_fn lint
This lint warns by default in the 2024
edition, but is *way* too noisy for servo.
We might enable it in the future, but not now.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Compile using the 2024 edition
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-13 10:28:11 +00:00
Oriol Brufau
7594dc6991
Remove legacy layout (layout 2013) ( #35943 )
...
We were already not compiling it and not running tests on it by default.
So it's simpler to just completely remove it.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-13 07:26:57 +00:00
Simon Wülker
8034216d06
Implement ElementInternals::shadowRoot
( #35923 )
...
* Implement ElementInternals::shadowRoot
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-12 00:09:32 +00:00
Nico Burns
f527217bdc
Use new stylo crate renames ( #35898 )
...
Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-03-12 00:02:12 +00:00
Taym Haddadi
a5cf04c479
script: implement ReadableByteStreamController ( #35410 )
...
* script: implement ReadableByteStreamController
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* implement can_copy_data_block_bytes and copy_data_block_bytes
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Remove BufferSource::Default
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* implement StartAlgorithmFulfillmentHandler, StartAlgorithmRejectionHandler, PullAlgorithmFulfillmentHandler, PullAlgorithmRejectionHandler for ReadableByteStreamController
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* implement perform_pull_into
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix build
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix build
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Remove RefCell from PullIntoDescriptor and QueueEntry
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Remove commented code
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* add perform_cancel_steps, perform_release_steps and perform_pull_steps
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix crown
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* unskip readable-byte-streams
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix CRASH
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix more CRASHS
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix more crashes
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix bad-buffers-and-views.any.js test
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Update test expectations
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix BorrowMutError crashes
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix view_byte_length test
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix non-transferable-buffers test
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Pass contexts as much as possible by reference
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Make respond_internal Fallible
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix crwon
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* fix process pull into descriptors using queue logic and resulting double-borrow
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* Fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* FIx more crashes
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix timeout tests
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix all tests
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Remove all error! logs
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Remove #[allow(unsafe_code)]
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix lint
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix tidy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* Fix test expectation
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
---------
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-03-10 19:43:04 +00:00
shanehandley
7fc5dc5c69
script: use passive event listener option on AddEventListenerOptions ( #35877 )
...
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2025-03-10 09:44:16 +00:00
Simon Wülker
1b6b21cb85
Implement nonce
attribute to pass more CSP checks ( #35876 )
...
* Add doc comments to RequestBuilder fields/methods
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement Request::cryptographic_nonce_metadata
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement HTMLOrSVGElement::nonce
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request cryptographic nonce metadata for link elements
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request's cryptographic nonce when fetching scripts
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Forward request nonce to rust-content-security-policy
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-10 09:25:34 +00:00
webbeef
139774e6b5
Add an about:memory page ( #35728 )
...
This patch exposes a servo internal DOM API that is only made available to about:
pages on the navigator object to request memory reports. The about:memory page itself is
loaded like other html resources (eg. bad cert, net error) and makes use of this new API.
On the implementation side, notable changes:
- components/script/routed_promise.rs abstracts the setup used to fulfill a promise when the
work needs to be routed through the constellation. The goal is to migrate other similar
promise APIs in followup (eg. dom/webgpu/gpu.rs, bluetooth.rs).
- a new message is added to request a report from the memory reporter, and the memory reporter
creates a json representation of the set of memory reports.
- the post-processing of memory reports is done in Javascript in the about-memory.html page,
providing the same results as the current Rust code that outputs to stdout. We can decide
later if we want to remove the current output.
Signed-off-by: webbeef <me@webbeef.org>
2025-03-07 05:25:08 +00:00
Yerkebulan Tulibergenov
16aeeaec85
refactor: add CanGc as argument to methods in CSSKeyframeRule, CSSMediaRule, CSSRule ( #35796 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-03-05 08:39:11 +00:00
Josh Matthews
5650fa2e79
script: Mark callback methods with CanGc. ( #35753 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-03 12:17:25 +00:00
Simon Wülker
3d320fa96a
Update rustfmt to the 2024 style edition ( #35764 )
...
* Use 2024 style edition
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Reformat all code
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-03 11:26:53 +00:00
Yerkebulan Tulibergenov
67bd557f30
refactor: add CanGc as argument to methods in CSSGroupingRule, CSSKeyframesRule, Crypto ( #35743 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-03-02 07:16:06 +00:00
Yerkebulan Tulibergenov
ce977636f6
refactor: add CanGc as argument to methods in CanvasRenderingContext2D and OffscreenCanvasRenderingContext2D ( #35732 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-03-01 14:45:37 +00:00
Yerkebulan Tulibergenov
4f8d816385
refactor: add CanGc as argument to OffscreenCanvas methods ( #35731 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-03-01 08:05:22 +00:00
Yerkebulan Tulibergenov
e91d44d023
refactor: add CanGc as argument to BaseAudioContext::{Destination, Listener} ( #35729 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-03-01 03:20:21 +00:00
Kousuke Takaki
8a3f62933b
script: Implement Blob::bytes()
( #35151 )
...
* script: Implement Blob.bytes()
Signed-off-by: yoseio <98276492+yoseio@users.noreply.github.com>
* improve read_all_bytes
Signed-off-by: yoseio <98276492+yoseio@users.noreply.github.com>
* fix read_all_bytes
Signed-off-by: yoseio <98276492+yoseio@users.noreply.github.com>
* fix bug
Signed-off-by: yoseio <98276492+yoseio@users.noreply.github.com>
* something went wrong
Signed-off-by: Kousuke Takaki <98276492+yoseio@users.noreply.github.com>
* fix read loop
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* add use of can_gc to promise code following rebase
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* fix rooting of fulfillment handler
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* Update test expectations
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
* use dom for reader in read loop fulfillment handler
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* use the global of the reader in read loop fulfillment handler
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
* remove FAIl expectations for blob methods in detached iframe
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
---------
Signed-off-by: yoseio <98276492+yoseio@users.noreply.github.com>
Signed-off-by: Kousuke Takaki <98276492+yoseio@users.noreply.github.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-02-27 19:25:27 +00:00
Mukilan Thiyagarajan
3cf4ef61ef
bindings: Fix support for interface members in setlike/maplike. ( #35651 )
...
#30151 added support for setlike and maplike declarations in WebIDL, but
the tests only validated if generator code worked with 'DOMString' as
the key type. The support for interface type as members was broken as
`DomRoot<T>` didn't satify the bounds `Eq` and `Hash` needed by the
`Key` and `Value` types in `Setlike` and `Maplike` traits respectively.
In addition, the splitting of bindings into a separate 'script_bindings'
crate had also broken support for this in CodegenRust.py, as the types
used within the definition of `DomTraits` were not referenced using
`Self::`.
This patch fixes the WebIDL code generator by doing a simple string
replacement on the return value of `getRetvalDeclarationForType` so that
the proper `Self::` is used. I'm not not sure if there is a better
approach to this as it seems most logic in CodegenRust.py uses the `D::`
prefix that is expected to be available only when compiling `script`
crate and not `script_bindings`.
This patch also adds the missing trait implementations for `DomRoot` and
ensures that the generated code works for both members of primitive and
interface types by splitting the existing `TestBinding{Map,Set}Like`
interfaces into `TestBinding{Map,Set}LikeWith{Primitive,Interface}`
tests.
Fixes #35542 .
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-27 07:04:11 +00:00
Yerkebulan Tulibergenov
31b2f81bc6
refactor: add CanGc as argument to exception_to_promise ( #35647 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-25 13:21:59 +00:00
Yerkebulan Tulibergenov
38b71087bd
refactor: add CanGc as argument to Promise::reject_error ( #35646 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-25 10:12:58 +00:00
Yerkebulan Tulibergenov
31199076ec
refactor: add CanGc as argument to Promise::reject_native ( #35640 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-25 03:58:36 +00:00
Yerkebulan Tulibergenov
47f6c50dd9
refactor: add CanGc as argument to Promise::reject ( #35622 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-23 22:32:13 +00:00
Samson
1d7bb1337d
Unify (Offscreen)CanvasRenderingContext2d
and make PaintRenderingContext2D
standalone ( #35619 )
...
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-02-23 16:31:06 +00:00
Josh Matthews
381e168877
Move more bindings types to script_bindings ( #35620 )
...
* Move weak references implementation to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move maplike/setlike definitions to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move base error types to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-23 14:25:46 +00:00
Yerkebulan Tulibergenov
0383ba9a5b
refactor: add CanGc as argument to Promise::resolve ( #35616 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-23 12:12:21 +00:00
Yerkebulan Tulibergenov
dd13342f18
refactor: add CanGc as argument to DataBlock::view ( #35610 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-23 00:35:44 +00:00
webbeef
b45f05c705
Remove the traversal for DomRoot values when collection memory usage ( #35607 )
...
Signed-off-by: webbeef <me@webbeef.org>
2025-02-22 20:54:57 +00:00
Yerkebulan Tulibergenov
d72c9f3501
refactor: add CanGc as argument to CountQueuingStrategy::GetSize ( #35595 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-22 06:16:50 +00:00
Yerkebulan Tulibergenov
a741c48dc2
refactor: add CanGc as argument to ByteLengthQueuingStrategy::GetSize ( #35594 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-22 06:16:37 +00:00
Yerkebulan Tulibergenov
245a39c07e
refactor: add CanGc as argument to create_buffer_source ( #35597 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-22 05:42:55 +00:00
Josh Matthews
35f21e426b
Move more bindings code to script_bindings ( #35578 )
...
* Move JSContext wrapper to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move webidl constant bindings to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move CanGc to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move Dom<T> and Root<T> types to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Extra docs for new traits.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-22 04:46:56 +00:00
Josh Matthews
a433b20259
script: Make callbacks generic over DOM interfaces. ( #35459 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-21 12:17:11 +00:00