style: Implement parsing and serialization for most of image-set().

This implements the basic image-set notation without the format()
function (for simplicity).

There's a remaining serialization issue (we should probably skip 1x
resolutions), but that's fine for now, I'll address this in a follow-up
when the feature is testable.

The intention is to do the image selection at computed value time
(keeping a selected index or such), but same, follow-up.

This also fixes an issue where the cors-mode for -moz-image-rect and
cross-fade() was getting ignored when parsing.

Differential Revision: https://phabricator.services.mozilla.com/D100640
This commit is contained in:
Emilio Cobos Álvarez 2021-01-07 04:15:29 +00:00
parent f27003c810
commit 4f28a8cd31
6 changed files with 139 additions and 30 deletions

View file

@ -13,6 +13,8 @@ use std::fmt::{self, Write};
use style_traits::{CssWriter, ToCss};
/// A computed `<resolution>`.
#[repr(C)]
#[derive(Clone, Debug, MallocSizeOf, PartialEq, ToResolvedValue, ToShmem)]
pub struct Resolution(CSSFloat);
impl Resolution {