diff --git a/Cargo.lock b/Cargo.lock index 6bf019134b8..c97c5927929 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1208,7 +1208,7 @@ dependencies = [ [[package]] name = "derive_common" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "darling", "proc-macro2", @@ -3463,7 +3463,7 @@ dependencies = [ [[package]] name = "malloc_size_of" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "accountable-refcell", "app_units", @@ -5075,7 +5075,7 @@ dependencies = [ [[package]] name = "selectors" version = "0.24.0" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "bitflags 1.3.2", "cssparser", @@ -5363,7 +5363,7 @@ dependencies = [ [[package]] name = "servo_arc" version = "0.2.0" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "nodrop", "serde", @@ -5373,7 +5373,7 @@ dependencies = [ [[package]] name = "servo_atoms" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "string_cache", "string_cache_codegen", @@ -5579,7 +5579,7 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "size_of_test" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "static_assertions", ] @@ -5705,7 +5705,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "static_prefs" version = "0.1.0" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" [[package]] name = "str-buf" @@ -5748,7 +5748,7 @@ dependencies = [ [[package]] name = "style" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "app_units", "arrayvec", @@ -5806,7 +5806,7 @@ dependencies = [ [[package]] name = "style_config" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "lazy_static", ] @@ -5814,7 +5814,7 @@ dependencies = [ [[package]] name = "style_derive" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "darling", "derive_common", @@ -5845,7 +5845,7 @@ dependencies = [ [[package]] name = "style_traits" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "app_units", "bitflags 1.3.2", @@ -6188,7 +6188,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "to_shmem" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "cssparser", "servo_arc", @@ -6201,7 +6201,7 @@ dependencies = [ [[package]] name = "to_shmem_derive" version = "0.0.1" -source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#ca5648ca155a7cfc23dfd7fec61befe82f866879" +source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6d01b5972aa3d00acbbe2a9cac98c59934b659e6" dependencies = [ "darling", "derive_common", diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 6d070f3d525..f85d5c3e0d7 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -1019,7 +1019,7 @@ impl Fragment { }; DisplayItem::RadialGradient(CommonDisplayItem::with_data(base, item, stops)) }, - Gradient::Conic { .. } => unimplemented!(), + Gradient::Conic { .. } => return, }; state.add_display_item(display_item); }); @@ -1273,7 +1273,7 @@ impl Fragment { stops = radial_stops; NinePatchBorderSource::RadialGradient(wr_gradient) }, - Gradient::Conic { .. } => unimplemented!(), + Gradient::Conic { .. } => return None, }, _ => return None, }; diff --git a/components/layout_2020/display_list/gradient.rs b/components/layout_2020/display_list/gradient.rs index 7340a955ecf..f088ee91faa 100644 --- a/components/layout_2020/display_list/gradient.rs +++ b/components/layout_2020/display_list/gradient.rs @@ -5,9 +5,12 @@ use style::color::mix::ColorInterpolationMethod; use style::properties::ComputedValues; use style::values::computed::image::{EndingShape, Gradient, LineDirection}; -use style::values::computed::{Color, Length, LengthPercentage, Position}; +use style::values::computed::{ + Angle, AngleOrPercentage, Color, Length, LengthPercentage, Position, +}; use style::values::generics::image::{Circle, ColorStop, Ellipse, GradientItem, ShapeExtent}; use webrender_api::{self as wr, units}; +use wr::ColorF; pub(super) fn build( style: &ComputedValues, @@ -56,7 +59,26 @@ pub(super) fn build( layer, builder, ), - Gradient::Conic { .. } => unimplemented!(), + Gradient::Conic { + angle, + position, + color_interpolation_method, + items, + repeating, + } => build_conic( + style, + *angle, + position, + *color_interpolation_method, + items, + if *repeating { + wr::ExtendMode::Repeat + } else { + wr::ExtendMode::Clamp + }, + layer, + builder, + ), } } @@ -148,7 +170,9 @@ pub(super) fn build_linear( let start_point = center - half_gradient_line; let end_point = center + half_gradient_line; - let stops = fixup_stops(style, items, Length::new(gradient_line_length)); + let mut color_stops = + gradient_items_to_color_stops(style, items, Length::new(gradient_line_length)); + let stops = fixup_stops(&mut color_stops); let linear_gradient = builder .wr() .create_gradient(start_point, end_point, stops, extend_mode); @@ -162,6 +186,7 @@ pub(super) fn build_linear( } /// +#[allow(clippy::too_many_arguments)] pub(super) fn build_radial( style: &ComputedValues, items: &[GradientItem], @@ -249,7 +274,9 @@ pub(super) fn build_radial( // where the gradient line intersects the ending shape.” let gradient_line_length = radii.width; - let stops = fixup_stops(style, items, Length::new(gradient_line_length)); + let mut color_stops = + gradient_items_to_color_stops(style, items, Length::new(gradient_line_length)); + let stops = fixup_stops(&mut color_stops); let radial_gradient = builder .wr() .create_radial_gradient(center, radii, stops, extend_mode); @@ -262,12 +289,48 @@ pub(super) fn build_radial( ) } -/// -fn fixup_stops( +/// +#[allow(clippy::too_many_arguments)] +fn build_conic( style: &ComputedValues, - items: &[GradientItem], - gradient_line_length: Length, -) -> Vec { + angle: Angle, + center: &Position, + _color_interpolation_method: ColorInterpolationMethod, + items: &[GradientItem], + extend_mode: wr::ExtendMode, + layer: &super::background::BackgroundLayer, + builder: &mut super::DisplayListBuilder<'_>, +) { + let gradient_box = layer.tile_size; + let center = units::LayoutPoint::new( + center + .horizontal + .percentage_relative_to(Length::new(gradient_box.width)) + .px(), + center + .vertical + .percentage_relative_to(Length::new(gradient_box.height)) + .px(), + ); + let mut color_stops = conic_gradient_items_to_color_stops(style, items); + let stops = fixup_stops(&mut color_stops); + let conic_gradient = + builder + .wr() + .create_conic_gradient(center, angle.radians(), stops, extend_mode); + builder.wr().push_conic_gradient( + &layer.common, + layer.bounds, + conic_gradient, + layer.tile_size, + layer.tile_spacing, + ) +} + +fn conic_gradient_items_to_color_stops( + style: &ComputedValues, + items: &[GradientItem], +) -> Vec> { // Remove color transititon hints, which are not supported yet. // https://drafts.csswg.org/css-images-4/#color-transition-hint // @@ -278,28 +341,71 @@ fn fixup_stops( // Either way, the best outcome is to add support. // Gecko does so by approximating the non-linear interpolation // by up to 10 piece-wise linear segments (9 intermediate color stops) - let mut stops = Vec::with_capacity(items.len()); - for item in items { - match item { - GradientItem::SimpleColorStop(color) => stops.push(ColorStop { - color: super::rgba(style.resolve_color(color.clone())), - position: None, - }), - GradientItem::ComplexColorStop { color, position } => stops.push(ColorStop { - color: super::rgba(style.resolve_color(color.clone())), - position: Some(if gradient_line_length.px() == 0. { - 0. - } else { - position.percentage_relative_to(gradient_line_length).px() / - gradient_line_length.px() + items + .iter() + .filter_map(|item| { + match item { + GradientItem::SimpleColorStop(color) => Some(ColorStop { + color: super::rgba(style.resolve_color(color.clone())), + position: None, + }), + GradientItem::ComplexColorStop { color, position } => Some(ColorStop { + color: super::rgba(style.resolve_color(color.clone())), + position: match position { + AngleOrPercentage::Percentage(percentage) => Some(percentage.0), + AngleOrPercentage::Angle(angle) => Some(angle.degrees() / 360.), + }, }), - }), - GradientItem::InterpolationHint(_) => { // FIXME: approximate like in: // https://searchfox.org/mozilla-central/rev/f98dad153b59a985efd4505912588d4651033395/layout/painting/nsCSSRenderingGradients.cpp#315-391 - }, - } - } + GradientItem::InterpolationHint(_) => None, + } + }) + .collect() +} + +fn gradient_items_to_color_stops( + style: &ComputedValues, + items: &[GradientItem], + gradient_line_length: Length, +) -> Vec> { + // Remove color transititon hints, which are not supported yet. + // https://drafts.csswg.org/css-images-4/#color-transition-hint + // + // This gives an approximation of the gradient that might be visibly wrong, + // but maybe better than not parsing that value at all? + // It’s debatble whether that’s better or worse + // than not parsing and allowing authors to set a fallback. + // Either way, the best outcome is to add support. + // Gecko does so by approximating the non-linear interpolation + // by up to 10 piece-wise linear segments (9 intermediate color stops) + items + .iter() + .filter_map(|item| { + match item { + GradientItem::SimpleColorStop(color) => Some(ColorStop { + color: super::rgba(style.resolve_color(color.clone())), + position: None, + }), + GradientItem::ComplexColorStop { color, position } => Some(ColorStop { + color: super::rgba(style.resolve_color(color.clone())), + position: Some(if gradient_line_length.px() == 0. { + 0. + } else { + position.percentage_relative_to(gradient_line_length).px() / + gradient_line_length.px() + }), + }), + // FIXME: approximate like in: + // https://searchfox.org/mozilla-central/rev/f98dad153b59a985efd4505912588d4651033395/layout/painting/nsCSSRenderingGradients.cpp#315-391 + GradientItem::InterpolationHint(_) => None, + } + }) + .collect() +} + +/// +fn fixup_stops(stops: &mut Vec>) -> Vec { assert!(stops.len() >= 2); // https://drafts.csswg.org/css-images-4/#color-stop-fixup diff --git a/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/background-image-computed.sub.html.ini b/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/background-image-computed.sub.html.ini deleted file mode 100644 index 2a37f75fea3..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/background-image-computed.sub.html.ini +++ /dev/null @@ -1,48 +0,0 @@ -[background-image-computed.sub.html] - [Property background-image value 'conic-gradient(at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at 10px 10px, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at 10px 10px, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at 10px 10px, red, blue)'] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini b/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini index 19f4337a212..2c1e5f88b03 100644 --- a/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini @@ -1,7 +1,3 @@ [border-image-source-computed.sub.html] [Property border-image-source value 'conic-gradient(from 90deg at 80% 90%, lime, black)' computes to 'conic-gradient(from 90deg at 80% 90%, rgb(0, 255, 0), rgb(0, 0, 0))'] expected: FAIL - - [Property border-image-source value 'conic-gradient(from 90deg at 80% 90%, lime, black)'] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-images/gradient/color-stops-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-images/gradient/color-stops-parsing.html.ini deleted file mode 100644 index 5349947628e..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-images/gradient/color-stops-parsing.html.ini +++ /dev/null @@ -1,86 +0,0 @@ -[color-stops-parsing.html] - - [conic-gradient(black, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black, green, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, green 50%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 50%, green 10%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black, 25%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, 25%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, 15%, green 50%, 60%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, white 50% 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, green 25% 75%, white 50% 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% calc(100% / 5), 25%, green 30% 60%, calc(100% * 3 / 4), white calc(100% - 20%) 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, green, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, green 50%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 50%, green 10%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, 25%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, 25%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, 15%, green 50%, 60%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, white 50% 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, green 25% 75%, white 50% 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% calc(100% / 5), 25%, green 30% 60%, calc(100% * 3 / 4), white calc(100% - 20%) 100%) [ parsable \]] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-computed.html.ini index e874313f3f8..481d467be07 100644 --- a/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-computed.html.ini @@ -1943,18 +1943,6 @@ [Property background-image value 'radial-gradient(in oklch decreasing hue at right center, color(srgb 1 0 0), blue)'] expected: FAIL - [Property background-image value 'conic-gradient(from 30deg, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at left 10px top 50em, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 30deg, color(srgb 1 0 0), blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at left 10px top 50em, color(srgb 1 0 0), blue)'] - expected: FAIL - [Property background-image value 'conic-gradient(in lab, red, blue)'] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-valid.html.ini index 22e41992693..1dd3f6d54fa 100644 --- a/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-images/parsing/gradient-interpolation-method-valid.html.ini @@ -1943,18 +1943,6 @@ [e.style['background-image'\] = "radial-gradient(in oklch decreasing hue at right center, color(srgb 1 0 0), blue)" should set the property value] expected: FAIL - [e.style['background-image'\] = "conic-gradient(from 30deg, red, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, red, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(from 30deg, color(srgb 1 0 0), blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, color(srgb 1 0 0), blue)" should set the property value] - expected: FAIL - [e.style['background-image'\] = "conic-gradient(in lab, red, blue)" should set the property value] expected: FAIL @@ -3737,12 +3725,6 @@ [e.style['background-image'\] = "radial-gradient(in oklch decreasing hue at right center, red, 50%, blue)" should set the property value] expected: FAIL - [e.style['background-image'\] = "conic-gradient(from 30deg, red, 50%, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, red, 50%, blue)" should set the property value] - expected: FAIL - [e.style['background-image'\] = "conic-gradient(in lab, red, 50%, blue)" should set the property value] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-linear-radial-conic-gradient-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-linear-radial-conic-gradient-001.html.ini deleted file mode 100644 index f32894f9178..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-linear-radial-conic-gradient-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[calc-linear-radial-conic-gradient-001.html] - [testing background-image: conic-gradient(rgb(0, 128, 0) calc(50% + 10%), rgb(0, 0, 255) calc(60% + 20%))] - expected: FAIL diff --git a/tests/wpt/meta/css/css-backgrounds/parsing/background-image-computed.sub.html.ini b/tests/wpt/meta/css/css-backgrounds/parsing/background-image-computed.sub.html.ini deleted file mode 100644 index 2a37f75fea3..00000000000 --- a/tests/wpt/meta/css/css-backgrounds/parsing/background-image-computed.sub.html.ini +++ /dev/null @@ -1,48 +0,0 @@ -[background-image-computed.sub.html] - [Property background-image value 'conic-gradient(at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at 10px 10px, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 0deg at 10px 10px, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg, rgb(255, 0, 0), rgb(0, 0, 255))'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at center, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at 50%, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from -45deg at 10px 10px, red, blue)'] - expected: FAIL diff --git a/tests/wpt/meta/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini b/tests/wpt/meta/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini deleted file mode 100644 index 93b3d0ade7b..00000000000 --- a/tests/wpt/meta/css/css-backgrounds/parsing/border-image-source-computed.sub.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[border-image-source-computed.sub.html] - [Property border-image-source value 'conic-gradient(from 90deg at 80% 90%, lime, black)'] - expected: FAIL - diff --git a/tests/wpt/meta/css/css-images/conic-gradient-angle-negative.html.ini b/tests/wpt/meta/css/css-images/conic-gradient-angle-negative.html.ini deleted file mode 100644 index 2d32aca2dd1..00000000000 --- a/tests/wpt/meta/css/css-images/conic-gradient-angle-negative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[conic-gradient-angle-negative.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/conic-gradient-angle.html.ini b/tests/wpt/meta/css/css-images/conic-gradient-angle.html.ini deleted file mode 100644 index f5905bc26fd..00000000000 --- a/tests/wpt/meta/css/css-images/conic-gradient-angle.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[conic-gradient-angle.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/conic-gradient-center.html.ini b/tests/wpt/meta/css/css-images/conic-gradient-center.html.ini deleted file mode 100644 index 52c7e1636ef..00000000000 --- a/tests/wpt/meta/css/css-images/conic-gradient-center.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[conic-gradient-center.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/gradient/color-stops-parsing.html.ini b/tests/wpt/meta/css/css-images/gradient/color-stops-parsing.html.ini deleted file mode 100644 index 30b1ce8358d..00000000000 --- a/tests/wpt/meta/css/css-images/gradient/color-stops-parsing.html.ini +++ /dev/null @@ -1,84 +0,0 @@ -[color-stops-parsing.html] - [conic-gradient(black, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black, green, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, green 50%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 50%, green 10%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black, 25%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, 25%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0%, 15%, green 50%, 60%, white 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, white) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, white 50% 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% 50%, green 25% 75%, white 50% 100%) [ parsable \]] - expected: FAIL - - [conic-gradient(black 0% calc(100% / 5), 25%, green 30% 60%, calc(100% * 3 / 4), white calc(100% - 20%) 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, green, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, green 50%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 50%, green 10%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black, 25%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, 25%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0%, 15%, green 50%, 60%, white 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, white) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, white 50% 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% 50%, green 25% 75%, white 50% 100%) [ parsable \]] - expected: FAIL - - [repeating-conic-gradient(black 0% calc(100% / 5), 25%, green 30% 60%, calc(100% * 3 / 4), white calc(100% - 20%) 100%) [ parsable \]] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/image-set/image-set-conic-gradient-rendering.html.ini b/tests/wpt/meta/css/css-images/image-set/image-set-conic-gradient-rendering.html.ini new file mode 100644 index 00000000000..95d9cf7bd8d --- /dev/null +++ b/tests/wpt/meta/css/css-images/image-set/image-set-conic-gradient-rendering.html.ini @@ -0,0 +1,2 @@ +[image-set-conic-gradient-rendering.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html.ini b/tests/wpt/meta/css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html.ini new file mode 100644 index 00000000000..f18e1ef9a00 --- /dev/null +++ b/tests/wpt/meta/css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html.ini @@ -0,0 +1,2 @@ +[image-set-repeating-conic-gradient-rendering.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic-2.html.ini b/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic-2.html.ini deleted file mode 100644 index d7e733501db..00000000000 --- a/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[multiple-position-color-stop-conic-2.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic.html.ini b/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic.html.ini deleted file mode 100644 index 7897d70c1a1..00000000000 --- a/tests/wpt/meta/css/css-images/multiple-position-color-stop-conic.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[multiple-position-color-stop-conic.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/normalization-conic-2.html.ini b/tests/wpt/meta/css/css-images/normalization-conic-2.html.ini deleted file mode 100644 index 712f51069c5..00000000000 --- a/tests/wpt/meta/css/css-images/normalization-conic-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[normalization-conic-2.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/normalization-conic-degenerate.html.ini b/tests/wpt/meta/css/css-images/normalization-conic-degenerate.html.ini deleted file mode 100644 index 7348a8278d8..00000000000 --- a/tests/wpt/meta/css/css-images/normalization-conic-degenerate.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[normalization-conic-degenerate.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/normalization-conic.html.ini b/tests/wpt/meta/css/css-images/normalization-conic.html.ini deleted file mode 100644 index a5ac414e610..00000000000 --- a/tests/wpt/meta/css/css-images/normalization-conic.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[normalization-conic.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/out-of-range-color-stop-conic.html.ini b/tests/wpt/meta/css/css-images/out-of-range-color-stop-conic.html.ini deleted file mode 100644 index fa1a353540c..00000000000 --- a/tests/wpt/meta/css/css-images/out-of-range-color-stop-conic.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[out-of-range-color-stop-conic.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-computed.html.ini b/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-computed.html.ini index e874313f3f8..481d467be07 100644 --- a/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-computed.html.ini +++ b/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-computed.html.ini @@ -1943,18 +1943,6 @@ [Property background-image value 'radial-gradient(in oklch decreasing hue at right center, color(srgb 1 0 0), blue)'] expected: FAIL - [Property background-image value 'conic-gradient(from 30deg, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at left 10px top 50em, red, blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(from 30deg, color(srgb 1 0 0), blue)'] - expected: FAIL - - [Property background-image value 'conic-gradient(at left 10px top 50em, color(srgb 1 0 0), blue)'] - expected: FAIL - [Property background-image value 'conic-gradient(in lab, red, blue)'] expected: FAIL diff --git a/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-valid.html.ini b/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-valid.html.ini index 22e41992693..1dd3f6d54fa 100644 --- a/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-valid.html.ini +++ b/tests/wpt/meta/css/css-images/parsing/gradient-interpolation-method-valid.html.ini @@ -1943,18 +1943,6 @@ [e.style['background-image'\] = "radial-gradient(in oklch decreasing hue at right center, color(srgb 1 0 0), blue)" should set the property value] expected: FAIL - [e.style['background-image'\] = "conic-gradient(from 30deg, red, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, red, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(from 30deg, color(srgb 1 0 0), blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, color(srgb 1 0 0), blue)" should set the property value] - expected: FAIL - [e.style['background-image'\] = "conic-gradient(in lab, red, blue)" should set the property value] expected: FAIL @@ -3737,12 +3725,6 @@ [e.style['background-image'\] = "radial-gradient(in oklch decreasing hue at right center, red, 50%, blue)" should set the property value] expected: FAIL - [e.style['background-image'\] = "conic-gradient(from 30deg, red, 50%, blue)" should set the property value] - expected: FAIL - - [e.style['background-image'\] = "conic-gradient(at left 10px top 50em, red, 50%, blue)" should set the property value] - expected: FAIL - [e.style['background-image'\] = "conic-gradient(in lab, red, 50%, blue)" should set the property value] expected: FAIL diff --git a/tests/wpt/meta/css/css-images/repeating-conic-gradient.html.ini b/tests/wpt/meta/css/css-images/repeating-conic-gradient.html.ini deleted file mode 100644 index b9063d8ee48..00000000000 --- a/tests/wpt/meta/css/css-images/repeating-conic-gradient.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[repeating-conic-gradient.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-images/tiled-conic-gradients.html.ini b/tests/wpt/meta/css/css-images/tiled-conic-gradients.html.ini deleted file mode 100644 index e2b676b1315..00000000000 --- a/tests/wpt/meta/css/css-images/tiled-conic-gradients.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[tiled-conic-gradients.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-linear-radial-conic-gradient-001.html.ini b/tests/wpt/meta/css/css-values/calc-linear-radial-conic-gradient-001.html.ini deleted file mode 100644 index f32894f9178..00000000000 --- a/tests/wpt/meta/css/css-values/calc-linear-radial-conic-gradient-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[calc-linear-radial-conic-gradient-001.html] - [testing background-image: conic-gradient(rgb(0, 128, 0) calc(50% + 10%), rgb(0, 0, 255) calc(60% + 20%))] - expected: FAIL diff --git a/tests/wpt/meta/css/filter-effects/filter-function/filter-function-conic-gradient.html.ini b/tests/wpt/meta/css/filter-effects/filter-function/filter-function-conic-gradient.html.ini new file mode 100644 index 00000000000..94e9e2d932f --- /dev/null +++ b/tests/wpt/meta/css/filter-effects/filter-function/filter-function-conic-gradient.html.ini @@ -0,0 +1,2 @@ +[filter-function-conic-gradient.html] + expected: FAIL diff --git a/tests/wpt/meta/css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html.ini b/tests/wpt/meta/css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html.ini new file mode 100644 index 00000000000..237204a13cf --- /dev/null +++ b/tests/wpt/meta/css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html.ini @@ -0,0 +1,2 @@ +[filter-function-repeating-conic-gradient.html] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html.ini b/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html.ini new file mode 100644 index 00000000000..2947f6738ce --- /dev/null +++ b/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html.ini @@ -0,0 +1,2 @@ +[conic-gradient-rotation.html] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html.ini b/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html.ini new file mode 100644 index 00000000000..05555fd0033 --- /dev/null +++ b/tests/wpt/meta/html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html.ini @@ -0,0 +1,2 @@ +[conic-gradient.html] + expected: FAIL