WaterWhisperer
158bf97e30
script/dom/: Change some #[allow]s to #[expect]s ( #40454 )
...
Removes some unneeded lints, especially `#[allow(unsafe_code)]`.
Testing: Refactor
Part of: #40383
Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com >
2025-11-06 11:06:03 +00:00
Josh Matthews
636e7211e0
script: Measure heap usage of various ignored fields ( #38791 )
...
These changes allow using MallocSizeOf/`#[conditional_malloc_size_of]`
on WebIDL callback values, and then fix a grab bag of places in the
script crate that previously ignored those values. There are also some
commits removing ignored fields that involved Arc/Rc that are not WebIDL
callbacks, since they are now easier to support with the
`#[conditional_malloc_size_of]` attribute.
Testing: Manual testing on about:memory for servo.org.
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
2025-08-20 08:43:58 +00:00
webbeef
3225d19907
cargo: Bump rustc to 1.89 ( #36818 )
...
Update Rustc to 1.89.
Reviewable by commit.
Leftover work:
- #37330
- #38777
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com >
2025-08-19 11:07:53 +00:00
Martin Robinson
931025c16e
script: Wrap unsafe code in components/script/bindings in unsafe {} ( #38544 )
...
Clippy now checks to see if unsafe code is wrapped in unsafe blocks. We
have this lint disabled for `script` and `script_bindings` because of a
lot of legacy code that doesn't do this. The lint is useful though as it
makes it more obvious what code is unsafe. This is an incremental step
toward being able to turn this lint on for `script`.
This has the benefit of silencing warnings that show up in some IDEs
that use rust-analyzer.
Testing: This should not change behavior at all and is thus covered by
existing tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com >
2025-08-08 17:18:30 +00:00
Taym Haddadi
04ec710e60
Add AsHandleValue trait to Heap<Value> and make Heap values rooted ( #38024 )
...
Encapsulates the unsafe conversion from Heap<Value> to HandleValue<'a>,
and reducing repetitive unsafe code at call.
fix #37258
2025-08-04 16:42:53 +00:00
Taym Haddadi
e5347eceac
WebIDL Fix ImageData constructor to take a Uint8ClampedArray instead of js_object ( #31398 )
...
<!-- Please describe your changes on the following line: -->
Fix ImageData constructor to take a Uint8ClampedArray instead of
js_object
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #31320
<!-- Either: -->
- [x] These changes do not require tests because there is not behavior
change.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->
<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->
---------
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
2025-05-09 11:05:56 +00:00
Oriol Brufau
9c29acd6d8
Add serde and wgsl features to wgpu-core ( #36411 )
...
This fixes errors when running `./mach clippy -r -p layout_2020` and
`./mach clippy -r -p script`.
Also addressing an unused import warning when running the latter.
Testing: These changes do not require tests because it's just a compile
error fix.
Signed-off-by: Oriol Brufau <obrufau@igalia.com >
2025-04-09 10:09:13 +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
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
Taym Haddadi
2ccb818a60
script: refactor create_buffer_source_with_constructor ( #35952 )
...
Signed-off-by: Taym <haddadi.taym@gmail.com >
2025-03-13 10:28:24 +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
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
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
Yerkebulan Tulibergenov
89d7f874b2
refactor: add CanGc as argument to create_buffer_source_with_length ( #35596 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com >
Co-authored-by: Josh Matthews <josh@joshmatthews.net >
2025-02-22 06:17:24 +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
webbeef
827012fc08
suppress build warnings when disabling webgpu and webxr ( #35379 )
...
Signed-off-by: webbeef <me@webbeef.org >
2025-02-08 08:16:21 +00:00
Taym Haddadi
9943e97726
Script: implement ReadableStreamBYOBReader::Read ( #35040 )
...
* Script: implement ReadableStreamBYOBReader::Read
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* fix ReadRequest::close_steps
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* implement viewed_buffer_array_byte_length and byte_length
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* fix clippy
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* Correct BufferSource implemntation
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* Correct detach_buffer implemantation
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* fix JS_IsArrayBufferViewObject usage
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* Reduce BufferSource to two variants ArrayBuffer and ArrayBufferView
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
* Add more doc and use promise.reject_error
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
---------
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com >
2025-01-27 15:52:54 +00:00
Josh Matthews
c94d909a86
script: Limit public exports. ( #34915 )
...
* script: Restrict reexport visibility of DOM types.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* script: Mass pub->pub(crate) conversion.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* script: Hide existing dead code warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* Fix clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* Fix unit tests.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* Fix clippy.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
* More formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
2025-01-10 08:19:19 +00:00
Samson
7fce24f9d5
webgpu: Sync GPUBuffer ( #33154 )
...
* More helpers on `Promise`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Sync `GPUBuffer`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Set some good expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Some bad expect
also on firefox
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Extract DataBlock, DataView impl from GPUBuffer
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Fix size check to work on 32bit platforms
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
2024-08-27 07:54:55 +00:00
Samson
d132a0273d
Update mozjs (SpiderMonkey) to 128.0 ( #32769 )
...
* Update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Fix changed readTransfer callback
https://bugzilla.mozilla.org/show_bug.cgi?id=1842713
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Use NewExternalArrayBuffer from glue
d33454be74
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Fix columnorigin and filename being in latin1
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* fixup newexternalarray
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Float16 (this might require more work for codegen support)
https://bugzilla.mozilla.org/show_bug.cgi?id=1833647
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* js.strict is removed
https://bugzilla.mozilla.org/show_bug.cgi?id=1621603
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* asm options are now somewhere else
https://hg.mozilla.org/mozilla-central/rev/26045c88e3972957087d535e7f259e08857bd2a2
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Comment out offthread compilation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Set NDK to 26
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Fix 1-origin handling
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Expect `FinalizationRegistry` interface
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Good expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* more expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Add `WeakRef` to interfaces expectation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* mozjs upgrade: fixes for Android
Android NDK's layout has changed in r26 and 'lib64' no longer exists
under `toolchain/llvm/prebuilt/linux-x86_64`. The libraries that used to
be it are now present in `lib` folder itself.
This patch updates the build configuration to use the `lib` folder
instead when configuring the LIBCLANG_PATH environment variable.
This patch also updates to a newer mozjs version that includes fixes for
linker errors faced on Android (see #32769 ).
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com >
* Patch libz-sys & update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* update NDK version in README
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com >
* Use servo/mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
* Update mozjs again
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com >
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com >
2024-07-29 07:20:15 +00:00
Martin Robinson
26624a109f
clippy: Fix a bunch of warnings in script ( #32680 )
...
This is just a portion of the errors that are remaining to be fixed.
2024-07-04 11:40:23 +00:00
Azhar Ismagulova
37cf4cf207
clippy: Fix several warnings in components/script/dom/bindings ( #31945 )
...
* clippy: fix several warnings in components/script/dom/bindings
* fix: allow non_canonical_clone_impl in components/script/dom/bindings
* chore: removed unnecessary curly braces
* fix: removed vtable_address_comparisons allow
2024-04-03 17:19:53 +00:00
Rosemary Ajayi
bb7778774d
clippy:Fix clippy problems in components/scripts/binding ( #31893 )
...
* constants have by default a static lifetime
* constants have by default a static lifetime
* unneeded unit expression
* unneeded unit expression
* Box of default value
* casting raw pointers
* casting raw pointers
2024-03-27 12:32:04 +00:00
Oluwatobi Sofela
1ab38fcd3f
clippy: Fix default_constructed_unit_structs warnings in components ( #31827 )
...
* clippy: Fix default constructed unit structs warnings
* refactor: Allow default constructed unit structs to avoid gfx build error
2024-03-24 17:24:34 +00:00
Oluwatobi Sofela
bae77671f8
clippy: Fix unnecessary_cast warnings in components/script ( #31823 )
...
* clippy: Fix unnecessary cast warnings
* clippy: Replace redundant field names with their shorthand alternatives
* clippy: Delete struct pattern dereferencings
2024-03-22 13:48:03 +00:00
RustAndMetal
f6a975fc58
clippy: Fix several warnings ( #31710 )
...
Signed-off-by: RustAndMetal <111676747+RustAndMetal@users.noreply.github.com >
2024-03-18 08:33:43 +00:00
Martin Robinson
98bd306816
mach: Do not use unstable rust for rustfmt ( #31441 )
...
We can use stable rust if we pass the unstable configuration as
command-line arguments to rustfmt itself. This prevents needing to
install an unstable rust toolchain.
The one downside here is that it doesn't seem that "ignore" is
supported so we have to start formatting the files in "third_party."
This shouldn't be a huge issue because we don't plan to check much more
rust code into those directories.
2024-02-28 13:53:04 +00:00
Taym Haddadi
a9a7e8a5cf
Rename buffer_source_type to buffer_source ( #31426 )
...
* Rename buffer_source_type to buffer_source
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
* Code format
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
---------
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
2024-02-26 14:21:46 +00:00
Taym Haddadi
d0b663800f
WedIDL: bring dom/bindings/typedarray further in line with spec ( #31375 )
...
* WedIDL: bring dom/bindings/typedarray further in line with spec
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
* Rename HeapBufferSourceTypes to HeapBufferSource
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
* fmt code
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
---------
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com >
2024-02-25 12:13:17 +00:00