Files
sousa-gecko/docs/rust-components/api/js/viaduct.md
T
ahanot 3ef432cf18 Bug 2048346 - Add UniFFI bindings for the sponsored content client component r=bdk
Wire the vendored application-services sponsored content client component
into the desktop UniFFI bindings:

- Add the component as a path override in the workspace Cargo.toml and as
  a dependency of gkrust-uniffi-components.
- Register the component in lib.rs and moz.build, and add async-wrapper
  configuration in config.toml. MozAdsTelemetry is wrapped as FireAndForget,
  which is valid now that the vendored ads-client exposes it as a
  callback_interface.
- Point the NSS build-environment check in mach_commands.py at
  [app-services-repo]libs/verify-desktop-environment.sh, and warn rather
  than set it up in-band (see D260481).
- Regenerate the JS bindings, C++ scaffolding and API docs. Adding the
  component renumbers the shared UniFFI function table, which accounts for
  the churn in the other generated Rust*.sys.mjs files. The viaduct
  config/doc also gain a few OHTTP entries whose checked-in bindings had
  drifted from the vendored component.

This only adds the bindings; consumers are added in follow-ups.

Differential Revision: https://phabricator.services.mozilla.com/D307396
2026-06-26 20:14:11 +00:00

82 lines
2.2 KiB
Markdown

# RustViaduct.sys.mjs
```{js:autoclass} RustViaduct.sys.BackendAlreadyInitialized
:members:
:exclude-members: BackendAlreadyInitialized
```
```{js:autoclass} RustViaduct.sys.BackendError
:members:
:exclude-members: BackendError
```
```{js:autoclass} RustViaduct.sys.BackendNotInitialized
:members:
:exclude-members: BackendNotInitialized
```
```{js:autoclass} RustViaduct.sys.Method
:members:
:exclude-members: Method
```
```{js:autoclass} RustViaduct.sys.NetworkError
:members:
:exclude-members: NetworkError
```
```{js:autoclass} RustViaduct.sys.NonTlsUrl
:members:
:exclude-members: NonTlsUrl
```
```{js:autoclass} RustViaduct.sys.OhttpChannelNotConfigured
:members:
:exclude-members: OhttpChannelNotConfigured
```
```{js:autoclass} RustViaduct.sys.OhttpConfig
:members:
:exclude-members: OhttpConfig
```
```{js:autoclass} RustViaduct.sys.OhttpConfigFetchFailed
:members:
:exclude-members: OhttpConfigFetchFailed
```
```{js:autoclass} RustViaduct.sys.OhttpNotSupported
:members:
:exclude-members: OhttpNotSupported
```
```{js:autoclass} RustViaduct.sys.OhttpRequestError
:members:
:exclude-members: OhttpRequestError
```
```{js:autoclass} RustViaduct.sys.OhttpResponseError
:members:
:exclude-members: OhttpResponseError
```
```{js:autoclass} RustViaduct.sys.RequestHeaderError
:members:
:exclude-members: RequestHeaderError
```
```{js:autoclass} RustViaduct.sys.Response
:members:
:exclude-members: Response
```
```{js:autoclass} RustViaduct.sys.SetBackendError
:members:
:exclude-members: SetBackendError
```
```{js:autoclass} RustViaduct.sys.UrlError
:members:
:exclude-members: UrlError
```
```{js:autofunction} RustViaduct.sys.allowAndroidEmulatorLoopback
```
```{js:autofunction} RustViaduct.sys.clearOhttpChannels
```
```{js:autofunction} RustViaduct.sys.configureDefaultOhttpChannels
```
```{js:autofunction} RustViaduct.sys.configureOhttpChannel
```
```{js:autofunction} RustViaduct.sys.initBackend
```
```{js:autofunction} RustViaduct.sys.listOhttpChannels
```
```{js:autofunction} RustViaduct.sys.sendOhttpRequest
```
```{js:autofunction} RustViaduct.sys.setGlobalDefaultUserAgent
```