Commit Graph

567 Commits

Author SHA1 Message Date
Cosmin Sabou
c5cbcf0a2e Backed out changeset 218b12b92ccb (bug 1352757) for causing failures on test_transitions_per_property.html. 2023-01-19 19:34:50 +02:00
Tiaan Louw
bb0657c1b2 Bug 1352757 - Add lab(), lch(), oklab(), oklch() to specified colors. r=supply-chain-reviewers,emilio
Use new changes from cssparser and use the new lab/lch/oklab/oklch color
formats.

Introduced a new color type AbsoluteColor.  It represents any kind of
color that has absolute numerical values.  It is also tied to a color
space and therefore can be trivially converted to another color space.

Differential Revision: https://phabricator.services.mozilla.com/D163579
2023-01-19 16:17:15 +00:00
Iulian Moraru
f2db3a5e51 Backed out 2 changesets (bug 1810495) for causing rust linting failures.
Backed out changeset 8e353f0600a8 (bug 1810495)
Backed out changeset d75d527cdeee (bug 1810495)
2023-01-19 00:27:26 +02:00
Nicolas Silva
32ec025d52 Bug 1810495 - Update wgpu to fac4731288117d951d0944d96cf0b00fa006dd6c. r=webgpu-reviewers,teoxoy
Depends on D166915

Differential Revision: https://phabricator.services.mozilla.com/D166916
2023-01-18 21:58:49 +00:00
Matthew Gregan
886d44aef1 Bug 1801049 - Update AudioIPC macOS branch to 73c8a02d. r=cubeb-reviewers,padenot
Picks up a single fix to address a deadlock triggered when attempting to
configure an audio device that has been removed.

Differential Revision: https://phabricator.services.mozilla.com/D166736
2023-01-17 00:35:51 +00:00
Gabriele Svelto
2075a2a0a9 Bug 1793784 - Replace the minidump_writer_linux crate with the minidump-writer crate r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D158669
2023-01-10 22:14:30 +00:00
Mike Hommey
f26e1e9273 Bug 1807884 - Update warp to 0.3.3. r=webdriver-reviewers,supply-chain-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D165651
2023-01-10 00:50:06 +00:00
Nicolas Silva
7b36cb3adb Bug 1808331 - Update wgpu. r=#webgpu-reviewers CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D165962
2023-01-04 16:22:30 +00:00
Stanca Serban
d46c924b0b Backed out changeset e0a5ed021a2c (bug 1808331) for causing linting failures. 2023-01-04 18:36:53 +02:00
Nicolas Silva
8db661cfd8 Bug 1808331 - Update wgpu. r=webgpu-reviewers,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D165869
2023-01-04 13:19:44 +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
Kershaw Chang
1a5d5eb1c9 Bug 1805652 - neqo v0.6.3, r=necko-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D164657
2022-12-23 10:16:53 +00:00
Mike Hommey
87f22a6c1d Bug 1806764 - Update mapped_hyph to current master. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D165251
2022-12-21 08:53:26 +00:00
Ray Kraesig
665483f331 Bug 1804178 - [4/6] Remove pytoml output postprocessing r=glandium
The postprocessing phase that cleaned up `pytoml`'s output has little
effect on `toml`'s output, which is already largely clean. Remove the
additional code.

Differential Revision: https://phabricator.services.mozilla.com/D164153
2022-12-20 23:01:25 +00:00
Ray Kraesig
2ba26991d4 Bug 1804178 - [3/6] Remove explicit sorting of TOML output r=glandium
Remove explicit sorting, as this is no longer needed to guarantee
determinism as of Python 3.6 (our minimum-supported version).

(This is a separate commit solely to make it clear that the reordering
of `.cargo/config.in` is indeed merely a reordering and contains no
hidden functional changes.)

Differential Revision: https://phabricator.services.mozilla.com/D164152
2022-12-20 23:01:25 +00:00
Jim Blandy
dde6692f0e Bug 1806166: Update wgpu to f14bee67 (2022-12-16) r=nical,supply-chain-reviewers
This brings in various bugfixes and improvements from upstream,
including the fix for bug 1791809 and a workaround for bug 1804530.

In this update, `wgpu_core` leaves the selection of backends to its
users, rather than trying to guess which backends to use itself, based
on the target architecture and operating system. For Firefox, this
means that `gfx/wgpu_bindings/Cargo.toml` is now responsible for
selecting back ends.

Firefox's WebGPU implementation should never use `wgpu`'s GLES
backend. Firefox can now explain this to `wgpu-core`, causing it to
drop its dependency on `glow`, `bitflags_serde_shim` and `slotmap`.
These are no longer vendored, and their exemptions in
`supply-chain/config.toml` can be dropped.

The new `wgpu-core` updates to version 0.37.1+1.3.235 of the `ash`
crate, and this patch moves ash's supply-chain exemption forward to
the new version. We expect to finish vetting that next week, but
because this `wgpu-core` update is urgently needed, we want to extend
the exemption for the time being.

The dependency on `slotmap` had been patched to an empty file in
`build/rust/dummy-web`, which can now be removed.

The new `wgpu-core` no longer uses `cfg_aliases`, so Firefox no longer
needs to vendor that.

Differential Revision: https://phabricator.services.mozilla.com/D164928
2022-12-17 22:25:49 +00:00
Mark Hammond
8fd66feff0 Bug 1801295 (part 2) - vendor new application-services with the fix. r=skhamis
Depends on D164781

