Commit graph

307 commits

Author SHA1 Message Date
Ben Dean-Kawamura
2bb9af8156 Bug 1888683 - Upgrade UniFFI to 0.27.1. r=markh,janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-10 17:23:00 +00:00
Cristian Tuns
4deecb1d98 Backed out 2 changesets (bug 1888683) for causing hazard bustages in UniFFIPointer.cpp CLOSED TREE
Backed out changeset 42fe954d2d47 (bug 1888683)
Backed out changeset 2403582c3c8d (bug 1888683)
2024-04-09 21:54:42 -04:00
Ben Dean-Kawamura
3c47b31e06 Bug 1888683 - Upgrade UniFFI to 0.27.1. r=markh,janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-09 20:15:16 +00:00
Sandor Molnar
ecaff7c868 Backed out 5 changesets (bug 1890092, bug 1888683) for causing build bustages & crashes CLOSED TREE
Backed out changeset d43df75c14de (bug 1888683)
Backed out changeset b4267327c7dd (bug 1888683)
Backed out changeset 11892428e2dc (bug 1890092)
Backed out changeset 42598e432246 (bug 1888683)
Backed out changeset 372016bf3614 (bug 1888683)
2024-04-08 19:56:29 +03:00
Ben Dean-Kawamura
b3c3067e2b Bug 1888683 - Upgrade UniFFI to 0.27.1. r=janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-08 15:07:50 +00:00
Jan-Niklas Jaeschke
eca7db5dd9 Bug 1867939, part 2: Implement Fragment Directive parser. r=hsivonen,dom-core
This patch provides functions to extract the fragment directive from a url / a hash
into an array of `TextDirective`s
as well as to create a fragment directive string from given text directives.

The algorithms are implemented as a rust crate.
Interface functions and data structures which are accessible from C++
are provided in `lib.rs`.
The actual implementation (using pure rust types)
lives in `fragment_directive_impl.rs`, tests live in `test.rs`.

The implementation currently only supports text directives.
Other future directive types are not considered and will be ignored.

The main function, `parse_fragment_directive()` takes a url / a url hash
as parameter and returns (as out parameter) a struct which contains the stripped input url,
the fragment directive string, and an array of parsed text directive objects.

Additionally, there are functions that create a full fragment directive string
from a list of text directives as well as a function that creates
a single text directive string from a text directive.

The `TextDirective` class, which is shared with C++, contains four
string elements for the prefix, start, end and suffix elements.
These strings are percent-decoded and do not contain identifiers
(like the `-` that indicates it being a prefix or suffix).
All elements besides `start` can be empty.

The implemented algorithms are used in the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D195685
2024-04-04 14:39:32 +00:00
Stanca Serban
c9bea63c35 Backed out 6 changesets (bug 1867939) for causing wpt failures in target-text-010.html. CLOSED TREE
Backed out changeset 44101c258e52 (bug 1867939)
Backed out changeset c53267e1b460 (bug 1867939)
Backed out changeset 0748839408e5 (bug 1867939)
Backed out changeset 38631fbd2f2f (bug 1867939)
Backed out changeset d77b9257c842 (bug 1867939)
Backed out changeset 0d269b891421 (bug 1867939)
2024-04-04 00:50:50 +03:00
Jan-Niklas Jaeschke
9e2ea0c6d0 Bug 1867939, part 2: Implement Fragment Directive parser. r=hsivonen,dom-core
This patch provides functions to extract the fragment directive from a url / a hash
into an array of `TextDirective`s
as well as to create a fragment directive string from given text directives.

The algorithms are implemented as a rust crate.
Interface functions and data structures which are accessible from C++
are provided in `lib.rs`.
The actual implementation (using pure rust types)
lives in `fragment_directive_impl.rs`, tests live in `test.rs`.

The implementation currently only supports text directives.
Other future directive types are not considered and will be ignored.

