From 789a90a82f7d0c89bf2b1065acbf218626a66a41 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Sat, 28 Nov 2015 20:03:17 -0800 Subject: [PATCH] Implement IsPointInPath --- components/canvas/canvas_paint_task.rs | 11 +++++++++ components/canvas_traits/lib.rs | 7 ++++++ .../script/dom/canvasrenderingcontext2d.rs | 15 +++++++++++- .../webidls/CanvasRenderingContext2D.webidl | 9 ++++--- components/servo/Cargo.lock | 22 ++++++++--------- ports/cef/Cargo.lock | 24 +++++++++---------- ports/gonk/Cargo.lock | 22 ++++++++--------- .../2d.path.isPointInPath.arc.html.ini | 5 ---- .../2d.path.isPointInPath.basic.1.html.ini | 5 ---- .../2d.path.isPointInPath.basic.2.html.ini | 5 ---- .../2d.path.isPointInPath.bezier.html.ini | 5 ---- .../2d.path.isPointInPath.bigarc.html.ini | 5 ---- .../2d.path.isPointInPath.edge.html.ini | 5 ---- .../2d.path.isPointInPath.empty.html.ini | 5 ---- .../2d.path.isPointInPath.nonfinite.html.ini | 5 ---- .../2d.path.isPointInPath.outside.html.ini | 5 ---- .../2d.path.isPointInPath.subpath.html.ini | 5 ---- ...2d.path.isPointInPath.transform.1.html.ini | 5 ---- ...2d.path.isPointInPath.transform.3.html.ini | 5 ---- .../2d.path.isPointInPath.unclosed.html.ini | 5 ---- .../2d.path.isPointInPath.winding.html.ini | 5 ---- .../send-content-type-string.htm.ini | 1 + .../wpt/metadata/html/dom/interfaces.html.ini | 18 -------------- 23 files changed, 71 insertions(+), 128 deletions(-) delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.arc.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bezier.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.edge.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.empty.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.outside.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.subpath.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html.ini delete mode 100644 tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.winding.html.ini diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs index c1b81140d049..3a495620c03c 100644 --- a/components/canvas/canvas_paint_task.rs +++ b/components/canvas/canvas_paint_task.rs @@ -136,6 +136,9 @@ impl<'a> CanvasPaintTask<'a> { Canvas2dMsg::Fill => painter.fill(), Canvas2dMsg::Stroke => painter.stroke(), Canvas2dMsg::Clip => painter.clip(), + Canvas2dMsg::IsPointInPath(x, y, fill_rule, chan) => { + painter.is_point_in_path(x, y, fill_rule, chan) + }, Canvas2dMsg::DrawImage(imagedata, image_size, dest_rect, source_rect, smoothing_enabled) => { painter.draw_image(imagedata, image_size, dest_rect, source_rect, smoothing_enabled) @@ -318,6 +321,14 @@ impl<'a> CanvasPaintTask<'a> { self.drawtarget.push_clip(&self.path_builder.finish()); } + fn is_point_in_path(&mut self, x: f64, y: f64, + _fill_rule: FillRule, chan: IpcSender) { + let path = self.path_builder.finish(); + let result = path.contains_point(x, y, &self.state.transform); + self.path_builder = path.copy_to_builder(); + chan.send(result).unwrap(); + } + fn draw_image(&self, image_data: Vec, image_size: Size2D, dest_rect: Rect, source_rect: Rect, smoothing_enabled: bool) { // We round up the floating pixel values to draw the pixels diff --git a/components/canvas_traits/lib.rs b/components/canvas_traits/lib.rs index 305704b584d0..d7caf4d6eb61 100644 --- a/components/canvas_traits/lib.rs +++ b/components/canvas_traits/lib.rs @@ -42,6 +42,12 @@ use std::str::FromStr; use std::sync::mpsc::Sender; use util::mem::HeapSizeOf; +#[derive(Clone, Deserialize, Serialize)] +pub enum FillRule { + Nonzero, + Evenodd, +} + #[derive(Clone, Deserialize, Serialize)] pub enum CanvasMsg { Canvas2d(Canvas2dMsg), @@ -93,6 +99,7 @@ pub enum Canvas2dMsg { Fill, FillRect(Rect), GetImageData(Rect, Size2D, IpcSender>), + IsPointInPath(f64, f64, FillRule, IpcSender), LineTo(Point2D), MoveTo(Point2D), PutImageData(Vec, Point2D, Size2D, Rect), diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 5fed20daae7b..119f819cf8e9 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -5,7 +5,7 @@ use canvas::canvas_paint_task::RectToi32; use canvas_traits::{Canvas2dMsg, CanvasCommonMsg, CanvasMsg}; use canvas_traits::{CompositionOrBlending, LineCapStyle, LineJoinStyle}; -use canvas_traits::{FillOrStrokeStyle, LinearGradientStyle, RadialGradientStyle, RepetitionStyle}; +use canvas_traits::{FillOrStrokeStyle, FillRule, LinearGradientStyle, RadialGradientStyle, RepetitionStyle}; use cssparser::Color as CSSColor; use cssparser::{Parser, RGBA}; use dom::bindings::cell::DOMRefCell; @@ -695,6 +695,19 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { self.ipc_renderer.send(CanvasMsg::Canvas2d(Canvas2dMsg::Clip)).unwrap(); } + // https://html.spec.whatwg.org/multipage/#dom-context-2d-ispointinpath + fn IsPointInPath(&self, x: f64, y: f64, fill_rule: CanvasFillRule) -> bool { + let fill_rule = match fill_rule { + CanvasFillRule::Nonzero => FillRule::Nonzero, + CanvasFillRule::Evenodd => FillRule::Evenodd, + }; + let (sender, receiver) = ipc::channel::().unwrap(); + self.ipc_renderer + .send(CanvasMsg::Canvas2d(Canvas2dMsg::IsPointInPath(x, y, fill_rule, sender))) + .unwrap(); + receiver.recv().unwrap() + } + // https://html.spec.whatwg.org/multipage/#dom-context-2d-drawimage fn DrawImage(&self, image: HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D, diff --git a/components/script/dom/webidls/CanvasRenderingContext2D.webidl b/components/script/dom/webidls/CanvasRenderingContext2D.webidl index 1fa82ba0e1a8..a0e7614a1a23 100644 --- a/components/script/dom/webidls/CanvasRenderingContext2D.webidl +++ b/components/script/dom/webidls/CanvasRenderingContext2D.webidl @@ -94,13 +94,12 @@ interface CanvasRenderingContext2D { void clip(optional CanvasFillRule fillRule = "nonzero"); //void clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); //void resetClip(); - //boolean isPointInPath(unrestricted double x, unrestricted double y, + boolean isPointInPath(unrestricted double x, unrestricted double y, + optional CanvasFillRule fillRule = "nonzero"); + //boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, // optional CanvasFillRule fillRule = "nonzero"); - //boolean isPointInPath(Path2D path, unrestricted double x, unrestricted - // double y, optional CanvasFillRule fillRule = "nonzero"); //boolean isPointInStroke(unrestricted double x, unrestricted double y); - // boolean isPointInStroke(Path2D path, unrestricted double x, - // unrestricted double y); + //boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); // text (see also the CanvasDrawingStyles interface) //void fillText(DOMString text, unrestricted double x, unrestricted double y, diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 849901edb05b..c3130127e9f6 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -91,8 +91,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "azure" -version = "0.2.0" -source = "git+https://github.com/servo/rust-azure#a835f8578737034d48762b379f19a92bb2882cc0" +version = "0.2.1" +source = "git+https://github.com/servo/rust-azure#b8a761c2d4bc6ee1fa62e1c34763c2f5a7650779" dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -153,7 +153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "canvas" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -172,7 +172,7 @@ dependencies = [ name = "canvas_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", @@ -260,7 +260,7 @@ name = "compositing" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas 0.0.1", "canvas_traits 0.0.1", "clipboard 0.1.0 (git+https://github.com/aweinstock314/rust-clipboard)", @@ -623,7 +623,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -671,7 +671,7 @@ dependencies = [ name = "gfx_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", ] [[package]] @@ -929,7 +929,7 @@ name = "layers" version = "0.2.0" source = "git+https://github.com/servo/rust-layers#c4efb24deb170908a534ae916d23890f85725b17" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cgl 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -949,7 +949,7 @@ name = "layout" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -1127,7 +1127,7 @@ name = "msg" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1952,7 +1952,7 @@ name = "util" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 05376a426fdf..79c23d60a245 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -2,7 +2,7 @@ name = "embedding" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cgl 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "cocoa 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", @@ -80,8 +80,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "azure" -version = "0.2.0" -source = "git+https://github.com/servo/rust-azure#a835f8578737034d48762b379f19a92bb2882cc0" +version = "0.2.1" +source = "git+https://github.com/servo/rust-azure#b8a761c2d4bc6ee1fa62e1c34763c2f5a7650779" dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -142,7 +142,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "canvas" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -161,7 +161,7 @@ dependencies = [ name = "canvas_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", @@ -260,7 +260,7 @@ name = "compositing" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas 0.0.1", "canvas_traits 0.0.1", "clipboard 0.1.0 (git+https://github.com/aweinstock314/rust-clipboard)", @@ -590,7 +590,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -631,7 +631,7 @@ dependencies = [ name = "gfx_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", ] [[package]] @@ -889,7 +889,7 @@ name = "layers" version = "0.2.0" source = "git+https://github.com/servo/rust-layers#c4efb24deb170908a534ae916d23890f85725b17" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cgl 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -909,7 +909,7 @@ name = "layout" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -1087,7 +1087,7 @@ name = "msg" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1888,7 +1888,7 @@ name = "util" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index deb0b1c0db57..b86c6a74b91a 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -71,8 +71,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "azure" -version = "0.2.0" -source = "git+https://github.com/servo/rust-azure#a835f8578737034d48762b379f19a92bb2882cc0" +version = "0.2.1" +source = "git+https://github.com/servo/rust-azure#b8a761c2d4bc6ee1fa62e1c34763c2f5a7650779" dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -133,7 +133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "canvas" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -152,7 +152,7 @@ dependencies = [ name = "canvas_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", @@ -240,7 +240,7 @@ name = "compositing" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "canvas 0.0.1", "canvas_traits 0.0.1", "clipboard 0.1.0 (git+https://github.com/aweinstock314/rust-clipboard)", @@ -588,7 +588,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -629,7 +629,7 @@ dependencies = [ name = "gfx_traits" version = "0.0.1" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", ] [[package]] @@ -865,7 +865,7 @@ name = "layers" version = "0.2.0" source = "git+https://github.com/servo/rust-layers#c4efb24deb170908a534ae916d23890f85725b17" dependencies = [ - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "cgl 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -885,7 +885,7 @@ name = "layout" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -1063,7 +1063,7 @@ name = "msg" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1862,7 +1862,7 @@ name = "util" version = "0.0.1" dependencies = [ "app_units 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "azure 0.2.0 (git+https://github.com/servo/rust-azure)", + "azure 0.2.1 (git+https://github.com/servo/rust-azure)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.arc.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.arc.html.ini deleted file mode 100644 index 832c2665fba1..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.arc.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.arc.html] - type: testharness - [isPointInPath() works on arcs] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html.ini deleted file mode 100644 index 7d715e75658d..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.basic.1.html] - type: testharness - [isPointInPath() detects whether the point is inside the path] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html.ini deleted file mode 100644 index b42c7712c51a..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.basic.2.html] - type: testharness - [isPointInPath() detects whether the point is inside the path] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bezier.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bezier.html.ini deleted file mode 100644 index 9235849a8a9f..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bezier.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.bezier.html] - type: testharness - [isPointInPath() works on Bezier curves] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html.ini deleted file mode 100644 index 341b9bd460fe..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.bigarc.html] - type: testharness - [isPointInPath() works on unclosed arcs larger than 2pi] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.edge.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.edge.html.ini deleted file mode 100644 index e4cb413b5bab..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.edge.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.edge.html] - type: testharness - [isPointInPath() counts points on the path as being inside] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.empty.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.empty.html.ini deleted file mode 100644 index 8ab421be7adf..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.empty.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.empty.html] - type: testharness - [isPointInPath() works when there is no path] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html.ini deleted file mode 100644 index c79f039d929e..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.nonfinite.html] - type: testharness - [isPointInPath() returns false for non-finite arguments] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.outside.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.outside.html.ini deleted file mode 100644 index 4038b3af6c75..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.outside.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.outside.html] - type: testharness - [isPointInPath() works on paths outside the canvas] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.subpath.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.subpath.html.ini deleted file mode 100644 index 401d0f6632c5..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.subpath.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.subpath.html] - type: testharness - [isPointInPath() uses the current path, not just the subpath] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html.ini deleted file mode 100644 index c65142a293d9..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.transform.1.html] - type: testharness - [isPointInPath() handles transformations correctly] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html.ini deleted file mode 100644 index dbf9afc61de7..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.transform.3.html] - type: testharness - [isPointInPath() handles transformations correctly] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html.ini deleted file mode 100644 index 5f3b65f58f06..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.unclosed.html] - type: testharness - [isPointInPath() works on unclosed subpaths] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.winding.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.winding.html.ini deleted file mode 100644 index 37b8eac6e2a4..000000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.isPointInPath.winding.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.isPointInPath.winding.html] - type: testharness - [isPointInPath() uses the non-zero winding number rule] - expected: FAIL - diff --git a/tests/wpt/metadata/XMLHttpRequest/send-content-type-string.htm.ini b/tests/wpt/metadata/XMLHttpRequest/send-content-type-string.htm.ini index ba64bb6b5857..5ae82d200627 100644 --- a/tests/wpt/metadata/XMLHttpRequest/send-content-type-string.htm.ini +++ b/tests/wpt/metadata/XMLHttpRequest/send-content-type-string.htm.ini @@ -5,3 +5,4 @@ [XMLHttpRequest: send() - Content-Type 2] expected: FAIL + diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index 5bbbf4ef0693..8f58b9758297 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -6024,12 +6024,6 @@ [CanvasRenderingContext2D interface: operation resetClip()] expected: FAIL - [CanvasRenderingContext2D interface: operation isPointInPath(unrestricted double,unrestricted double,CanvasFillRule)] - expected: FAIL - - [CanvasRenderingContext2D interface: operation isPointInPath(Path2D,unrestricted double,unrestricted double,CanvasFillRule)] - expected: FAIL - [CanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double,unrestricted double)] expected: FAIL @@ -6129,18 +6123,6 @@ [CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetClip" with the proper type (41)] expected: FAIL - [CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath" with the proper type (42)] - expected: FAIL - - [CanvasRenderingContext2D interface: calling isPointInPath(unrestricted double,unrestricted double,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError] - expected: FAIL - - [CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath" with the proper type (43)] - expected: FAIL - - [CanvasRenderingContext2D interface: calling isPointInPath(Path2D,unrestricted double,unrestricted double,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError] - expected: FAIL - [CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke" with the proper type (44)] expected: FAIL