Files
tubestation/toolkit/components/uniffi-js
Ben Dean-Kawamura 3f160ecae8 Bug 1913183 - Vendor in app-services, r=nanj,supply-chain-reviewers,urlbar-reviewers,adw
Removed the `IsValid` check when converting a `RustBuffer` to an
`OwnedRustBuffer`.  The vendored changes revealed some issues with this
logic.  See https://bugzilla.mozilla.org/show_bug.cgi?id=1913183#c4 for
details.

Differential Revision: https://phabricator.services.mozilla.com/D219189
2024-08-16 16:18:07 +00:00
..

uniffi-js

This directory contains C++ helper code for the UniFFI Rust library (https://github.com/mozilla/uniffi-rs/).

  • UniFFIPointer.* and UniFFIPointerType.* implement the UniFFIPointer WebIDL class

  • UniFFI*Scaffolding.cpp implements the UniFFIScaffolding WebIDL class.

    • UniFFIGeneratedScaffolding.cpp contains the generated code for all non-testing UDL files.
    • UniFFIFixtureScaffolding.cpp contains generated code for test fixture UDL files. It's only compiled if --enable-uniffi-fixtures is set.
    • UniFFIScaffolding.cpp is a facade that wraps UniFFIFixtureScaffolding, and UniFFIGeneratedScaffolding if enabled, to implement the interface.
  • ScaffoldingConverter.h contain helper code to convert values between JS and Rust. This is used by the generated code to make scaffolding calls.

  • OwnedRustBuffer.* implements a C++ class to help manager ownership of a RustBuffer.

  • UniFFIRust.h contains definitions for the C functions that UniFFI exports.