The main function, `parse_fragment_directive()` takes a url / a url hash
as parameter and returns (as out parameter) a struct which contains the stripped input url,
the fragment directive string, and an array of parsed text directive objects.

Additionally, there are functions that create a full fragment directive string
from a list of text directives as well as a function that creates
a single text directive string from a text directive.

The `TextDirective` class, which is shared with C++, contains four
string elements for the prefix, start, end and suffix elements.
These strings are percent-decoded and do not contain identifiers
(like the `-` that indicates it being a prefix or suffix).
All elements besides `start` can be empty.

The implemented algorithms are used in the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D195685
2024-04-03 15:23:01 +00:00
Sandor Molnar
8340afd1fb Backed out 6 changesets (bug 1867939) for causing a top crash in nightly Bug 1889393 CLOSED TREE
Backed out changeset 2110f57e928c (bug 1867939)
Backed out changeset 51890598ecb4 (bug 1867939)
Backed out changeset 839bc1b11a2c (bug 1867939)
Backed out changeset bb88c4d09e82 (bug 1867939)
Backed out changeset 27c76e65cf58 (bug 1867939)
Backed out changeset c3e3c81f9ceb (bug 1867939)
2024-04-03 17:31:56 +03:00
Jan-Niklas Jaeschke
55e8f7f971 Bug 1867939, part 2: Implement Fragment Directive parser. r=hsivonen,dom-core
This patch provides functions to extract the fragment directive from a url / a hash
into an array of `TextDirective`s
as well as to create a fragment directive string from given text directives.

The algorithms are implemented as a rust crate.
Interface functions and data structures which are accessible from C++
are provided in `lib.rs`.
The actual implementation (using pure rust types)
lives in `fragment_directive_impl.rs`, tests live in `test.rs`.

The implementation currently only supports text directives.
Other future directive types are not considered and will be ignored.

The main function, `parse_fragment_directive()` takes a url / a url hash
as parameter and returns (as out parameter) a struct which contains the stripped input url,
the fragment directive string, and an array of parsed text directive objects.

Additionally, there are functions that create a full fragment directive string
from a list of text directives as well as a function that creates
a single text directive string from a text directive.

The `TextDirective` class, which is shared with C++, contains four
string elements for the prefix, start, end and suffix elements.
These strings are percent-decoded and do not contain identifiers
(like the `-` that indicates it being a prefix or suffix).
All elements besides `start` can be empty.

The implemented algorithms are used in the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D195685
2024-04-02 13:44:24 +00:00
Cristian Tuns
a1bb69acae Backed out 6 changesets (bug 1867939) for causing build bustages in Document.h CLOSED TREE
Backed out changeset 0853f9a7a06c (bug 1867939)
Backed out changeset 2279e6577c13 (bug 1867939)
Backed out changeset 1b3af4b6a27b (bug 1867939)
Backed out changeset 2fbe643ca483 (bug 1867939)
Backed out changeset 575873406614 (bug 1867939)
Backed out changeset 82f99c0210b0 (bug 1867939)
2024-04-02 09:15:46 -04:00
Jan-Niklas Jaeschke
88eab9128d Bug 1867939, part 2: Implement Fragment Directive parser. r=hsivonen,dom-core
This patch provides functions to extract the fragment directive from a url / a hash
into an array of `TextDirective`s
as well as to create a fragment directive string from given text directives.

The algorithms are implemented as a rust crate.
Interface functions and data structures which are accessible from C++
are provided in `lib.rs`.
The actual implementation (using pure rust types)
lives in `fragment_directive_impl.rs`, tests live in `test.rs`.

The implementation currently only supports text directives.
Other future directive types are not considered and will be ignored.

The main function, `parse_fragment_directive()` takes a url / a url hash
as parameter and returns (as out parameter) a struct which contains the stripped input url,
the fragment directive string, and an array of parsed text directive objects.

Additionally, there are functions that create a full fragment directive string
from a list of text directives as well as a function that creates
a single text directive string from a text directive.