Differential Revision: https://phabricator.services.mozilla.com/D164782
2022-12-15 22:51:51 +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
Mike Hommey
cb37196702 Bug 1804586 - Update rusqlite to 0.28. r=markh,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D164167
2022-12-13 00:32:35 +00:00
Mike Hommey
03ce56dee2 Bug 1804570 - Update alsa crate to 0.7. r=gsvelto,supply-chain-reviewers
We also artificially update nix to 0.25 in preparation for bug 1793784.

Differential Revision: https://phabricator.services.mozilla.com/D164165
2022-12-13 00:24:03 +00:00
Mark Hammond
15847c3f6a Bug 1804545 - Re-vendor application-services to pickup fix to IDs in sync payload. r=skhamis,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D164135
2022-12-08 00:26:37 +00:00
Lee Salzman
c6fc10d232 Bug 1804340 - Update wpf-gpu-raster and aa-stroke to support generating into a slice. r=jrmuizel
This adds machinery to wpf-gpu-raster and aa-stroke to support an output buffer specified as
a slice, which they will preferentially use instead of their dynamic Vec to store output
vertexes in.

Differential Revision: https://phabricator.services.mozilla.com/D163989
2022-12-07 00:53:55 +00:00
Lee Salzman
2ad13433da Bug 1801307 - Remember last interval to speed up insertion search. r=jrmuizel
This modifies AddInterval in wpf-gpu-raster to try to remember the last interval
it searched for so that it doesn't have to search the entire interval list for
every interval added. This should take us down from O(n^2) to closer to O(n) for
this phase of rasterization.

Differential Revision: https://phabricator.services.mozilla.com/D163795
2022-12-05 04:40:45 +00:00
Mark Hammond
e925353b45 Bug 1803726 (part 1) - update to a new application-services. r=bdk,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D163672
2022-12-04 10:30:29 +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
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
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
Jim Blandy
fe1f55c62a Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 17:34:56 +00:00
Cristian Tuns
ce0b61513b Backed out changeset 06cfb7445c64 (bug 1799801) for causing build bustages CLOSED TREE 2022-11-09 11:57:02 -05:00
Jim Blandy
9d1f26b312 Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 16:42:50 +00:00
Matthew Gregan
14c2bd9d66 Bug 1797398 - Update cubeb-coreaudio-rs to 93b5c01a. r=cubeb-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D160304
2022-10-26 09:42:33 +00:00
Sammy Khamis
91b6f8fd65 Bug 1791851 - mach vendor changes for tabs component r=teshaq,LougeniaBailey,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D157978
2022-10-25 20:03:21 +00:00
az
207fa3c553 Bug 1794916 - mach vendor rust for cubeb-pulse-rs 0.4.1 r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D159638
2022-10-18 23:11:11 +00:00
Paul Adenot
e481cc5b87 Bug 1793294 - mach vendor rust. r=cubeb-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D158957
2022-10-17 13:18:55 +00:00
Paul Adenot
a58ffa7840 Bug 1793806 - mach vendor rust. r=cubeb-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D158687
2022-10-06 09:18:13 +00:00
Matthew Gregan
bd8f657474 Bug 1792743 - Update AudioIPC macOS branch to 42eb59ab. r=cubeb-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D158285
2022-09-29 20:07:37 +00:00
Mark Hammond
5ecc219891 Bug 1790931 - vendor a new application-services so golden_gate doesn't get stale. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D157402
2022-09-19 23:37:51 +00:00
Jim Blandy
06485d6d4f Bug 1791297: Update to wgpu b752c7d2 (2022-9-16) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D157594
2022-09-19 09:39:22 +00:00
az
abade6347e Bug 1789547 - Update cubeb-pulse to 0.10.1 r=cubeb-reviewers,kinetik
Depends on D156632

Differential Revision: https://phabricator.services.mozilla.com/D156633
2022-09-11 23:15:24 +00:00
az
d304d6d782 Bug 1789547 - Update cubeb-coreaudio to 0.10.1 r=kinetik,cubeb-reviewers
Depends on D156631

Differential Revision: https://phabricator.services.mozilla.com/D156632
2022-09-11 23:15:23 +00:00
Sandor Molnar
ca9f2118a3 Backed out 4 changesets (bug 1789547) for causing build bustages in src/cubeb_pulse.c CLOSED TREE
Backed out changeset f4a705068a81 (bug 1789547)
Backed out changeset 2e0a33171e43 (bug 1789547)
Backed out changeset 3d81b7118d30 (bug 1789547)
Backed out changeset f5ad9813b7b7 (bug 1789547)
2022-09-10 01:38:23 +03:00
az
5e71c8a332 Bug 1789547 - Update cubeb-pulse to 0.10.1 r=cubeb-reviewers,kinetik
Depends on D156632

Differential Revision: https://phabricator.services.mozilla.com/D156633
2022-09-09 22:17:32 +00:00
az
15679d2dba Bug 1789547 - Update cubeb-coreaudio to 0.10.1 r=kinetik,cubeb-reviewers
Depends on D156631

Differential Revision: https://phabricator.services.mozilla.com/D156632
2022-09-09 22:17:31 +00:00
Dragana Damjanovic
f29ba14bfb Bug 1772092 - Neqo version 0.6.1 r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D156603
2022-09-07 10:10:27 +00:00
Mark Hammond
a1f19c7267 Bug 1787688 (part 1) - vendor a new application-services. r=bdk,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D155815
2022-09-02 00:32:53 +00:00
Matthew Gregan
540be5aee2 Bug 1785208 - Update AudioIPC macOS branch. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D154875
2022-08-24 06:55:04 +00:00