Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upFix WPT test failures induced by switching 2D canvas rendering backend to Raqote #25331
Comments
|
Tests using |
|
Just a quick update to show that I'm alive: I've been on vacation for the past week and will continue working on this by Monday. My fiancee is going on vacation for two weeks then, so I got some extra time on my hands! |
|
@jrmuizel, any news on the |
|
@pylbrecht nope, I haven't had a chance to complete my research on the issue. The problem is tracked upstream here: jrmuizel/raqote#96 |
Fix canvas arc path WPT test failures <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 (GitHub issue number if applicable) <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Ensure subpath for control point of CanvasRenderingContext2D.quadraticCurveTo() <!-- Please describe your changes on the following line: --> These changes are based on #25444. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas arc path WPT test failures <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 (GitHub issue number if applicable) <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas arc path WPT test failures <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 (GitHub issue number if applicable) <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas arc path WPT test failures <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 (GitHub issue number if applicable) <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Ensure subpath for control point of CanvasRenderingContext2D.quadraticCurveTo() <!-- Please describe your changes on the following line: --> These changes are based on #25444. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
Unfortunately university deadlines combined with frustrating hours in the lab ate up all the extra time I planned on using for contributing this week. I hope the debugging gods show mercy tomorrow, so I can fix some wpt tests next week. |
|
While inspecting https://dxr.mozilla.org/servo/source/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1.html, I came across something, I don't quite understand. expected: https://codepen.io/pylbrecht/pen/RwNJyWE let mut dt = DrawTarget::new(300, 300);
let mut pb = PathBuilder::new();
pb.rect(0., 0., 100., 50.);
dt.fill(
&pb.finish(),
&Source::Solid(SolidSource::from_unpremultiplied_argb(255, 255, 0, 0)),
&DrawOptions::new(),
);
let mut pb = PathBuilder::new();
pb.rect(200., 100., 400., 1000.);
pb.line_to(-2000., -1000.);
dt.stroke(
&pb.finish(),
&Source::Solid(SolidSource::from_unpremultiplied_argb(255, 0, 255, 0)),
&StrokeStyle {
width: 100.,
cap: LineCap::Butt,
join: LineJoin::Miter,
miter_limit: 10.,
dash_array: Vec::new(),
dash_offset: 0.,
},
&DrawOptions::new(),
);
dt.write_png("example.png");// edit: let mut dt = DrawTarget::new(300, 300);
let mut pb = PathBuilder::new();
pb.rect(0., 0., 100., 50.);
dt.fill(
&pb.finish(),
&Source::Solid(SolidSource::from_unpremultiplied_argb(255, 255, 0, 0)),
&DrawOptions::new(),
);
let mut pb = PathBuilder::new();
pb.rect(200., 100., 400., 1000.);
pb.move_to(200., 100.);
pb.line_to(-2000., -1000.);
dt.stroke(
&pb.finish(),
&Source::Solid(SolidSource::from_unpremultiplied_argb(255, 0, 255, 0)),
&StrokeStyle {
width: 100.,
cap: LineCap::Butt,
join: LineJoin::Miter,
miter_limit: 10.,
dash_array: Vec::new(),
dash_offset: 0.,
},
&DrawOptions::new(),
);
dt.write_png("example.png"); |
|
This is a bug in raqote. I'm working on a fix. |
|
Fixed in jrmuizel/raqote@0cad3c3 |
Fix canvas wpt test "path-objects/2d.path.end.1.html" <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test "path-objects/2d.path.end.1.html" <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test "path-objects/2d.path.end.1.html" <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test "path-objects/2d.path.end.1.html" <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test "path-objects/2d.path.end.1.html" <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test ensuring there's a subpath when drawing bezier curves <!-- Please describe your changes on the following line: --> These changes will ensure there's a subpath when drawing bezier curves. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test ensuring there's a subpath when drawing bezier curves <!-- Please describe your changes on the following line: --> These changes will ensure there's a subpath when drawing bezier curves. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test ensuring there's a subpath when drawing bezier curves <!-- Please describe your changes on the following line: --> These changes will ensure there's a subpath when drawing bezier curves. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix canvas wpt test `path-objects/2d.path.rect.zero.4.html` <!-- Please describe your changes on the following line: --> After connecting the lines of a rectangle, a new subpath has to be created containing the rectangle's origin as the only point in the subpath. (see step 4 of https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-rect) --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
I'm currently investigating I have a little hunch that the expected I tried to figure out where the conversion is performed, but I couldn't point my finger on the exact place in the code. I wasn't even sure if the area I was looking around in was the right one. I read the @jdm, I need a little guidance on this one. Can you help me out? |
|
Yep! Since the arguments are Overall, I have a suspicion that we're not actually implementing https://heycam.github.io/webidl/#abstract-opdef-converttoint anywhere. |
|
Then again, at first glance it's not entirely clear to me why this test expects a TypeError, since https://html.spec.whatwg.org/multipage/canvas.html#canvasimagedata doesn't use [EnforceRange]. Yet https://wpt.fyi/results/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html?label=master&label=experimental&aligned&q=create2.nonfinite shows that all other browsers pass this. |
|
Firefox's generated code has this interesting snippet: https://searchfox.org/mozilla-central/source/__GENERATED__/dom/bindings/CanvasRenderingContext2DBinding.cpp#4136-4143 |
|
Huh - Firefox's WebIDL doesn't match the specification, which explains the difference: https://searchfox.org/mozilla-central/rev/c79c0d65a183d9d38676855f455a5c6a7f7dadd3/dom/webidl/CanvasRenderingContext2D.webidl#266-268 |
|
And that change was made in 2017: whatwg/html#2452 :( |
|
I filed whatwg/html#5336 about changing the spec. |
|
On @jdm's advice I will stall working on any test cases related to this until whatwg/html#5336 is resolved. |
|
2dcontext/fill-and-stroke-styles/2d.pattern.image.nosrc.html fails on this assertion: var img = document.createElementNS("http://www.w3.org/2000/svg", "image");
_assertSame(ctx.createPattern(img, 'repeat'), null, "ctx.createPattern(img, 'repeat')", "null");with the output of:
The auto-generated code #[derive(JSTraceable)]
pub enum HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue {
HTMLImageElement(DomRoot<HTMLImageElement>),
HTMLCanvasElement(DomRoot<HTMLCanvasElement>),
OffscreenCanvas(DomRoot<OffscreenCanvas>),
CSSStyleValue(DomRoot<CSSStyleValue>),
}
...
impl FromJSValConvertible for HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue {
type Config = ();
unsafe fn from_jsval(cx: *mut JSContext,
value: HandleValue,
_option: ())
-> Result<ConversionResult<HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue>, ()> {
if value.get().is_object() {
match HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::TryConvertToHTMLImageElement(SafeJSContext::from_ptr(cx), value) {
Err(_) => return Err(()),
Ok(Some(value)) => return Ok(ConversionResult::Success(HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::HTMLImageElement(value))),
Ok(None) => (),
}
match HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::TryConvertToHTMLCanvasElement(SafeJSContext::from_ptr(cx), value) {
Err(_) => return Err(()),
Ok(Some(value)) => return Ok(ConversionResult::Success(HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::HTMLCanvasElement(value))),
Ok(None) => (),
}
match HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::TryConvertToOffscreenCanvas(SafeJSContext::from_ptr(cx), value) {
Err(_) => return Err(()),
Ok(Some(value)) => return Ok(ConversionResult::Success(HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::OffscreenCanvas(value))),
Ok(None) => (),
}
match HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::TryConvertToCSSStyleValue(SafeJSContext::from_ptr(cx), value) {
Err(_) => return Err(()),
Ok(Some(value)) => return Ok(ConversionResult::Success(HTMLOrSVGImageElementOrHTMLCanvasElementOrOffscreenCanvasOrCSSStyleValue::CSSStyleValue(value))),
Ok(None) => (),
}
}
Ok(ConversionResult::Failure("argument could not be converted to any of: HTMLImageElement, HTMLCanvasElement, OffscreenCanvas, CSSStyleValue".into()))
}
}Is // edit: |
|
There is no SVG implementation in Servo right now. It's not worth investigating any failures that involve SVG elements. |
|
Alright, then they'll go on the exclude list (for now). Thanks! |
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Handle nonexistent images in CanvasRenderingContext2D.createPattern() <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix radial gradients for html canvas element <!-- Please describe your changes on the following line: --> The latest version of raqote provides a fix for properly handling boundary conditions for TwoCircleRadialGradients. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix radial gradients for html canvas element <!-- Please describe your changes on the following line: --> The latest version of raqote provides a fix for properly handling boundary conditions for TwoCircleRadialGradients. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix radial gradients for html canvas element <!-- Please describe your changes on the following line: --> The latest version of raqote provides a fix for properly handling boundary conditions for TwoCircleRadialGradients. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix radial gradients for html canvas element <!-- Please describe your changes on the following line: --> The latest version of raqote provides a fix for properly handling boundary conditions for TwoCircleRadialGradients. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #25331 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->


#24470 left over some failing tests, which need to be addressed.
Relevant tests:
tests/wpt/web-platform-tests/2dcontext/