Oxidation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add bug number for the SDP parser work.)
(Clean up current status)
Line 3: Line 3:
* Tracking: {{bug|oxidation}}
* Tracking: {{bug|oxidation}}
* [https://developer.mozilla.org/en-US/Firefox/Building_Firefox_with_Rust_code Developer Documentation]
* [https://developer.mozilla.org/en-US/Firefox/Building_Firefox_with_Rust_code Developer Documentation]
* [https://gecko.readthedocs.io/en/latest/build/buildsystem/rust.html Build System Documentation]


Which components will use Rust code?
Which components will use Rust code?
Line 19: Line 20:
** Replace the preferences module
** Replace the preferences module
** Replace the telemetry module(?)
** Replace the telemetry module(?)
** Share media playback stack with Servo(?)


What is the high-level status of things?
What is the high-level status of things?
* Build system support for Rust is available, but not required by default.
* We are actively adding new code modules written in Rust to Firefox.
* The MP4 metadata parser is enabled and shipped on release!
* The MP4 metadata parser is enabled and shipped on release!
* Rust code is not currently enabled on Android.
* Rust has been *required* on all platforms since Firefox 54.
* Rust has been *required* on all platforms since Firefox 54.


Line 36: Line 37:


* Tracking bug {{bug|1231764}}
* Tracking bug {{bug|1231764}}
* Vendoring Cargo crates [https://github.com/rust-lang/cargo/issues/1926] [https://github.com/rust-lang/cargo/issues/2212] [https://github.com/rust-lang/cargo/pull/2361]
* Improve working with vendored Cargo crates [https://github.com/rust-lang/cargo/issues/1926] [https://github.com/rust-lang/cargo/issues/2212]
* Two-way source sync (design still in progress) [[https://groups.google.com/forum/#!topic/mozilla.dev.servo/qESJoCIsPU8 Discussion]


== Rust / Cargo nice-to-haves ==
== Rust / Cargo nice-to-haves ==

Revision as of 21:36, 5 July 2017

Oxidation is a project to integrate Rust code into Gecko and Firefox.

Which components will use Rust code?

  • Completed
  • In progress
  • Proposed
    • Replace the XML parser
    • Replace the preferences module
    • Replace the telemetry module(?)
    • Share media playback stack with Servo(?)

What is the high-level status of things?

  • We are actively adding new code modules written in Rust to Firefox.
  • The MP4 metadata parser is enabled and shipped on release!
  • Rust has been *required* on all platforms since Firefox 54.

Raw Rust code (lives in m-c) blockers

Cargo / GitHub blockers

Rust / Cargo nice-to-haves

  • Per-crate integer overflow checking [4]
  • Artifact caching [5]

Meetings

  • Mozlando [6]
  • Oxidation Nov. 2015 [7]
  • Mozlandia [8]
  • Whistler [9]