layout: Enable rendering of conical-gradient and repeating-conical-gradient (#31597)

This also ignores a clippy warning for a new function (and a similar
existing one), until this code can be refactored to use temporary Rust
strutures to carry display list building state.

There are a few new test failures here:

 - FAIL [expected PASS] /css/css-images/image-set/image-set-conic-gradient-rendering.html
 - FAIL [expected PASS] /css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html

 These fail because Servo does not yet support `image-set()`.

 - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-conic-gradient.html
 - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html

 These fail because Servo does not support the very early filter effects
 specification.

 - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html
 - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html

 These fail because this change only adds support for CSS conical
 gradients. Another set of changes will be necessary to support this for
 Canvas.
This commit is contained in:
Martin Robinson 2024-03-11 13:58:44 +01:00 committed by GitHub
parent de7b9bed85
commit 1d1f239ecc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 161 additions and 405 deletions

View file

@ -1019,7 +1019,7 @@ impl Fragment {
};
DisplayItem::RadialGradient(CommonDisplayItem::with_data(base, item, stops))
},
Gradient::Conic { .. } => unimplemented!(),
Gradient::Conic { .. } => return,
};
state.add_display_item(display_item);
});
@ -1273,7 +1273,7 @@ impl Fragment {
stops = radial_stops;
NinePatchBorderSource::RadialGradient(wr_gradient)
},
Gradient::Conic { .. } => unimplemented!(),
Gradient::Conic { .. } => return None,
},
_ => return None,
};