diff --git a/components/style/values/computed/image.rs b/components/style/values/computed/image.rs index fc484979153..8844f7306c0 100644 --- a/components/style/values/computed/image.rs +++ b/components/style/values/computed/image.rs @@ -78,10 +78,8 @@ impl ToComputedValue for specified::ImageSet { let items = self.items.to_computed_value(context); let dpr = context.device().device_pixel_ratio().get(); - // If no item have a supported MIME type, the behavior is undefined by the standard - // By default, we select the first item let mut supported_image = false; - let mut selected_index = 0; + let mut selected_index = std::usize::MAX; let mut selected_resolution = items[0].resolution.dppx(); for (i, item) in items.iter().enumerate() { @@ -126,7 +124,7 @@ impl ToComputedValue for specified::ImageSet { fn from_computed_value(computed: &Self::ComputedValue) -> Self { Self { - selected_index: 0, + selected_index: std::usize::MAX, items: ToComputedValue::from_computed_value(&computed.items), } } diff --git a/components/style/values/generics/image.rs b/components/style/values/generics/image.rs index 3b84d982381..7e0ac7ec5b2 100644 --- a/components/style/values/generics/image.rs +++ b/components/style/values/generics/image.rs @@ -108,7 +108,7 @@ pub use self::GenericCrossFadeImage as CrossFadeImage; #[css(comma, function = "image-set")] #[repr(C)] pub struct GenericImageSet { - /// The index of the selected candidate. Zero for specified values. + /// The index of the selected candidate. usize::MAX for specified values or invalid images. #[css(skip)] pub selected_index: usize, diff --git a/components/style/values/specified/image.rs b/components/style/values/specified/image.rs index a9eb6bf6571..2a58d3f9ed6 100644 --- a/components/style/values/specified/image.rs +++ b/components/style/values/specified/image.rs @@ -399,7 +399,7 @@ impl ImageSet { }) })?; Ok(Self { - selected_index: 0, + selected_index: std::usize::MAX, items: items.into(), }) }