From f691acd9582ffb0de292a2d8588d148c1a1ebca6 Mon Sep 17 00:00:00 2001 From: pylbrecht Date: Mon, 6 Jan 2020 17:42:35 +0100 Subject: [PATCH] Ensure there's a subpath for the first control point --- components/canvas/canvas_data.rs | 5 ++++- .../path-objects/2d.path.arcTo.ensuresubpath.2.html.ini | 4 ---- .../path-objects/2d.path.arcTo.ensuresubpath.2.html.ini | 4 ---- 3 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini delete mode 100644 tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs index ab30dbe97411..2b993d62bab8 100644 --- a/components/canvas/canvas_data.rs +++ b/components/canvas/canvas_data.rs @@ -798,7 +798,10 @@ impl<'a> CanvasData<'a> { pub fn arc_to(&mut self, cp1: &Point2D, cp2: &Point2D, radius: f32) { let cp0 = match self.path_builder().current_point() { Some(p) => p, - None => return, + None => { + self.path_builder().move_to(cp1); + cp1.clone() + }, }; let cp1 = *cp1; let cp2 = *cp2; diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini deleted file mode 100644 index 72a5d82aa29a..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.path.arcTo.ensuresubpath.2.html] - [If there is no subpath, the first control point is added] - expected: FAIL - diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini deleted file mode 100644 index 72a5d82aa29a..000000000000 --- a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.path.arcTo.ensuresubpath.2.html] - [If there is no subpath, the first control point is added] - expected: FAIL -