The `TextDirective` class, which is shared with C++, contains four
string elements for the prefix, start, end and suffix elements.
These strings are percent-decoded and do not contain identifiers
(like the `-` that indicates it being a prefix or suffix).
All elements besides `start` can be empty.

The implemented algorithms are used in the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D195685
2024-04-02 11:43:20 +00:00
Ben Dean-Kawamura
7e42f22388 Bug 1885440 - Vendor in the relevancy component. r=nanj
I also took this chance to vendor in the newest app-services revision
for other components.

Differential Revision: https://phabricator.services.mozilla.com/D204704
2024-03-19 12:46:52 +00:00
Jonathan Kew
fafbd7f128 Bug 1824671 - patch 3 - Convert intl Bidi component to be backed by the unicode-bidi crate. r=platform-i18n-reviewers,dminor
With this, the intl::Bidi component no longer relies on ICU4C's ubidi_* APIs.

Differential Revision: https://phabricator.services.mozilla.com/D197890
2024-02-06 11:41:09 +00:00
Cristian Tuns
a0f83ca7c6 Backed out 11 changesets (bug 1824671) for causing spidermonkey bustages in Bidi.h CLOSED TREE
Backed out changeset f41ef5e3f7b9 (bug 1824671)
Backed out changeset f029db1566d8 (bug 1824671)
Backed out changeset 7fe14219e95e (bug 1824671)
Backed out changeset 71dbcba23335 (bug 1824671)
Backed out changeset 5c20e50fc26b (bug 1824671)
Backed out changeset e16c7ccc64e5 (bug 1824671)
Backed out changeset d8414db5bc0c (bug 1824671)
Backed out changeset 89622f53da27 (bug 1824671)
Backed out changeset 9a2fbd21feb5 (bug 1824671)
Backed out changeset b273d641a26a (bug 1824671)
Backed out changeset 17e79f579645 (bug 1824671)
2024-01-23 10:19:32 -05:00
Jonathan Kew
54aadfc5e2 Bug 1824671 - patch 3 - Convert intl Bidi component to be backed by the unicode-bidi crate. r=platform-i18n-reviewers,dminor
With this, the intl::Bidi component no longer relies on ICU4C's ubidi_* APIs.

