- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
The baldrdash integration of Cranelift is agreed between SM and CL
to be the wrong shape. Our import of the code base is also old and
causes difficulties for us when upgrading some crates (see bug
1774829). We should remove it for now to unblock bug 1774829.
Differential Revision: https://phabricator.services.mozilla.com/D152806
Rust is required to use the external libprio-rs Rust library.
C++ XPCOM is added because writing XPCOM objects in Rust is still
difficult.
Differential Revision: https://phabricator.services.mozilla.com/D151805
Adds a test-only method to JS that permits the runtime registration of metrics.
Also uses that to cover JOG with tests: registering and smoke-testing metrics
of each metric type.
(Events being a notable (temporary) exception)
Instead of writing parsers, use serde_json for the optional extra metric args.
Differential Revision: https://phabricator.services.mozilla.com/D143051
We're gonna try our best to keep most of the JOG stuff in bindings/jog.
We won't always be able to. For example:
In order for the created metrics instances to be available to e.g. FFI,
we'll have to codegen them into the `fog` crate.
Differential Revision: https://phabricator.services.mozilla.com/D143047
gkrust features are currently repeated between 4(!) files:
gkrust-features.mozbuild, where they are defined for the build system,
toolkit/library/rust/shared/Cargo.toml, where they are defined for the
gkrust_shared crate, and toolkit/library/gtest/rust/Cargo.toml and
toolkit/library/rust/Cargo.toml, where they are defined for the
gkrust-gtest and gkrust crates respectively. The last two are entirely
redundant.
Differential Revision: https://phabricator.services.mozilla.com/D148612
Some crates in our graph have dependencies on parking_lot >= 0.11,
<=0.12, meaning `cargo update` might pull parking_lot 0.12, which brings
windows-sys.
mio >= 0.8.1 also pulls windows-sys in.
Differential Revision: https://phabricator.services.mozilla.com/D148587
Add a dom/base/rust crate called just "dom" where we can share these.
Most of the changes are automatic:
s/mozilla::EventStates/mozilla::dom::ElementState/
s/EventStates/ElementState/
s/NS_EVENT_STATE_/ElementState::/
s/NS_DOCUMENT_STATE_/DocumentState::/
And so on. This requires a new cbindgen version to avoid ugly casts for
large shifts.
Differential Revision: https://phabricator.services.mozilla.com/D148537
This patch imports and implements all the infrastructure for origin
trial tokens, minus the crypto stuff / token verification.
We still don't hook it anywhere. The intended setup for now would be to
have the `OriginTrials` object hanging off the `Document` (or global
perhaps, not sure yet). That has a self-descriptive API to enable trials
(UpdateFromToken), and check enabledness status (IsEnabled).
There are some tests in the origin-trial-token crate
(third_party/rust/origin-trial-token/tests.rs). No test for the DOM code
yet because this isn't hooked into yet.
Differential Revision: https://phabricator.services.mozilla.com/D139033