Closed Bug 1345207 Opened 7 years ago Closed 7 years ago

stylo: Switch Servo style system to encoding_rs

Categories

(Core :: CSS Parsing and Computation, enhancement, P5)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: bholley, Unassigned)

References

(Blocks 1 open bug, )

Details

This probably doesn't block shipping, but will be a codesize win once Gecko ships encoding-rs for other reasons. We probably shouldn't work on it until then.
Depends on: encoding_rs
Priority: -- → P5
Summary: stylo: Switch Servo style system to encoding-rs → stylo: Switch Servo style system to encoding_rs
I don’t think this really depends on 1261841, Stylo can switch from rust-encoding regardless of whether uconv is still used elsewhere in Gecko.

My medium/long-term plan is to switch all of Servo (including Stylo) to encoding-rs, but that depends on refactoring html5ever’s input handling. (Which is something that is independently desirable eventually, but not a priority). I’d rather switch everything at once to avoid having two encoding libraries in Servo.

However, if desired, we can use conditional compilation to switch Stylo without (before) switching Servo. It should be fairly easy: rust-cssparser is already encoding-library-agnostic, so all of the relevant code is now in servo/components/style/stylesheets.rs. (Look for "EncodingRef" in that file.)
No longer depends on: encoding_rs
Turns out that Stylo did not use the parts of the style crate that use rust-encoding, so I made them conditionally compiled in https://github.com/servo/servo/pull/15993. Now Stylo does not depend on either library.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Nice, thanks Simon!
You need to log in before you can comment on or make changes to this bug.