diff options
193 files changed, 1418 insertions, 239 deletions
diff --git a/Cargo.lock b/Cargo.lock index 3cdaefb64a5..e37089997c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4187,8 +4187,8 @@ checksum = "dd5927936723a9e8b715d37d7e4b390455087c4bdf25b9f702309460577b14f9" [[package]] name = "raqote" -version = "0.7.4-alpha.0" -source = "git+https://github.com/jrmuizel/raqote#2a801bca7253e053767ef5ea11b0ee77c52617c9" +version = "0.7.7-alpha.0" +source = "git+https://github.com/jrmuizel/raqote#79162ec845a1f7ac221fbe5d50cde3f6630bf335" dependencies = [ "euclid", "font-kit", @@ -5527,9 +5527,9 @@ checksum = "c666f0fed8e1e20e057af770af9077d72f3d5a33157b8537c1475dd8ffd6d32b" [[package]] name = "sw-composite" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71bd71d7772bdbb7e5fbe37f767c5b2506bd23e72c12186a63f78c0980f64e9b" +checksum = "50a36f1738c7e57fec506df8c94719b2210816ab9de4d3dadeb9efb6bc71f1d2" [[package]] name = "swapper" diff --git a/components/canvas/azure_backend.rs b/components/canvas/azure_backend.rs index fa48d869c40..9b9d94c5052 100644 --- a/components/canvas/azure_backend.rs +++ b/components/canvas/azure_backend.rs @@ -189,9 +189,9 @@ impl GenericPathBuilder for azure_hl::PathBuilder { anticlockwise, ); } - fn get_current_point(&mut self) -> Point2D<f32> { + fn get_current_point(&mut self) -> Option<Point2D<f32>> { let AzPoint { x, y } = azure_hl::PathBuilder::get_current_point(self); - Point2D::new(x as f32, y as f32) + Some(Point2D::new(x as f32, y as f32)) } fn line_to(&mut self, point: Point2D<f32>) { azure_hl::PathBuilder::line_to(self, point as Point2D<AzFloat>); diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs index 29dd1743b46..ab30dbe9741 100644 --- a/components/canvas/canvas_data.rs +++ b/components/canvas/canvas_data.rs @@ -108,7 +108,7 @@ pub trait GenericPathBuilder { end_angle: f32, anticlockwise: bool, ); - fn get_current_point(&mut self) -> Point2D<f32>; + fn get_current_point(&mut self) -> Option<Point2D<f32>>; fn line_to(&mut self, point: Point2D<f32>); fn move_to(&mut self, point: Point2D<f32>); fn quadratic_curve_to(&mut self, control_point: &Point2D<f32>, end_point: &Point2D<f32>); @@ -205,8 +205,10 @@ impl<'a> PathBuilderRef<'a> { Some(i) => i, None => return None, }; - let current_point = self.builder.get_current_point(); - Some(inverse.transform_point(Point2D::new(current_point.x, current_point.y))) + match self.builder.get_current_point() { + Some(point) => Some(inverse.transform_point(Point2D::new(point.x, point.y))), + None => None, + } } } @@ -356,7 +358,7 @@ pub enum Pattern<'a> { #[cfg(feature = "canvas2d-azure")] Azure(azure::azure_hl::Pattern, PhantomData<&'a ()>), #[cfg(feature = "canvas2d-raqote")] - Raqote(raqote::Source<'a>), + Raqote(crate::raqote_backend::Pattern<'a>), } pub enum DrawSurfaceOptions { diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index a2f563db346..ec8f0f8e4a8 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -2,10 +2,11 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +use crate::canvas_data; use crate::canvas_data::{ Backend, CanvasPaintState, Color, CompositionOp, DrawOptions, ExtendMode, Filter, - GenericDrawTarget, GenericPathBuilder, GradientStop, GradientStops, Path, Pattern, - SourceSurface, StrokeOptions, SurfaceFormat, + GenericDrawTarget, GenericPathBuilder, GradientStop, GradientStops, Path, SourceSurface, + StrokeOptions, SurfaceFormat, }; use crate::canvas_paint_thread::AntialiasMode; use canvas_traits::canvas::*; @@ -26,11 +27,26 @@ impl Backend for RaqoteBackend { color.as_raqote().a != 0 } - fn size_from_pattern(&self, rect: &Rect<f32>, pattern: &Pattern) -> Option<Size2D<f32>> { + fn size_from_pattern( + &self, + rect: &Rect<f32>, + pattern: &canvas_data::Pattern, + ) -> Option<Size2D<f32>> { match pattern { - Pattern::Raqote(raqote::Source::Image(image, extend, ..)) => match extend { - raqote::ExtendMode::Repeat => Some(rect.size), - _ => Some(Size2D::new(image.width as f32, image.height as f32)), + canvas_data::Pattern::Raqote(Pattern::Surface(pattern)) => match pattern.repeat { + Repetition::RepeatX => Some(Size2D::new( + rect.size.width as f32, + pattern.image.height as f32, + )), + Repetition::RepeatY => Some(Size2D::new( + pattern.image.width as f32, + rect.size.height as f32, + )), + Repetition::Repeat => Some(rect.size), + Repetition::NoRepeat => Some(Size2D::new( + pattern.image.width as f32, + pattern.image.height as f32, + )), }, _ => None, } @@ -46,8 +62,8 @@ impl Backend for RaqoteBackend { state: &mut CanvasPaintState<'a>, _drawtarget: &dyn GenericDrawTarget, ) { - if let Some(source) = style.to_raqote_source() { - state.fill_style = Pattern::Raqote(source); + if let Some(pattern) = style.to_raqote_pattern() { + state.fill_style = canvas_data::Pattern::Raqote(pattern); } } @@ -57,8 +73,8 @@ impl Backend for RaqoteBackend { state: &mut CanvasPaintState<'a>, _drawtarget: &dyn GenericDrawTarget, ) { - if let Some(pattern) = style.to_raqote_source() { - state.stroke_style = Pattern::Raqote(pattern) + if let Some(pattern) = style.to_raqote_pattern() { + state.stroke_style = canvas_data::Pattern::Raqote(pattern); } } @@ -84,49 +100,180 @@ impl Backend for RaqoteBackend { impl<'a> CanvasPaintState<'a> { pub fn new(_antialias: AntialiasMode) -> CanvasPaintState<'a> { - let solid_src = raqote::SolidSource { - r: 0, - g: 0, - b: 0, - a: 255, - }; + let pattern = Pattern::Color(255, 0, 0, 0); CanvasPaintState { draw_options: DrawOptions::Raqote(raqote::DrawOptions::new()), - fill_style: Pattern::Raqote(raqote::Source::Solid(solid_src)), - stroke_style: Pattern::Raqote(raqote::Source::Solid(solid_src)), + fill_style: canvas_data::Pattern::Raqote(pattern.clone()), + stroke_style: canvas_data::Pattern::Raqote(pattern), stroke_opts: StrokeOptions::Raqote(Default::default(), PhantomData), transform: Transform2D::identity(), shadow_offset_x: 0.0, shadow_offset_y: 0.0, shadow_blur: 0.0, - shadow_color: Color::Raqote(raqote::SolidSource { - r: 0, - g: 0, - b: 0, - a: 0, - }), + shadow_color: Color::Raqote(raqote::SolidSource::from_unpremultiplied_argb(0, 0, 0, 0)), } } } -impl Pattern<'_> { - pub fn is_zero_size_gradient(&self) -> bool { +#[derive(Clone)] +pub enum Pattern<'a> { + // argb + Color(u8, u8, u8, u8), + LinearGradient(LinearGradientPattern), + RadialGradient(RadialGradientPattern), + Surface(SurfacePattern<'a>), +} + +impl<'a> Pattern<'a> { + fn set_transform(&mut self, transform: Transform2D<f32>) { + match self { + Pattern::Surface(pattern) => pattern.set_transform(transform), + Pattern::LinearGradient(..) | Pattern::RadialGradient(..) | Pattern::Color(..) => { + warn!("transform not supported") + }, + } + } +} + +#[derive(Clone)] +pub struct LinearGradientPattern { + gradient: raqote::Gradient, + start: Point2D<f32>, + end: Point2D<f32>, +} + +impl LinearGradientPattern { + fn new(start: Point2D<f32>, end: Point2D<f32>, stops: Vec<raqote::GradientStop>) -> Self { + LinearGradientPattern { + gradient: raqote::Gradient { stops: stops }, + start: start, + end: end, + } + } +} + +#[derive(Clone)] +pub struct RadialGradientPattern { + gradient: raqote::Gradient, + center1: Point2D<f32>, + radius1: f32, + center2: Point2D<f32>, + radius2: f32, +} + +impl RadialGradientPattern { + fn new( + center1: Point2D<f32>, + radius1: f32, + center2: Point2D<f32>, + radius2: f32, + stops: Vec<raqote::GradientStop>, + ) -> Self { + RadialGradientPattern { + gradient: raqote::Gradient { stops: stops }, + center1: center1, + radius1: radius1, + center2: center2, + radius2: radius2, + } + } +} + +#[derive(Clone)] +pub struct SurfacePattern<'a> { + image: raqote::Image<'a>, + filter: raqote::FilterMode, + extend: raqote::ExtendMode, + repeat: Repetition, + transform: Transform2D<f32>, +} + +impl<'a> SurfacePattern<'a> { + fn new(image: raqote::Image<'a>, filter: raqote::FilterMode, repeat: Repetition) -> Self { + let extend = match repeat { + Repetition::NoRepeat => raqote::ExtendMode::Pad, + Repetition::RepeatX | Repetition::RepeatY | Repetition::Repeat => { + raqote::ExtendMode::Repeat + }, + }; + SurfacePattern { + image: image, + filter: filter, + extend: extend, + repeat: repeat, + transform: Transform2D::identity(), + } + } + fn set_transform(&mut self, transform: Transform2D<f32>) { + self.transform = transform; + } +} + +#[derive(Clone)] +pub enum Repetition { + Repeat, + RepeatX, + RepeatY, + NoRepeat, +} + +impl Repetition { + fn from_xy(repeat_x: bool, repeat_y: bool) -> Self { + if repeat_x && repeat_y { + Repetition::Repeat + } else if repeat_x { + Repetition::RepeatX + } else if repeat_y { + Repetition::RepeatY + } else { + Repetition::NoRepeat + } + } +} + +impl canvas_data::Pattern<'_> { + pub fn source(&self) -> raqote::Source { match self { - Pattern::Raqote(p) => { - use raqote::Source::*; - - match p { - LinearGradient(g, ..) | - RadialGradient(g, ..) | - TwoCircleRadialGradient(g, ..) => g.stops.is_empty(), - _ => false, - } + canvas_data::Pattern::Raqote(pattern) => match pattern { + Pattern::Color(a, r, g, b) => raqote::Source::Solid( + raqote::SolidSource::from_unpremultiplied_argb(*a, *r, *g, *b), + ), + Pattern::LinearGradient(pattern) => raqote::Source::new_linear_gradient( + pattern.gradient.clone(), + pattern.start, + pattern.end, + raqote::Spread::Pad, + ), + Pattern::RadialGradient(pattern) => raqote::Source::new_two_circle_radial_gradient( + pattern.gradient.clone(), + pattern.center1, + pattern.radius1, + pattern.center2, + pattern.radius2, + raqote::Spread::Pad, + ), + Pattern::Surface(pattern) => raqote::Source::Image( + pattern.image, + pattern.extend, + pattern.filter, + pattern.transform, + ), }, } } - pub fn as_raqote(&self) -> &raqote::Source { + pub fn is_zero_size_gradient(&self) -> bool { match self { - Pattern::Raqote(p) => p, + canvas_data::Pattern::Raqote(pattern) => match pattern { + Pattern::RadialGradient(pattern) => { + let centers_equal = pattern.center1 == pattern.center2; + let radii_equal = pattern.radius1 == pattern.radius2; + (centers_equal && radii_equal) || pattern.gradient.stops.is_empty() + }, + Pattern::LinearGradient(pattern) => { + (pattern.start == pattern.end) || pattern.gradient.stops.is_empty() + }, + Pattern::Color(..) | Pattern::Surface(..) => false, + }, } } } @@ -187,8 +334,11 @@ impl Path { )))) } - pub fn contains_point(&self, x: f64, y: f64, _path_transform: &Transform2D<f32>) -> bool { - self.as_raqote().contains_point(0.1, x as f32, y as f32) + pub fn contains_point(&self, x: f64, y: f64, path_transform: &Transform2D<f32>) -> bool { + self.as_raqote() + .clone() + .transform(path_transform) + .contains_point(0.1, x as f32, y as f32) } pub fn copy_to_builder(&self) -> Box<dyn GenericPathBuilder> { @@ -204,6 +354,16 @@ impl Path { } } +fn create_gradient_stops(gradient_stops: Vec<CanvasGradientStop>) -> Vec<raqote::GradientStop> { + let mut stops = gradient_stops + .into_iter() + .map(|item| item.to_raqote()) + .collect::<Vec<raqote::GradientStop>>(); + // https://www.w3.org/html/test/results/2dcontext/annotated-spec/canvas.html#testrefs.2d.gradient.interpolate.overlap + stops.sort_by(|a, b| a.position.partial_cmp(&b.position).unwrap()); + stops +} + impl GenericDrawTarget for raqote::DrawTarget { fn clear_rect(&mut self, rect: &Rect<f32>) { let mut pb = raqote::PathBuilder::new(); @@ -215,16 +375,12 @@ impl GenericDrawTarget for raqote::DrawTarget { ); let mut options = raqote::DrawOptions::new(); options.blend_mode = raqote::BlendMode::Clear; - raqote::DrawTarget::fill( + let pattern = Pattern::Color(0, 0, 0, 0); + GenericDrawTarget::fill( self, - &pb.finish(), - &raqote::Source::Solid(raqote::SolidSource { - r: 0, - g: 0, - b: 0, - a: 0, - }), - &options, + &Path::Raqote(pb.finish()), + canvas_data::Pattern::Raqote(pattern), + &DrawOptions::Raqote(options), ); } #[allow(unsafe_code)] @@ -240,17 +396,24 @@ impl GenericDrawTarget for raqote::DrawTarget { dt.get_data_mut().copy_from_slice(s); raqote::DrawTarget::copy_surface(self, &dt, source.to_box2d(), destination); } + // TODO(pylbrecht) + // Somehow a duplicate of `create_gradient_stops()` with different types. + // It feels cumbersome to convert GradientStop back and forth just to use + // `create_gradient_stops()`, so I'll leave this here for now. fn create_gradient_stops( &self, gradient_stops: Vec<GradientStop>, _extend_mode: ExtendMode, ) -> GradientStops { - let stops = gradient_stops + let mut stops = gradient_stops .into_iter() .map(|item| item.as_raqote().clone()) - .collect(); + .collect::<Vec<raqote::GradientStop>>(); + // https://www.w3.org/html/test/results/2dcontext/annotated-spec/canvas.html#testrefs.2d.gradient.interpolate.overlap + stops.sort_by(|a, b| a.position.partial_cmp(&b.position).unwrap()); GradientStops::Raqote(stops) } + fn create_path_builder(&self) -> Box<dyn GenericPathBuilder> { Box::new(PathBuilder::new()) } @@ -275,28 +438,47 @@ impl GenericDrawTarget for raqote::DrawTarget { surface: SourceSurface, dest: Rect<f64>, source: Rect<f64>, - _filter: Filter, + filter: Filter, draw_options: &DrawOptions, ) { - let v = surface.as_raqote(); + let surface_data = surface.as_raqote(); let image = raqote::Image { width: source.size.width as i32, height: source.size.height as i32, data: unsafe { std::slice::from_raw_parts( - v.as_ptr() as *const u32, - v.len() * std::mem::size_of::<u8>(), + surface_data.as_ptr() as *const u32, + surface_data.len() / std::mem::size_of::<u32>(), ) }, }; - raqote::DrawTarget::draw_image_with_size_at( - self, - dest.size.width as f32, - dest.size.height as f32, + + let mut pattern = Pattern::Surface(SurfacePattern::new( + image, + filter.to_raqote(), + Repetition::NoRepeat, + )); + let transform = + raqote::Transform::create_translation(-dest.origin.x as f32, -dest.origin.y as f32) + .post_scale( + image.width as f32 / dest.size.width as f32, + image.height as f32 / dest.size.height as f32, + ); + pattern.set_transform(transform); + + let mut pb = raqote::PathBuilder::new(); + pb.rect( dest.origin.x as f32, dest.origin.y as f32, - &image, - draw_options.as_raqote(), + dest.size.width as f32, + dest.size.height as f32, + ); + + GenericDrawTarget::fill( + self, + &Path::Raqote(pb.finish()), + canvas_data::Pattern::Raqote(pattern), + draw_options, ); } fn draw_surface_with_shadow( @@ -310,17 +492,49 @@ impl GenericDrawTarget for raqote::DrawTarget { ) { warn!("no support for drawing shadows"); } - fn fill(&mut self, path: &Path, pattern: Pattern, draw_options: &DrawOptions) { - self.fill( - path.as_raqote(), - pattern.as_raqote(), - draw_options.as_raqote(), - ); + fn fill(&mut self, path: &Path, pattern: canvas_data::Pattern, draw_options: &DrawOptions) { + match draw_options.as_raqote().blend_mode { + raqote::BlendMode::Src => { + self.clear(raqote::SolidSource::from_unpremultiplied_argb(0, 0, 0, 0)); + self.fill( + path.as_raqote(), + &pattern.source(), + draw_options.as_raqote(), + ); + }, + raqote::BlendMode::Clear | + raqote::BlendMode::SrcAtop | + raqote::BlendMode::DstOut | + raqote::BlendMode::Add | + raqote::BlendMode::Xor | + raqote::BlendMode::DstOver | + raqote::BlendMode::SrcOver => { + self.fill( + path.as_raqote(), + &pattern.source(), + draw_options.as_raqote(), + ); + }, + raqote::BlendMode::SrcIn | + raqote::BlendMode::SrcOut | + raqote::BlendMode::DstIn | + raqote::BlendMode::DstAtop => { + let mut options = draw_options.as_raqote().clone(); + self.push_layer_with_blend(1., options.blend_mode); + options.blend_mode = raqote::BlendMode::SrcOver; + self.fill(path.as_raqote(), &pattern.source(), &options); + self.pop_layer(); + }, + _ => warn!( + "unrecognized blend mode: {:?}", + draw_options.as_raqote().blend_mode + ), + } } fn fill_rect( &mut self, rect: &Rect<f32>, - pattern: Pattern, + pattern: canvas_data::Pattern, draw_options: Option<&DrawOptions>, ) { let mut pb = raqote::PathBuilder::new(); @@ -336,7 +550,12 @@ impl GenericDrawTarget for raqote::DrawTarget { raqote::DrawOptions::new() }; - raqote::DrawTarget::fill(self, &pb.finish(), pattern.as_raqote(), &draw_options); + GenericDrawTarget::fill( + self, + &Path::Raqote(pb.finish()), + pattern, + &DrawOptions::Raqote(draw_options), + ); } fn get_format(&self) -> SurfaceFormat { SurfaceFormat::Raqote(()) @@ -362,13 +581,13 @@ impl GenericDrawTarget for raqote::DrawTarget { fn stroke( &mut self, path: &Path, - pattern: Pattern, + pattern: canvas_data::Pattern, stroke_options: &StrokeOptions, draw_options: &DrawOptions, ) { self.stroke( path.as_raqote(), - pattern.as_raqote(), + &pattern.source(), stroke_options.as_raqote(), draw_options.as_raqote(), ); @@ -377,7 +596,7 @@ impl GenericDrawTarget for raqote::DrawTarget { &mut self, start: Point2D<f32>, end: Point2D<f32>, - pattern: Pattern, + pattern: canvas_data::Pattern, stroke_options: &StrokeOptions, draw_options: &DrawOptions, ) { @@ -393,7 +612,7 @@ impl GenericDrawTarget for raqote::DrawTarget { self.stroke( &pb.finish(), - pattern.as_raqote(), + &pattern.source(), &stroke_options, draw_options.as_raqote(), ); @@ -401,7 +620,7 @@ impl GenericDrawTarget for raqote::DrawTarget { fn stroke_rect( &mut self, rect: &Rect<f32>, - pattern: Pattern, + pattern: canvas_data::Pattern, stroke_options: &StrokeOptions, draw_options: &DrawOptions, ) { @@ -415,7 +634,7 @@ impl GenericDrawTarget for raqote::DrawTarget { self.stroke( &pb.finish(), - pattern.as_raqote(), + &pattern.source(), stroke_options.as_raqote(), draw_options.as_raqote(), ); @@ -443,6 +662,15 @@ impl GenericDrawTarget for raqote::DrawTarget { } } +impl Filter { + fn to_raqote(&self) -> raqote::FilterMode { + match self { + Filter::Linear => raqote::FilterMode::Bilinear, + Filter::Point => raqote::FilterMode::Nearest, + } + } +} + struct PathBuilder(Option<raqote::PathBuilder>); impl PathBuilder { @@ -456,10 +684,21 @@ impl GenericPathBuilder for PathBuilder { &mut self, origin: Point2D<f32>, radius: f32, - start_angle: f32, - end_angle: f32, - _anticlockwise: bool, + mut start_angle: f32, + mut end_angle: f32, + anticlockwise: bool, ) { + if (!anticlockwise && start_angle > end_angle + 2. * PI) || + (anticlockwise && end_angle > start_angle + 2. * PI) + { + start_angle = start_angle % (2. * PI); + end_angle = end_angle % (2. * PI); + } + + if (anticlockwise && end_angle > 0.) || (!anticlockwise && end_angle < 0.) { + end_angle = -end_angle; + } + self.0 .as_mut() .unwrap() @@ -561,21 +800,18 @@ impl GenericPathBuilder for PathBuilder { } } - fn get_current_point(&mut self) -> Point2D<f32> { + fn get_current_point(&mut self) -> Option<Point2D<f32>> { let path = self.finish(); + self.0 = Some(path.as_raqote().clone().into()); - for op in path.as_raqote().ops.iter().rev() { - match op { - PathOp::MoveTo(point) | PathOp::LineTo(point) => { - return Point2D::new(point.x, point.y) - }, - PathOp::CubicTo(_, _, point) => return Point2D::new(point.x, point.y), - PathOp::QuadTo(_, point) => return Point2D::new(point.x, point.y), - PathOp::Close => {}, - }; - } - panic!("dead end"); + path.as_raqote().ops.iter().last().and_then(|op| match op { + PathOp::MoveTo(point) | PathOp::LineTo(point) => Some(Point2D::new(point.x, point.y)), + PathOp::CubicTo(_, _, point) => Some(Point2D::new(point.x, point.y)), + PathOp::QuadTo(_, point) => Some(Point2D::new(point.x, point.y)), + PathOp::Close => None, + }) } + fn line_to(&mut self, point: Point2D<f32>) { self.0.as_mut().unwrap().line_to(point.x, point.y); } @@ -625,8 +861,8 @@ impl ToRaqoteStyle for LineCapStyle { } } -pub trait ToRaqoteSource<'a> { - fn to_raqote_source(self) -> Option<raqote::Source<'a>>; +pub trait ToRaqotePattern<'a> { + fn to_raqote_pattern(self) -> Option<Pattern<'a>>; } pub trait ToRaqoteGradientStop { @@ -646,58 +882,54 @@ impl ToRaqoteGradientStop for CanvasGradientStop { } } -impl<'a> ToRaqoteSource<'a> for FillOrStrokeStyle { +impl<'a> ToRaqotePattern<'_> for FillOrStrokeStyle { #[allow(unsafe_code)] - fn to_raqote_source(self) -> Option<raqote::Source<'a>> { + fn to_raqote_pattern(self) -> Option<Pattern<'static>> { use canvas_traits::canvas::FillOrStrokeStyle::*; match self { - Color(rgba) => Some(raqote::Source::Solid(raqote::SolidSource { - r: rgba.red, - g: rgba.green, - b: rgba.blue, - a: rgba.alpha, - })), + Color(color) => Some(Pattern::Color( + color.alpha, + color.red, + color.green, + color.blue, + )), LinearGradient(style) => { - let stops = style.stops.into_iter().map(|s| s.to_raqote()).collect(); - let gradient = raqote::Gradient { stops }; let start = Point2D::new(style.x0 as f32, style.y0 as f32); let end = Point2D::new(style.x1 as f32, style.y1 as f32); - Some(raqote::Source::new_linear_gradient( - gradient, - start, - end, - raqote::Spread::Pad, - )) + let stops = create_gradient_stops(style.stops); + Some(Pattern::LinearGradient(LinearGradientPattern::new( + start, end, stops, + ))) }, RadialGradient(style) => { - let stops = style.stops.into_iter().map(|s| s.to_raqote()).collect(); - let gradient = raqote::Gradient { stops }; let center1 = Point2D::new(style.x0 as f32, style.y0 as f32); let center2 = Point2D::new(style.x1 as f32, style.y1 as f32); - Some(raqote::Source::new_two_circle_radial_gradient( - gradient, + let stops = create_gradient_stops(style.stops); + Some(Pattern::RadialGradient(RadialGradientPattern::new( center1, style.r0 as f32, center2, style.r1 as f32, - raqote::Spread::Pad, - )) + stops, + ))) }, - Surface(ref surface) => { - let data = &surface.surface_data[..]; - Some(raqote::Source::Image( - raqote::Image { - data: unsafe { - std::slice::from_raw_parts(data.as_ptr() as *const u32, data.len() / 4) - }, - width: surface.surface_size.width as i32, - height: surface.surface_size.height as i32, + Surface(ref style) => { + let repeat = Repetition::from_xy(style.repeat_x, style.repeat_y); + let data = &style.surface_data[..]; + + let image = raqote::Image { + width: style.surface_size.width as i32, + height: style.surface_size.height as i32, + data: unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u32, data.len() / 4) }, - raqote::ExtendMode::Repeat, // TODO: repeat-x, repeat-y ? - raqote::FilterMode::Bilinear, - raqote::Transform::identity(), - )) + }; + Some(Pattern::Surface(SurfacePattern::new( + image, + raqote::FilterMode::Nearest, + repeat, + ))) }, } } @@ -715,12 +947,7 @@ impl ToRaqoteStyle for RGBA { type Target = raqote::SolidSource; fn to_raqote_style(self) -> Self::Target { - raqote::SolidSource { - r: self.red, - g: self.green, - b: self.blue, - a: self.alpha, - } + raqote::SolidSource::from_unpremultiplied_argb(self.alpha, self.red, self.green, self.blue) } } diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 1a56777f14f..7c82acaa534 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -929,8 +929,8 @@ install them, let us know by filing a bug!") features.append("egl") if with_raqote and "canvas2d-azure" not in features: features.append("canvas2d-raqote") - elif "canvas2d-raqote" not in features: - features.append("canvas2d-azure") + elif "canvas2d-azure" not in features: + features.append("canvas2d-raqote") if with_layout_2020 or (self.config["build"]["layout-2020"] and not with_layout_2013): features.append("layout-2020") elif "layout-2020" not in features: diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html.ini index 379f7c20b67..ff46db987b4 100644 --- a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html.ini +++ b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html.ini @@ -24,3 +24,12 @@ [Test scenario 12: sx = -20, sy = -20, sw = 50, sh = 50, dx = 20, dy = 20, dw = 125, dh = 125 --- Pixel 69,69 should be red.] expected: FAIL + [Test scenario 10: sx = 0, sy = 0, sw = 50, sh = 50, dx = 0, dy = 0, dw = 200, dh = 200 --- Pixel 20,99 should be black.] + expected: FAIL + + [Test scenario 10: sx = 0, sy = 0, sw = 50, sh = 50, dx = 0, dy = 0, dw = 200, dh = 200 --- Pixel 99,20 should be black.] + expected: FAIL + + [Test scenario 10: sx = 0, sy = 0, sw = 50, sh = 50, dx = 0, dy = 0, dw = 200, dh = 200 --- Pixel 20,20 should be black.] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini b/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini new file mode 100644 index 00000000000..b1823dc9552 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini @@ -0,0 +1,4 @@ +[2d.fillRect.shadow.html] + [fillRect draws shadows] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini new file mode 100644 index 00000000000..d058f7852d3 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.behind.html] + [Canvas test: 2d.gradient.radial.cone.behind] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini new file mode 100644 index 00000000000..1bd5a8e4c2f --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.beside.html] + [Canvas test: 2d.gradient.radial.cone.beside] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini new file mode 100644 index 00000000000..573e63a2f5d --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.shape2.html] + [Canvas test: 2d.gradient.radial.cone.shape2] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini new file mode 100644 index 00000000000..c7e4cfa39c4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.inside3.html] + [Canvas test: 2d.gradient.radial.inside3] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini new file mode 100644 index 00000000000..30ebbe345aa --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.outside2.html] + [Canvas test: 2d.gradient.radial.outside2] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini new file mode 100644 index 00000000000..de753c42d39 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch1.html] + [Canvas test: 2d.gradient.radial.touch1] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini new file mode 100644 index 00000000000..96b36eff7ea --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch2.html] + [Canvas test: 2d.gradient.radial.touch2] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini new file mode 100644 index 00000000000..b825bc15830 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch3.html] + [Canvas test: 2d.gradient.radial.touch3] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html.ini new file mode 100644 index 00000000000..8dc7eba742c --- /dev/null +++ b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html.ini @@ -0,0 +1,4 @@ +[2d.pattern.animated.gif.html] + [createPattern() of an animated GIF draws the first frame] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini b/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini deleted file mode 100644 index 189d034a87c..00000000000 --- a/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini +++ /dev/null @@ -1,11 +0,0 @@ -[imagesmoothing.html] - type: testharness - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fillRect and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fill() and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with stroke() and createPattern().] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini new file mode 100644 index 00000000000..cbad443c3c7 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini @@ -0,0 +1,4 @@ +[2d.line.cap.closed.html] + [Line caps are not drawn at the corners of an unclosed rectangle] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.round.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.round.html.ini new file mode 100644 index 00000000000..63fd4382c1e --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.round.html.ini @@ -0,0 +1,4 @@ +[2d.line.cap.round.html] + [lineCap 'round' is rendered correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.scale.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.scale.2.html.ini new file mode 100644 index 00000000000..72ac9cfb4dc --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.scale.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.scale.2.html] + [Highly scaled arcs are the right shape] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini new file mode 100644 index 00000000000..7c1f22ff41c --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.1.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.2.html.ini new file mode 100644 index 00000000000..a25bacaabed --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.2.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini new file mode 100644 index 00000000000..c285647918d --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.3.html] + [arc() from 0 to -pi/2 does not draw anything in the wrong quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.4.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.4.html.ini new file mode 100644 index 00000000000..c22e98e44d2 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.4.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.4.html] + [arc() from 0 to -pi/2 draws stuff in the right quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini new file mode 100644 index 00000000000..522695b4c56 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.1.html] + [arc() draws nothing when end = start + 2pi-e and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.3.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.3.html.ini new file mode 100644 index 00000000000..c1e40e7c3d9 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.3.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.3.html] + [arc() draws a full circle when end = start + 2pi+e and anticlockwise] + expected: FAIL + 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 new file mode 100644 index 00000000000..72a5d82aa29 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini @@ -0,0 +1,4 @@ +[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/2dcontext/path-objects/2d.path.arcTo.scale.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.scale.html.ini new file mode 100644 index 00000000000..583a1a2cf0c --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.scale.html.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.scale.html] + [arcTo scales the curve, not just the control points] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html.ini deleted file mode 100644 index 170abb8500e..00000000000 --- a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.path.arcTo.shape.curve1.html] - type: testharness - [arcTo() curves in the right kind of shape] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.transformation.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.transformation.html.ini new file mode 100644 index 00000000000..569cfc2fb80 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arcTo.transformation.html.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.transformation.html] + [arcTo joins up to the last subpath point correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini new file mode 100644 index 00000000000..39f1fba043b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini @@ -0,0 +1,4 @@ +[2d.path.closePath.nextpoint.html] + [Canvas test: 2d.path.closePath.nextpoint] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini new file mode 100644 index 00000000000..b8ab96e6454 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.quadraticCurveTo.ensuresubpath.2.html] + [If there is no subpath, the first control point is added] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.rect.end.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.rect.end.1.html.ini new file mode 100644 index 00000000000..1b05b57645f --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.rect.end.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.rect.end.1.html] + [Canvas test: 2d.path.rect.end.1] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.2.html.ini new file mode 100644 index 00000000000..dbd2642e642 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.2.html] + [Shadow colour alpha components are used] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.3.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.3.html.ini new file mode 100644 index 00000000000..6541eaf9d0a --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.3.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.3.html] + [Shadows are affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.4.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.4.html.ini new file mode 100644 index 00000000000..18495ce21c4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.4.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.4.html] + [Shadows with alpha components are correctly affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.5.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.5.html.ini new file mode 100644 index 00000000000..2902da69695 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.alpha.5.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.5.html] + [Shadows of shapes with alpha components are drawn correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.alpha.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.alpha.html.ini new file mode 100644 index 00000000000..e025214a903 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.alpha.html] + [Shadows are drawn correctly for partially-transparent canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.basic.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.basic.html.ini new file mode 100644 index 00000000000..5968020003f --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.basic.html] + [Shadows are drawn for canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.transparent.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.transparent.2.html.ini new file mode 100644 index 00000000000..36548a28349 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.canvas.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.transparent.2.html] + [Shadows are not drawn for transparent parts of canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.1.html.ini new file mode 100644 index 00000000000..d794ecb8f7f --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.1.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.2.html.ini new file mode 100644 index 00000000000..ff8bfecd95b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.2.html] + [Shadows are not drawn outside the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.3.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.3.html.ini new file mode 100644 index 00000000000..ddb4e15719b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.clip.3.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.3.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.1.html.ini new file mode 100644 index 00000000000..183cec8f9e6 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.1.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.2.html.ini new file mode 100644 index 00000000000..f262fe31165 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.composite.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.2.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.alpha.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.alpha.html.ini new file mode 100644 index 00000000000..aca6bc8ecc0 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.alpha.html] + [Shadows are drawn correctly for partially-transparent gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.basic.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.basic.html.ini new file mode 100644 index 00000000000..718711e1c92 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.basic.html] + [Shadows are drawn for gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.transparent.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.transparent.2.html.ini new file mode 100644 index 00000000000..b0f704f9217 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.gradient.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.transparent.2.html] + [Shadows are not drawn for transparent parts of gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.alpha.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.alpha.html.ini new file mode 100644 index 00000000000..957d04b99f6 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.image.alpha.html] + [Shadows are drawn correctly for partially-transparent images] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.basic.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.basic.html.ini new file mode 100644 index 00000000000..81fa284a386 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.image.basic.html] + [Shadows are drawn for images] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.scale.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.scale.html.ini new file mode 100644 index 00000000000..8cba6d0463e --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.scale.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.image.scale.html] + [Shadows are drawn correctly for scaled images] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.transparent.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.transparent.2.html.ini new file mode 100644 index 00000000000..fdc1a6c0a13 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.image.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.image.transparent.2.html] + [Shadows are not drawn for transparent parts of images] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeX.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeX.html.ini new file mode 100644 index 00000000000..7cab12e9647 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeX.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeX.html] + [Shadows can be offset with negative x] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeY.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeY.html.ini new file mode 100644 index 00000000000..f896a487854 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.negativeY.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeY.html] + [Shadows can be offset with negative y] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveX.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveX.html.ini new file mode 100644 index 00000000000..49b5d8a0927 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveX.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveX.html] + [Shadows can be offset with positive x] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveY.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveY.html.ini new file mode 100644 index 00000000000..1b25a3038d6 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.offset.positiveY.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveY.html] + [Shadows can be offset with positive y] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.outside.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.outside.html.ini new file mode 100644 index 00000000000..b65179a2088 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.outside.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.outside.html] + [Shadows of shapes outside the visible area can be offset onto the visible area] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.alpha.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.alpha.html.ini new file mode 100644 index 00000000000..fea2a9797f0 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.pattern.alpha.html] + [Shadows are drawn correctly for partially-transparent fill patterns] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.basic.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.basic.html.ini new file mode 100644 index 00000000000..7c68f2396b2 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.pattern.basic.html] + [Shadows are drawn for fill patterns] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.transparent.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.transparent.2.html.ini new file mode 100644 index 00000000000..ee122e4fe1d --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.pattern.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.pattern.transparent.2.html] + [Shadows are not drawn for transparent parts of fill patterns] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.1.html.ini new file mode 100644 index 00000000000..13df839414b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.1.html] + [Shadows take account of transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.2.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.2.html.ini new file mode 100644 index 00000000000..dba68f79426 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.transform.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.2.html] + [Shadow offsets are not affected by transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/canvas_shadows_001.htm.ini b/tests/wpt/metadata/2dcontext/shadows/canvas_shadows_001.htm.ini new file mode 100644 index 00000000000..749b4504be4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/canvas_shadows_001.htm.ini @@ -0,0 +1,4 @@ +[canvas_shadows_001.htm] + [linear gradient fillRect draws shadow (black rectange)] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/shadowBlur_gaussian_tolerance.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/shadowBlur_gaussian_tolerance.1.html.ini new file mode 100644 index 00000000000..7fbc5cc5e81 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/shadowBlur_gaussian_tolerance.1.html.ini @@ -0,0 +1,10 @@ +[shadowBlur_gaussian_tolerance.1.html] + [shadowBlur Gaussian pixel values for small blur] + expected: FAIL + + [shadowBlur Gaussian pixel values for large blur] + expected: FAIL + + [shadowBlur Gaussian pixel values for no blur] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.large.html.ini b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.large.html.ini new file mode 100644 index 00000000000..a2f6ef4c2cb --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.large.html.ini @@ -0,0 +1,4 @@ +[2d.transformation.scale.large.html] + [scale() with large scale factors works] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/transform_a.html.ini b/tests/wpt/metadata/2dcontext/transformations/transform_a.html.ini new file mode 100644 index 00000000000..3196a3239fa --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/transform_a.html.ini @@ -0,0 +1,2 @@ +[transform_a.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini b/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini new file mode 100644 index 00000000000..4f18965fa1e --- /dev/null +++ b/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini @@ -0,0 +1,2 @@ +[overdraw.https.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini b/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini index 03f2f3fe9d1..17b670fa9f5 100644 --- a/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini +++ b/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini @@ -1,5 +1,379 @@ [perspective-interpolation.html] - expected: CRASH [ perspective interpolation] expected: FAIL + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (-0.3) should be [33px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (1.5) should be [125px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (0.3) should be [50px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (0.5) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (1.5) should be [125px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (-20) should be [230px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (0) should be [30px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (1.5) should be [25px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (-1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (-0.3) should be [35px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (-20) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (-20) should be [230px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (1.5) should be [25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (1.5) should be [125px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (1.5) should be [125px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (0) should be [30px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (-20) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (-20) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (-0.3) should be [35px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (0.3) should be [unset\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (0) should be [unset\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (-1) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (0.3) should be [65px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (-1) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (0.6) should be [24px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (-1) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (0) should be [50px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (-0.3) should be [33px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (1.5) should be [25px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (0.3) should be [50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (-20) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (-0.3) should be [unset\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (1.5) should be [15px\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (0.6) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (0.3) should be [65px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (0.6) should be [24px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (-1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [50px\] to [100px\] at (0.6) should be [80px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (0.3) should be [65px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (0.6) should be [24px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (0.6) should be [24px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (0.3) should be [27px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (-20) should be [230px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (1.5) should be [15px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (0.3) should be [unset\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (0.6) should be [80px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (0.3) should be [27px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (1.5) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (-0.3) should be [50px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (0.5) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (0.6) should be [80px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (-20) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (-0.3) should be [35px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (-20) should be [none\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (0.6) should be [80px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (0) should be [50px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (-0.3) should be [50px\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (0) should be [unset\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (0.5) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (1.5) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (0.6) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (-0.3) should be [33px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (0) should be [50px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (0.5) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (-20) should be [230px\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (0.6) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (1.5) should be [15px\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (-1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (-20) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from neutral to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (-0.3) should be [35px\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (1.5) should be [25px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [50px\] to [100px\] at (0.3) should be [65px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from [inherit\] to [20px\] at (1.5) should be [15px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <perspective> from neutral to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from neutral to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (0.6) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [100px\] at (0) should be [50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (-0.3) should be [33px\]] + expected: FAIL + + [Web Animations: property <perspective> from [initial\] to [20px\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <perspective> from [50px\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [Web Animations: property <perspective> from [unset\] to [20px\] at (-0.3) should be [unset\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [100px\] at (-20) should be [none\]] + expected: FAIL + + [CSS Transitions: property <perspective> from neutral to [20px\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (-1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <perspective> from [inherit\] to [20px\] at (-1) should be [40px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (1.5) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [unset\] to [20px\] at (1.5) should be [20px\]] + expected: FAIL + + [CSS Animations: property <perspective> from [initial\] to [20px\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <perspective> from [50px\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <perspective> from [inherit\] to [20px\] at (0.3) should be [27px\]] + expected: FAIL + + [Web Animations: property <perspective> from [inherit\] to [20px\] at (0.3) should be [27px\]] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini index e35a452a186..70a00a101f6 100644 --- a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini +++ b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini @@ -1,2 +1,2 @@ [no-transition-from-ua-to-blocking-stylesheet.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryListEvent.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryListEvent.html.ini new file mode 100644 index 00000000000..61d0496ba40 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/MediaQueryListEvent.html.ini @@ -0,0 +1,4 @@ +[MediaQueryListEvent.html] + [argument of onchange] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/offsetTopLeft-border-box.html.ini b/tests/wpt/metadata/css/cssom-view/offsetTopLeft-border-box.html.ini new file mode 100644 index 00000000000..239c35135e4 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/offsetTopLeft-border-box.html.ini @@ -0,0 +1,7 @@ +[offsetTopLeft-border-box.html] + [container: 1] + expected: FAIL + + [container: 0] + expected: FAIL + diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 939a36eb9d9..3d135f3bd66 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -2,6 +2,7 @@ type: testharness [single-byte-decoder.html?document] + expected: TIMEOUT [ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 3d77dd6fefc..043922cce77 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -315,18 +315,9 @@ [<iframe>: separate response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] - expected: FAIL - [<iframe>: separate response Content-Type: text/html */*] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] - expected: FAIL - - [<iframe>: separate response Content-Type: text/html;x=" text/plain] - expected: FAIL - - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: separate response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index a639f15230c..87c807a49ff 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,6 +11,3 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL - [Content-Type-Options%3A%20nosniff] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini index 6bd06899fdd..8353d6acdf8 100644 --- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini +++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini @@ -8,14 +8,8 @@ expected: FAIL [Embedded credentials are treated as network errors in new windows.] - expected: FAIL - - [Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.] expected: TIMEOUT - [Embedded credentials matching the top-level are not treated as network errors for same-origin URLs.] - expected: TIMEOUT - - [Embedded credentials matching the top-level are not treated as network errors for relative URLs.] + [Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini index 51f8272a6de..dc2e45516de 100644 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini @@ -1,4 +1,4 @@ -[traverse_the_history_3.html] +[traverse_the_history_5.html] [Multiple history traversals, last would be aborted] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini deleted file mode 100644 index 16fa2c5cfc1..00000000000 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[creating_browsing_context_test_01.html] - [first argument: absolute url] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini index 6d6e5b37510..61799e4c935 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini @@ -1,5 +1,5 @@ [form-double-submit-2.html] - expected: TIMEOUT + expected: ERROR [preventDefault should allow onclick submit() to succeed] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini index a951013eb1e..dce74c6dd71 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini @@ -1,5 +1,5 @@ [form-double-submit.html] - expected: TIMEOUT + expected: ERROR [default submit action should supersede onclick submit()] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-submission-algorithm.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-submission-algorithm.html.ini index 1183ab27af2..52cb32ee092 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-submission-algorithm.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-submission-algorithm.html.ini @@ -14,6 +14,3 @@ [firing an event named submit; form.requestSubmit()] expected: FAIL - [Cannot navigate (after constructing the entry list)] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini index 65424f7891a..c35ccf11a71 100644 --- a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini +++ b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini @@ -5,14 +5,14 @@ expected: NOTRUN [Check that rel=noopener with target=_parent does a normal load] - expected: FAIL + expected: TIMEOUT [Check that rel=noopener with target=_top does a normal load] - expected: FAIL + expected: TIMEOUT [Check that targeting of rel=noopener with a given name reuses an existing window with that name] expected: NOTRUN [Check that rel=noopener with target=_self does a normal load] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini deleted file mode 100644 index a9677391662..00000000000 --- a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[DOMContentLoaded-defer.html] - [The end: DOMContentLoaded and defer scripts] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini index 496bad988c6..034d9baebfa 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini @@ -1,4 +1,5 @@ [promise-rejection-events.html] + expected: TIMEOUT [delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire] expected: FAIL @@ -8,3 +9,6 @@ [no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from createImageBitmap] expected: FAIL + [rejectionhandled is dispatched from a queued task, and not immediately] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini b/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini new file mode 100644 index 00000000000..b1823dc9552 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html.ini @@ -0,0 +1,4 @@ +[2d.fillRect.shadow.html] + [fillRect draws shadows] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.worker.js.ini new file mode 100644 index 00000000000..52383a1cdae --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.worker.js.ini @@ -0,0 +1,4 @@ +[2d.fillRect.shadow.worker.html] + [fillRect draws shadows] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini new file mode 100644 index 00000000000..8622152b81a --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.behind.html] + [OffscreenCanvas test: 2d.gradient.radial.cone.behind] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.worker.js.ini new file mode 100644 index 00000000000..a0d231ff43e --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.behind.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini new file mode 100644 index 00000000000..45794b51384 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.beside.html] + [OffscreenCanvas test: 2d.gradient.radial.cone.beside] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.worker.js.ini new file mode 100644 index 00000000000..0dc6dc88ea2 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.beside.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini new file mode 100644 index 00000000000..8b35ada6b43 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.shape2.html] + [OffscreenCanvas test: 2d.gradient.radial.cone.shape2] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.worker.js.ini new file mode 100644 index 00000000000..49e5cb6d5b9 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.cone.shape2.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini new file mode 100644 index 00000000000..0c5eea1b0c4 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.inside3.html] + [OffscreenCanvas test: 2d.gradient.radial.inside3] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.worker.js.ini new file mode 100644 index 00000000000..1a8e07fabbc --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.inside3.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini new file mode 100644 index 00000000000..4db9bcff0f7 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.outside2.html] + [OffscreenCanvas test: 2d.gradient.radial.outside2] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.worker.js.ini new file mode 100644 index 00000000000..acdfe46874f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.outside2.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini new file mode 100644 index 00000000000..36fe7620e9b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch1.html] + [OffscreenCanvas test: 2d.gradient.radial.touch1] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.worker.js.ini new file mode 100644 index 00000000000..c7d26eb61cc --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch1.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini new file mode 100644 index 00000000000..73c7a717736 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch2.html] + [OffscreenCanvas test: 2d.gradient.radial.touch2] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.worker.js.ini new file mode 100644 index 00000000000..28ce08414e3 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch2.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini new file mode 100644 index 00000000000..ffd5e8dfed2 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.html.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch3.html] + [OffscreenCanvas test: 2d.gradient.radial.touch3] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.worker.js.ini new file mode 100644 index 00000000000..fb975669d73 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.gradient.radial.touch3.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.html.ini b/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.html.ini deleted file mode 100644 index ea4369032a5..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.html.ini +++ /dev/null @@ -1,10 +0,0 @@ -[image.smoothing.html] - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with stroke() and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fillRect and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fill() and createPattern().] - expected: FAIL - diff --git a/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.worker.js.ini deleted file mode 100644 index d5390f1498b..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/image-smoothing/image.smoothing.worker.js.ini +++ /dev/null @@ -1,10 +0,0 @@ -[image.smoothing.worker.html] - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with stroke() and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fillRect and createPattern().] - expected: FAIL - - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with fill() and createPattern().] - expected: FAIL - diff --git a/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.html.ini b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.html.ini new file mode 100644 index 00000000000..cbad443c3c7 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.html.ini @@ -0,0 +1,4 @@ +[2d.line.cap.closed.html] + [Line caps are not drawn at the corners of an unclosed rectangle] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.worker.js.ini new file mode 100644 index 00000000000..96690215a25 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.closed.worker.js.ini @@ -0,0 +1,4 @@ +[2d.line.cap.closed.worker.html] + [Line caps are not drawn at the corners of an unclosed rectangle] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.html.ini b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.html.ini new file mode 100644 index 00000000000..63fd4382c1e --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.html.ini @@ -0,0 +1,4 @@ +[2d.line.cap.round.html] + [lineCap 'round' is rendered correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.worker.js.ini new file mode 100644 index 00000000000..8f7f3a0f347 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/line-styles/2d.line.cap.round.worker.js.ini @@ -0,0 +1,4 @@ +[2d.line.cap.round.worker.html] + [lineCap 'round' is rendered correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.html.ini new file mode 100644 index 00000000000..72ac9cfb4dc --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.scale.2.html] + [Highly scaled arcs are the right shape] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.worker.js.ini new file mode 100644 index 00000000000..371fcaebd48 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.scale.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.scale.2.worker.html] + [Highly scaled arcs are the right shape] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.html.ini new file mode 100644 index 00000000000..7c1f22ff41c --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.1.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.worker.js.ini new file mode 100644 index 00000000000..ce148357388 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.1.worker.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.html.ini new file mode 100644 index 00000000000..a25bacaabed --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.2.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.worker.js.ini new file mode 100644 index 00000000000..d024069363b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.selfintersect.2.worker.html] + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.html.ini new file mode 100644 index 00000000000..c285647918d --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.3.html] + [arc() from 0 to -pi/2 does not draw anything in the wrong quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.worker.js.ini new file mode 100644 index 00000000000..2b1fbd6646d --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.3.worker.html] + [arc() from 0 to -pi/2 does not draw anything in the wrong quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.html.ini new file mode 100644 index 00000000000..c22e98e44d2 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.4.html] + [arc() from 0 to -pi/2 draws stuff in the right quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.worker.js.ini new file mode 100644 index 00000000000..ded00208595 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.shape.4.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.shape.4.worker.html] + [arc() from 0 to -pi/2 draws stuff in the right quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.html.ini new file mode 100644 index 00000000000..522695b4c56 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.1.html] + [arc() draws nothing when end = start + 2pi-e and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.worker.js.ini new file mode 100644 index 00000000000..ba0a32aebbd --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.1.worker.html] + [arc() draws nothing when end = start + 2pi-e and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.html.ini new file mode 100644 index 00000000000..c1e40e7c3d9 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.html.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.3.html] + [arc() draws a full circle when end = start + 2pi+e and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.worker.js.ini new file mode 100644 index 00000000000..07e0bb88d27 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arc.twopie.3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arc.twopie.3.worker.html] + [arc() draws a full circle when end = start + 2pi+e and anticlockwise] + 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 new file mode 100644 index 00000000000..72a5d82aa29 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.html.ini @@ -0,0 +1,4 @@ +[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.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.worker.js.ini new file mode 100644 index 00000000000..d66de99ecad --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.ensuresubpath.2.worker.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.scale.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.scale.html.ini new file mode 100644 index 00000000000..583a1a2cf0c --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.scale.html.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.scale.html] + [arcTo scales the curve, not just the control points] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.scale.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.scale.worker.js.ini new file mode 100644 index 00000000000..875612e1fa9 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.scale.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.scale.worker.html] + [arcTo scales the curve, not just the control points] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.html.ini deleted file mode 100644 index c0f2458b089..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.path.arcTo.shape.curve1.html] - [arcTo() curves in the right kind of shape] - expected: FAIL - diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.worker.js.ini deleted file mode 100644 index 8924d1b0533..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.worker.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.path.arcTo.shape.curve1.worker.html] - [arcTo() curves in the right kind of shape] - expected: FAIL - diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.html.ini new file mode 100644 index 00000000000..569cfc2fb80 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.html.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.transformation.html] + [arcTo joins up to the last subpath point correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.worker.js.ini new file mode 100644 index 00000000000..15980b4b69d --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.arcTo.transformation.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.arcTo.transformation.worker.html] + [arcTo joins up to the last subpath point correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.html.ini new file mode 100644 index 00000000000..4c4c3751809 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.html.ini @@ -0,0 +1,4 @@ +[2d.path.closePath.nextpoint.html] + [OffscreenCanvas test: 2d.path.closePath.nextpoint] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.worker.js.ini new file mode 100644 index 00000000000..634b52aa97d --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.closePath.nextpoint.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini new file mode 100644 index 00000000000..b8ab96e6454 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html.ini @@ -0,0 +1,4 @@ +[2d.path.quadraticCurveTo.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.quadraticCurveTo.ensuresubpath.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.worker.js.ini new file mode 100644 index 00000000000..9d3f4d72965 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.quadraticCurveTo.ensuresubpath.2.worker.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.rect.end.1.html.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.rect.end.1.html.ini new file mode 100644 index 00000000000..9b95c427bd8 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.rect.end.1.html.ini @@ -0,0 +1,4 @@ +[2d.path.rect.end.1.html] + [OffscreenCanvas test: 2d.path.rect.end.1] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.rect.end.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.rect.end.1.worker.js.ini new file mode 100644 index 00000000000..8e0e4e4f06b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/path-objects/2d.path.rect.end.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.path.rect.end.1.worker.html] + [2d] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.html.ini new file mode 100644 index 00000000000..dbd2642e642 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.2.html] + [Shadow colour alpha components are used] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.worker.js.ini new file mode 100644 index 00000000000..18e90e4c05f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.2.worker.html] + [Shadow colour alpha components are used] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.html.ini new file mode 100644 index 00000000000..6541eaf9d0a --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.3.html] + [Shadows are affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.worker.js.ini new file mode 100644 index 00000000000..2726b00e853 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.3.worker.html] + [Shadows are affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.html.ini new file mode 100644 index 00000000000..18495ce21c4 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.4.html] + [Shadows with alpha components are correctly affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.worker.js.ini new file mode 100644 index 00000000000..9d4ee1c17e3 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.4.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.4.worker.html] + [Shadows with alpha components are correctly affected by globalAlpha] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.html.ini new file mode 100644 index 00000000000..2902da69695 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.5.html] + [Shadows of shapes with alpha components are drawn correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.worker.js.ini new file mode 100644 index 00000000000..707d7629c47 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.alpha.5.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.alpha.5.worker.html] + [Shadows of shapes with alpha components are drawn correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.html.ini new file mode 100644 index 00000000000..e025214a903 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.alpha.html] + [Shadows are drawn correctly for partially-transparent canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.worker.js.ini new file mode 100644 index 00000000000..7e0ca735d16 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.alpha.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.alpha.worker.html] + [Shadows are drawn correctly for partially-transparent canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.html.ini new file mode 100644 index 00000000000..5968020003f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.basic.html] + [Shadows are drawn for canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.worker.js.ini new file mode 100644 index 00000000000..17d05f13223 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.basic.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.basic.worker.html] + [Shadows are drawn for canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.html.ini new file mode 100644 index 00000000000..36548a28349 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.transparent.2.html] + [Shadows are not drawn for transparent parts of canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.worker.js.ini new file mode 100644 index 00000000000..eaaa089e6ad --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.canvas.transparent.2.worker.html] + [Shadows are not drawn for transparent parts of canvases] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.html.ini new file mode 100644 index 00000000000..d794ecb8f7f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.1.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.worker.js.ini new file mode 100644 index 00000000000..bf7e340bb42 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.1.worker.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.html.ini new file mode 100644 index 00000000000..ff8bfecd95b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.2.html] + [Shadows are not drawn outside the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.worker.js.ini new file mode 100644 index 00000000000..131fe9df1b9 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.2.worker.html] + [Shadows are not drawn outside the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.html.ini new file mode 100644 index 00000000000..ddb4e15719b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.3.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.worker.js.ini new file mode 100644 index 00000000000..2aa08b19c61 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.clip.3.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.clip.3.worker.html] + [Shadows of clipped shapes are still drawn within the clipping region] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.html.ini new file mode 100644 index 00000000000..183cec8f9e6 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.1.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.worker.js.ini new file mode 100644 index 00000000000..4743a0a6064 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.1.worker.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.html.ini new file mode 100644 index 00000000000..f262fe31165 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.2.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.worker.js.ini new file mode 100644 index 00000000000..ec83a0675e1 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.composite.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.composite.2.worker.html] + [Shadows are drawn using globalCompositeOperation] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.html.ini new file mode 100644 index 00000000000..aca6bc8ecc0 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.alpha.html] + [Shadows are drawn correctly for partially-transparent gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.worker.js.ini new file mode 100644 index 00000000000..7d3ccb37179 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.alpha.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.alpha.worker.html] + [Shadows are drawn correctly for partially-transparent gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.html.ini new file mode 100644 index 00000000000..718711e1c92 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.basic.html] + [Shadows are drawn for gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.worker.js.ini new file mode 100644 index 00000000000..39cb789fd76 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.basic.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.basic.worker.html] + [Shadows are drawn for gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.html.ini new file mode 100644 index 00000000000..b0f704f9217 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.transparent.2.html] + [Shadows are not drawn for transparent parts of gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.worker.js.ini new file mode 100644 index 00000000000..264beb2381d --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.gradient.transparent.2.worker.html] + [Shadows are not drawn for transparent parts of gradient fills] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.html.ini new file mode 100644 index 00000000000..7cab12e9647 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeX.html] + [Shadows can be offset with negative x] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.worker.js.ini new file mode 100644 index 00000000000..b5dae5db900 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeX.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeX.worker.html] + [Shadows can be offset with negative x] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.html.ini new file mode 100644 index 00000000000..f896a487854 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeY.html] + [Shadows can be offset with negative y] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.worker.js.ini new file mode 100644 index 00000000000..910b170ab36 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.negativeY.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.negativeY.worker.html] + [Shadows can be offset with negative y] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.html.ini new file mode 100644 index 00000000000..49b5d8a0927 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveX.html] + [Shadows can be offset with positive x] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.worker.js.ini new file mode 100644 index 00000000000..24911732526 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveX.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveX.worker.html] + [Shadows can be offset with positive x] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.html.ini new file mode 100644 index 00000000000..1b25a3038d6 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveY.html] + [Shadows can be offset with positive y] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.worker.js.ini new file mode 100644 index 00000000000..cd87c0e0b9f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.offset.positiveY.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.offset.positiveY.worker.html] + [Shadows can be offset with positive y] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.html.ini new file mode 100644 index 00000000000..b65179a2088 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.outside.html] + [Shadows of shapes outside the visible area can be offset onto the visible area] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.worker.js.ini new file mode 100644 index 00000000000..0d3244f145f --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.outside.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.outside.worker.html] + [Shadows of shapes outside the visible area can be offset onto the visible area] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.html.ini new file mode 100644 index 00000000000..13df839414b --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.1.html] + [Shadows take account of transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.worker.js.ini new file mode 100644 index 00000000000..bed327918bd --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.1.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.1.worker.html] + [Shadows take account of transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.html.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.html.ini new file mode 100644 index 00000000000..dba68f79426 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.html.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.2.html] + [Shadow offsets are not affected by transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.worker.js.ini new file mode 100644 index 00000000000..e985b475871 --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/shadows/2d.shadow.transform.2.worker.js.ini @@ -0,0 +1,4 @@ +[2d.shadow.transform.2.worker.html] + [Shadow offsets are not affected by transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini b/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini deleted file mode 100644 index 68cde348264..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[size.large.html] - expected: CRASH diff --git a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.worker.js.ini deleted file mode 100644 index 830f09953e0..00000000000 --- a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.worker.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[size.large.worker.html] - expected: CRASH diff --git a/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.html.ini b/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.html.ini new file mode 100644 index 00000000000..a2f6ef4c2cb --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.html.ini @@ -0,0 +1,4 @@ +[2d.transformation.scale.large.html] + [scale() with large scale factors works] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.worker.js.ini b/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.worker.js.ini new file mode 100644 index 00000000000..e749838649c --- /dev/null +++ b/tests/wpt/metadata/offscreen-canvas/transformations/2d.transformation.scale.large.worker.js.ini @@ -0,0 +1,4 @@ +[2d.transformation.scale.large.worker.html] + [scale() with large scale factors works] + expected: FAIL + diff --git a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini index 97f8a0cc51f..6d08beab111 100644 --- a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini +++ b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini @@ -10,6 +10,3 @@ [Verifies the resolution of entry.startTime is at least 20 microseconds.] expected: TIMEOUT - [Verifies the resolution of performance.now() is at least 5 microseconds.] - expected: FAIL - diff --git a/tests/wpt/metadata/resource-timing/crossorigin-sandwich-TAO.sub.html.ini b/tests/wpt/metadata/resource-timing/crossorigin-sandwich-TAO.sub.html.ini index 1c7ec9ce1db..b4090ef9fe2 100644 --- a/tests/wpt/metadata/resource-timing/crossorigin-sandwich-TAO.sub.html.ini +++ b/tests/wpt/metadata/resource-timing/crossorigin-sandwich-TAO.sub.html.ini @@ -1,4 +1,5 @@ [crossorigin-sandwich-TAO.sub.html] + expected: ERROR [There should be one entry.] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index 9b06086f2d2..a1b93b9d091 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -104,3 +104,9 @@ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t1.9724091887474060e-1\t9.5236867666244507e-1\t7.5512775778770447e-1\t7.9289436569253091e-1\t3.8985999999999999e-3\n\t[60\]\t-2.2450675070285797e-1\t-5.8084785938262939e-1\t3.5634110867977142e-1\t6.1348441407448528e-1\t3.8985999999999999e-3\n\t[90\]\t-3.7808802723884583e-1\t-5.9811043739318848e-1\t2.2002241015434265e-1\t3.6786251568070089e-1\t3.8985999999999999e-3\n\t[120\]\t7.6881676912307739e-1\t9.4563448429107666e-1\t1.7681771516799927e-1\t1.8698315057805445e-1\t3.8985999999999999e-3\n\t[151\]\t5.4644601186737418e-4\t-4.1306272149085999e-2\t4.1852718160953373e-2\t1.0132291292202573e+0\t3.8985999999999999e-3\n\t...and 1421 more errors.\n\tMax AbsError of 9.8619294445961714e-1 at index of 1178.\n\t[1178\]\t-1.3593670912086964e-2\t-9.9978661537170410e-1\t9.8619294445961714e-1\t9.8640342778840562e-1\t3.8985999999999999e-3\n\tMax RelError of 1.0132291292202573e+0 at index of 151.\n] expected: FAIL + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t1.9724091887474060e-1\t9.5236867666244507e-1\t7.5512775778770447e-1\t7.9289436569253091e-1\t3.8985999999999999e-3\n\t[60\]\t-2.2450675070285797e-1\t-5.8084785938262939e-1\t3.5634110867977142e-1\t6.1348441407448528e-1\t3.8985999999999999e-3\n\t[90\]\t-3.7808802723884583e-1\t-5.9811043739318848e-1\t2.2002241015434265e-1\t3.6786251568070089e-1\t3.8985999999999999e-3\n\t[120\]\t7.6881676912307739e-1\t9.4563448429107666e-1\t1.7681771516799927e-1\t1.8698315057805445e-1\t3.8985999999999999e-3\n\t[151\]\t5.4644601186737418e-4\t-4.1306272149085999e-2\t4.1852718160953373e-2\t1.0132291292202573e+0\t3.8985999999999999e-3\n\t...and 1421 more errors.\n\tMax AbsError of 1.0816347588691139e+34 at index of 846.\n\t[846\]\t1.0816347588691139e+34\t3.6335086822509766e-1\t1.0816347588691139e+34\t2.9768327351265217e+34\t3.8985999999999999e-3\n\tMax RelError of 2.9768327351265217e+34 at index of 846.\n\t[846\]\t1.0816347588691139e+34\t3.6335086822509766e-1\t1.0816347588691139e+34\t2.9768327351265217e+34\t3.8985999999999999e-3\n] + expected: FAIL + + [X SNR (-639.9105521607617 dB) is not greater than or equal to 65.737. Got -639.9105521607617.] + expected: FAIL + diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini deleted file mode 100644 index 064cf47545b..00000000000 --- a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[017.html] - expected: TIMEOUT - [origin of the script that invoked the method, about:blank] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/webxr/xrSession_features_deviceSupport.https.html.ini b/tests/wpt/metadata/webxr/xrSession_features_deviceSupport.https.html.ini index c2051682335..8b100779745 100644 --- a/tests/wpt/metadata/webxr/xrSession_features_deviceSupport.https.html.ini +++ b/tests/wpt/metadata/webxr/xrSession_features_deviceSupport.https.html.ini @@ -1,4 +1,5 @@ [xrSession_features_deviceSupport.https.html] + expected: ERROR [Immersive XRSession requests with no supported device should reject] expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/canvas_linear_gradient_a.html.ini b/tests/wpt/mozilla/meta/css/canvas_linear_gradient_a.html.ini new file mode 100644 index 00000000000..2a87c62502f --- /dev/null +++ b/tests/wpt/mozilla/meta/css/canvas_linear_gradient_a.html.ini @@ -0,0 +1,2 @@ +[canvas_linear_gradient_a.html] + expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/canvas_radial_gradient_a.html.ini b/tests/wpt/mozilla/meta/css/canvas_radial_gradient_a.html.ini new file mode 100644 index 00000000000..52ba6958c05 --- /dev/null +++ b/tests/wpt/mozilla/meta/css/canvas_radial_gradient_a.html.ini @@ -0,0 +1,2 @@ +[canvas_radial_gradient_a.html] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance2/rendering/rgb-format-support.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/rgb-format-support.html.ini new file mode 100644 index 00000000000..a2b426c9e36 --- /dev/null +++ b/tests/wpt/webgl/meta/conformance2/rendering/rgb-format-support.html.ini @@ -0,0 +1,5 @@ +[rgb-format-support.html] + expected: ERROR + [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL + |