Fix the native-bluetooth feature on macOS builds. Enable the
native-bluetooth by default.
Testing: Added --features native-bluetooth to GH actions so the build
will fail if something is wrong. Don't know why it was not enabled
previously, please let me know if it is ok to leave the feature enabled.
Fixes: https://github.com/servo/servo/issues/37454
As for the numerous such warnings
```
warning: unexpected `cfg` condition value: `cargo-clippy`
--> third_party/blurmac/src/framework.rs:480:43
|
480 | let uuidstring: *mut Object = msg_send![cbuuid, UUIDString];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: no expected values for `feature`
= note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
= help: try referring to `sel_impl` crate for guidance on how handle this unexpected cfg
= help: the macro `sel_impl` may come from an old version of the `objc` crate, try updating your dependency with `cargo update -p objc`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
= note: this warning originates in the macro `sel_impl` which comes from the expansion of the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
```
that macOS builds generates (mentioned
[here](https://github.com/servo/servo/pull/37439)) I found this:
https://github.com/SSheldon/rust-objc/issues/125. Also, in general the
`objc` crate seems to be stale and people are forking it, so maybe I
should start a Zulip conversation about migrating to something like this
https://github.com/madsmtm/objc2?
---------
Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com>
I got 22 errors and 63 warnings when I opened the Servo project in
Visual Studio Code with the Rust-analyzer extension on Linux. The
`blurmac` package, which is vendored in the source tree, only needs to
be be compiled on macOS.
With this change I get zero errors and 2 unrelated warnings.
Testing: I don't have a mac and cannot test it there. I only tested it
building on Linux. I also did not test test the Bluetooth feature. I
think the change is pretty straightforward and unlikely to cause a major
regression.
Signed-off-by: Michael Mc Donnell <michael@mcdonnell.dk>
According to specification ImageBitmap objects are serializable objects
and transferable objects.
https://html.spec.whatwg.org/multipage/#the-imagebitmap-interface:imagebitmap-11
Testing:
- html/canvas/element/manual/imagebitmap/*
- html/infrastructure/safe-passing-of-structured-data/*
- html/webappapis/structured-clone/*
- workers/semantics/structured-clone/*
Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
* 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>
* Update WebIDL.py
* Update WebIDL.py
* Add builtin-array.patch
* Fix CodegenRust.py and Configuration.py
* Fix missing downcasts
* mach fmt
* Update check and comment to explain why we need this check
* Update Global of DissimilarOriginWindow.webidl
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.
* WebIDL use FLoat64Array
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Use to_vec to convert array to vec
* avoid allocating a new vec
---------
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
The new strategy for dependencies with upstream in Gecko is to manage
them in separate repositories, which will more easily allow rebasing our
changes on top of newer Gecko work.
<!-- Please describe your changes on the following line: -->
part #31064
---
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because there is no behavior
changes
<!-- 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. -->
There types are not used we can migrate them, in next PR I will make
`HeapFloat32Array` generic and convert ArrayBufferView, ArrayBuffer,
Uint8ClampedArray and Float64Array.
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* inital
* audiobuffer: return float 32 array as channel data
* add on heap float 32 array type
* fix warnings
* add list of webidl interfaces to ignore for float 32
* codegen: remove duplication of builtin return type handling
* bindings: derive default for float 32 array wrapper
* bindings: allow unsafe code in typedarrays module
* bindings: rename float 32 array wrapper
* bindings: rename HeapFloat32Array is_set method to is_initialized
* bindings: assert float 32 array is initialized before data can be acquired
* bindings: use let syntax for error handling in float 32 array wrapper
* bindings: use copy_from_slice where possible in float 32 array wrapper
* bindings: rename args in typedarray copy methods
* codegen: use idl type in builtin names for float 32 array
* bindings: add a util to create float 32 arrays, use in dom matrix readonly
* codegen: tidy
* bindings: box the heap inside heaped float 32 arrays
Despite the name of this dependency, it only handles bluetooth. Because
it's a separate repository. Integrating it, allows changes here to be
tested more consistently. In addition, it's likely that new bluetooth
libraries will allow removing the majority of the platform-specific code
in this directory.
This is based on the version of this dependency from:
https://github.com/servo/devices/pull/34
The version of `mozdebug` installable via pip is two years old and
Mozilla is slow to release new versions. It also uses `distutils` which
doesn't work on newer Python versions. Vendor it and stop using
`distutils` there.
* Upgrade vendored version of WebRender
* Patch WebRender: upgrade version of gleam
* Restore hit testing implementation
* Fix WebRender warnings
* Adapt Servo to new WebRender
* Update results
* Add a workaround for #30313
This slightly expands text boundaries in order to take into account the
fact that layout isn't measuring glyph boundaries.
* MallocSizeOf for Index{Set, Map}
* like as iterable in WebIDL
* Codegen magic for like interfaces
* TestBinding for like
* Test for Setlike and Maplike test bindings
* Some fixes
* Switch to any.js
* nit
* Keep order
This is a step toward upgrading WebRender, which will be upgraded and
patched in the `third_party` directory. This change vendors the current
private branch of WebRender that we use and adds a `patches` directory
which tracks the changes on top of the upstream WebRender commit
described by third_party/webrender/patches/head.
This directory now contains third_party software that is vendored into
the Servo source tree. The idea is that it would eventually hold
webrender and other crates from mozilla-central as well with a standard
patch management approach for each.