Differential Revision: https://phabricator.services.mozilla.com/D197890
2024-01-23 11:53:21 +00:00
Ben Dean-Kawamura
84731a5a80 Bug 1872200 - remove UniFFI extern-rustbuffer feature. r=janerik
Differential Revision: https://phabricator.services.mozilla.com/D197925
2024-01-09 14:31:54 +00:00
Jonathan Kew
20b8ef07ee Bug 1857742 - patch 2 - Use oxilangtag rather than unic_langid to parse lang tags for nsStyleUtil::LangTagCompare. r=layout-reviewers,dholbert,TYLin
Differential Revision: https://phabricator.services.mozilla.com/D193892
2023-11-18 10:36:01 +00:00
Drew Willcoxon
d9464e5021 Bug 1851256 - Part 1: Vendor the application-services suggest Rust component into mozilla-central. r=lina
This is part 1 of 3 and vendors the [suggest component](https://github.com/mozilla/application-services/tree/main/components/suggest) from
application-services into m-c. `suggest` depends on `remote_settings`, so it was
also vendored. Part 2 will generate JS bindings with uniffi.

This is my first time doing this so I'll explain how I generated this patch in
case I did something wrong:

1. I manually added `suggest` to the following files:
   * Top-level `Cargo.toml`
   * `toolkit/library/rust/shared/Cargo.toml`
   * `toolkit/library/rust/shared/lib.rs` -- I followed the example of `tabs`,
     not sure if `suggest::uniffi_reexport_scaffolding!()` is necessary
2. I ran `./mach vendor rust`

That's it, there were no errors or problems.

Differential Revision: https://phabricator.services.mozilla.com/D187323
2023-09-05 21:11:57 +00:00
Dana Keeler
58b11864ed Bug 1840135 - introduce rust implementation of nsIDataStorage r=nkulatova,nika,mak
Differential Revision: https://phabricator.services.mozilla.com/D181904
2023-09-05 17:14:51 +00:00
Iulian Moraru
02731904bb Backed out changeset e69a7143b38d (bug 1840135) for causing failures on test_sss_sanitizeOnShutdown.js.CLOSED TREE 2023-09-01 07:55:01 +03:00
Dana Keeler
b88348a253 Bug 1840135 - introduce rust implementation of nsIDataStorage r=nkulatova,nika,mak
Differential Revision: https://phabricator.services.mozilla.com/D181904
2023-08-31 18:20:43 +00:00
Norisz Fay
b16c6e1f04 Backed out changeset 568451480af9 (bug 1840135) for causing bustage on DataStorageManager.cpp CLOSED TREE 2023-08-31 03:12:12 +03:00
Dana Keeler
05774ab008 Bug 1840135 - introduce rust implementation of nsIDataStorage r=nkulatova,nika,mak
Differential Revision: https://phabricator.services.mozilla.com/D181904
2023-08-30 22:17:11 +00:00
Mike Hommey
b0c4622bd0 Bug 1837353 - Don't build the mozannotation crates when the crash reporter is disabled. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D180395
2023-06-09 20:30:29 +00:00
Dana Keeler
94c26534c8 Bug 1834862 - implement nsICryptoHash in rust r=jschanck,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D179727
2023-06-07 23:03:21 +00:00
Iulian Moraru
6cded0a2aa Backed out changeset 2b647eb982bc (bug 1834862) for causing build bustages. CLOSED TREE 2023-06-07 20:12:09 +03:00
Dana Keeler
60f76d0a57 Bug 1834862 - implement nsICryptoHash in rust r=jschanck,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D179727
2023-06-07 15:56:37 +00:00
Gabriele Svelto
4c87f445a6 Bug 1776197 - mozannotation_server crate implementation r=afranchuk
This crate contains the logic used to find the annotations within another
process and pull them out.

Depends on D173697

Differential Revision: https://phabricator.services.mozilla.com/D173698
2023-06-07 12:34:31 +00:00
Gabriele Svelto
73a3085a6b Bug 1776197 - mozannotation_client implementation r=afranchuk
This crate contains the required bits to store annotations in a process and
let the mozannotation_server crate find them and pull them out. Functionally
there's not much happening here as all the actual functionality is in
mozannotation_server.

Differential Revision: https://phabricator.services.mozilla.com/D173697
2023-06-07 12:34:30 +00:00
Jari Jalkanen
c525db50a1 Bug 1826780 - Interface with rust mime guess crate. r=dom-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D177013
2023-05-16 16:07:16 +00:00
Matthew Gregan
07b0619d68 Bug 1697845 - Remove AudioIPC v1. r=glandium,supply-chain-reviewers,cubeb-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D134931
2023-03-29 10:25:33 +00:00
John Schanck
f40aea4a99 Bug 1813982 - XPCOM interface to authenticator-rs. r=keeler,geckoview-reviewers,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D171269
2023-03-16 21:42:21 +00:00
Dave Townsend
1135edff9e Bug 1777973: Remove MOZ_NEW_XULSTORE implementation. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D166786
2023-01-16 19:21:23 +00:00
Ben Dean-Kawamura
79c4dcd5b0 Bug 1788306: UniFFI callback interfaces, r=nika
Started callback interface functionality to UniFFI.  Currently this only
supports the async fire-and-forget use case, where Rust queues a JS
function to run, but doesn't wait (or `await`) for the response.

The basic system is:

  - The JS code registers a callback interface handler with the C++
    code.  This handler is responsible for the specifics of invoking the
    callback.
  - The C++ code defines a function to call a JS handler.  Once the JS
    handler registers itself with C++, the C++ registers it's function
    with Rust.
  - The C++ code queues the call to the JS main thread.
  - Because of how UniFFI handles callback interfaces, the C++ code can
    be "dumb".  UniFFI sends a object id, method id, and RustBuffer
    encoding all arguments.  This means C++ doesn't need to care about
    the specific arguments, they get unpacked by JS.

I tried to keep the generated code as simple as possible by moving the
complexity to static code.  For JS this meant writing a generic
`UniFFICallbackHandler` class in the static code that the generated code
constructs.  For C++ this meant the generated code defines a
`UniFFIGetCallbackInterfaceInfo` function that returns a struct with all
the data specific to a callback interface (it's name, the UniFFI
scaffolding init function, etc).  The static code can then define a
generic `QueueCallback` function that looks up the callback interface
info using the interface ID and then makes the call.

Allow UniFFI functions to run on the main thread rather than always
being dispatched to a worker thread.  This allows us to test invoking
callback interfaces from the main thread thread. I don't think we will
use this much currently, since we don't want to block the main thread
for any significant amount of time. However, this will pair well with
the next step in the project which is async -- allowing async Rust
functions to call async JS functions. In that scenario, dispatching to
the worker thread is unnecessary.

Callback interface objects present a potential memory leak, since you
can easily create a cycle between a JS Callback object and a UniFFIed
Rust object, and the GC has no way of detecting it.  To try to detect
these there's some shutdown code that checks that there are no callbacks
registered during shutdown and prevents any future callbacks from being
registered.

Added a `config.toml` file and code to parse it.  This is needed to
specify which functions should run on the main thread.

Updated the git commits for the several UniFFI examples/fixtures.

Differential Revision: https://phabricator.services.mozilla.com/D156116
2023-01-03 20:57:53 +00:00
Dana Keeler
de4fbd4afe Bug 1805739 - vendor bhttp, provide bindings for binary http (RFC 9292) r=necko-reviewers,supply-chain-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D164720
2022-12-19 20:09:35 +00:00
Csoregi Natalia
ffeed88c2a Backed out changeset e6becf16d643 (bug 1788306) for causing bustage on UniFFICallbacks.cpp. CLOSED TREE 2022-12-15 01:16:12 +02:00
Ben Dean-Kawamura
22d5d42244 Bug 1788306: UniFFI callback interfaces, r=nika
Started callback interface functionality to UniFFI.  Currently this only
supports the async fire-and-forget use case, where Rust queues a JS
function to run, but doesn't wait (or `await`) for the response.

The basic system is:

  - The JS code registers a callback interface handler with the C++
    code.  This handler is responsible for the specifics of invoking the
    callback.
  - The C++ code defines a function to call a JS handler.  Once the JS
    handler registers itself with C++, the C++ registers it's function
    with Rust.
  - The C++ code queues the call to the JS main thread.
  - Because of how UniFFI handles callback interfaces, the C++ code can
    be "dumb".  UniFFI sends a object id, method id, and RustBuffer
    encoding all arguments.  This means C++ doesn't need to care about
    the specific arguments, they get unpacked by JS.

I tried to keep the generated code as simple as possible by moving the
complexity to static code.  For JS this meant writing a generic
`UniFFICallbackHandler` class in the static code that the generated code
constructs.  For C++ this meant the generated code defines a
`UniFFIGetCallbackInterfaceInfo` function that returns a struct with all
the data specific to a callback interface (it's name, the UniFFI
scaffolding init function, etc).  The static code can then define a
generic `QueueCallback` function that looks up the callback interface
info using the interface ID and then makes the call.

Allow UniFFI functions to run on the main thread rather than always
being dispatched to a worker thread.  This allows us to test invoking
callback interfaces from the main thread thread. I don't think we will
use this much currently, since we don't want to block the main thread
for any significant amount of time. However, this will pair well with
the next step in the project which is async -- allowing async Rust
functions to call async JS functions. In that scenario, dispatching to
the worker thread is unnecessary.

Callback interface objects present a potential memory leak, since you
can easily create a cycle between a JS Callback object and a UniFFIed
Rust object, and the GC has no way of detecting it.  To try to detect
these there's some shutdown code that checks that there are no callbacks
registered during shutdown and prevents any future callbacks from being
registered.

Added a `config.toml` file and code to parse it.  This is needed to
specify which functions should run on the main thread.

Updated the git commits for the several UniFFI examples/fixtures.

Differential Revision: https://phabricator.services.mozilla.com/D156116
2022-12-14 21:50:23 +00:00
Dana Keeler
98d7e2aa28 Bug 1799026 - vendor ohttp crate, introduce bindings for oblivious http implementation r=necko-reviewers,supply-chain-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D161221
2022-12-05 21:09:28 +00:00
Lee Salzman
c784c8bd6e Bug 1803604 - Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers
aa-stroke is a Rust library developed by the Gfx team at Mozilla to help
accelerate stroked paths for Canvas2D.

Differential Revision: https://phabricator.services.mozilla.com/D163608
2022-12-03 08:21:50 +00:00
Cosmin Sabou
bc234a7f64 Backed out 2 changesets (bug 1803604) for causing talos crashes on pdfpaint.
Backed out changeset 0be171a7d6ac (bug 1803604)
Backed out changeset 9c9e6c4e7864 (bug 1803604)
2022-12-03 02:59:04 +02:00
Sandor Molnar
2e3d1f9744 Backed out changeset b27199164b63 (bug 1799026) for causing build bustages. CLOSED TREE 2022-12-03 02:33:36 +02:00
Dana Keeler
eefb8c984a Bug 1799026 - vendor ohttp crate, introduce bindings for oblivious http implementation r=necko-reviewers,supply-chain-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D161221
2022-12-03 00:19:54 +00:00
Lee Salzman
d355085c4e Bug 1803604 - Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers
aa-stroke is a Rust library developed by the Gfx team at Mozilla to help
accelerate stroked paths for Canvas2D.

Differential Revision: https://phabricator.services.mozilla.com/D163608
2022-12-02 19:49:37 +00:00
Mike Hommey
20650acc19 Bug 1803480 - Fix clippy::not_unsafe_ptr_arg_deref errors. r=emilio,necko-reviewers,sylvestre,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D163542
2022-12-02 01:59:51 +00:00
Cristian Tuns
cf902d160e Backed out changeset 6a46210f9aa2 (bug 1803480) for causing build bustages CLOSED TREE 2022-12-01 19:41:15 -05:00
Mike Hommey
3fa6efea3f Bug 1803480 - Fix clippy::not_unsafe_ptr_arg_deref errors. r=emilio,necko-reviewers,sylvestre,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D163542
2022-12-01 21:46:22 +00:00
Lee Salzman
cc4019f675 Bug 1799402 - Vendor wpf-gpu-raster Rust crate. r=jrmuizel,supply-chain-reviewers
This adds the wpf-gpu-raster Rust crate so we can use it for the accelerated
Canvas2D project.

Differential Revision: https://phabricator.services.mozilla.com/D161477
2022-11-12 08:06:43 +00:00
Iulian Moraru
f838c68136 Backed out 3 changesets (bug 1799402) for causing windows build bustages. CLOSED TREE
Backed out changeset e51cd76008ef (bug 1799402)
Backed out changeset 3ff660b475ff (bug 1799402)
Backed out changeset 9cfa7581565e (bug 1799402)
2022-11-12 08:33:24 +02:00
Lee Salzman
200bbf0a13 Bug 1799402 - Vendor wpf-gpu-raster Rust crate. r=jrmuizel,supply-chain-reviewers
This adds the wpf-gpu-raster Rust crate so we can use it for the accelerated
Canvas2D project.

Differential Revision: https://phabricator.services.mozilla.com/D161477
2022-11-12 05:42:29 +00:00