diff --git a/components/style/gecko/url.rs b/components/style/gecko/url.rs index 192d43ef5a1..bafab1c31d9 100644 --- a/components/style/gecko/url.rs +++ b/components/style/gecko/url.rs @@ -5,6 +5,7 @@ //! Common handling for the specified value CSS url() values. use gecko_bindings::structs::{ServoBundledURI, URLExtraData}; +use gecko_bindings::structs::mozilla::css::URLValueData; use gecko_bindings::structs::root::mozilla::css::ImageValue; use gecko_bindings::sugar::refptr::RefPtr; use parser::ParserContext; @@ -51,6 +52,16 @@ impl SpecifiedUrl { false } + /// Convert from URLValueData to SpecifiedUrl. + pub unsafe fn from_url_value_data(url: &URLValueData) + -> Result { + Ok(SpecifiedUrl { + serialization: Arc::new(url.mString.to_string()), + extra_data: url.mExtraData.to_safe(), + image_value: None, + }) + } + /// Returns true if this URL looks like a fragment. /// See https://drafts.csswg.org/css-values/#local-urls pub fn is_fragment(&self) -> bool { diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index b0953f9a1d9..acd43354b06 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -3434,6 +3434,15 @@ fn static_assert() { } } + <% + # This array is several filter function which has percentage or + # number value for function of clone / set. + # The setting / cloning process of other function(e.g. Blur / HueRotate) is + # different from these function. So this array don't include such function. + FILTER_FUNCTIONS = [ 'Brightness', 'Contrast', 'Grayscale', 'Invert', + 'Opacity', 'Saturate', 'Sepia' ] + %> + pub fn set_filter(&mut self, v: longhands::filter::computed_value::T) { use properties::longhands::filter::computed_value::Filter::*; use gecko_bindings::structs::nsCSSShadowArray; @@ -3460,35 +3469,20 @@ fn static_assert() { debug_assert!(v.filters.len() == self.gecko.mFilters.len()); for (servo, gecko_filter) in v.filters.into_iter().zip(self.gecko.mFilters.iter_mut()) { - //TODO: URL, drop-shadow match servo { - Blur(len) => fill_filter(NS_STYLE_FILTER_BLUR, - CoordDataValue::Coord(len.0), - gecko_filter), - Brightness(factor) => fill_filter(NS_STYLE_FILTER_BRIGHTNESS, - CoordDataValue::Factor(factor), - gecko_filter), - Contrast(factor) => fill_filter(NS_STYLE_FILTER_CONTRAST, - CoordDataValue::Factor(factor), - gecko_filter), - Grayscale(factor) => fill_filter(NS_STYLE_FILTER_GRAYSCALE, - CoordDataValue::Factor(factor), - gecko_filter), - HueRotate(angle) => fill_filter(NS_STYLE_FILTER_HUE_ROTATE, - CoordDataValue::from(angle), - gecko_filter), - Invert(factor) => fill_filter(NS_STYLE_FILTER_INVERT, - CoordDataValue::Factor(factor), - gecko_filter), - Opacity(factor) => fill_filter(NS_STYLE_FILTER_OPACITY, - CoordDataValue::Factor(factor), - gecko_filter), - Saturate(factor) => fill_filter(NS_STYLE_FILTER_SATURATE, - CoordDataValue::Factor(factor), - gecko_filter), - Sepia(factor) => fill_filter(NS_STYLE_FILTER_SEPIA, - CoordDataValue::Factor(factor), - gecko_filter), + % for func in FILTER_FUNCTIONS: + ${func}(factor) => fill_filter(NS_STYLE_FILTER_${func.upper()}, + CoordDataValue::Factor(factor), + gecko_filter), + % endfor + Blur(length) => fill_filter(NS_STYLE_FILTER_BLUR, + CoordDataValue::Coord(length.0), + gecko_filter), + + HueRotate(angle) => fill_filter(NS_STYLE_FILTER_HUE_ROTATE, + CoordDataValue::from(angle), + gecko_filter), + DropShadow(shadow) => { gecko_filter.mType = NS_STYLE_FILTER_DROP_SHADOW; @@ -3504,12 +3498,12 @@ fn static_assert() { let mut gecko_shadow = init_shadow(gecko_filter); gecko_shadow.mArray[0].set_from_shadow(shadow); - } + }, Url(ref url) => { unsafe { bindings::Gecko_nsStyleFilter_SetURLValue(gecko_filter, url.for_ffi()); } - } + }, } } } @@ -3519,6 +3513,58 @@ fn static_assert() { Gecko_CopyFiltersFrom(&other.gecko as *const _ as *mut _, &mut self.gecko); } } + + pub fn clone_filter(&self) -> longhands::filter::computed_value::T { + use properties::longhands::filter::computed_value::Filter::*; + use values::specified::url::SpecifiedUrl; + use gecko_bindings::structs::NS_STYLE_FILTER_BLUR; + use gecko_bindings::structs::NS_STYLE_FILTER_BRIGHTNESS; + use gecko_bindings::structs::NS_STYLE_FILTER_CONTRAST; + use gecko_bindings::structs::NS_STYLE_FILTER_GRAYSCALE; + use gecko_bindings::structs::NS_STYLE_FILTER_INVERT; + use gecko_bindings::structs::NS_STYLE_FILTER_OPACITY; + use gecko_bindings::structs::NS_STYLE_FILTER_SATURATE; + use gecko_bindings::structs::NS_STYLE_FILTER_SEPIA; + use gecko_bindings::structs::NS_STYLE_FILTER_HUE_ROTATE; + use gecko_bindings::structs::NS_STYLE_FILTER_DROP_SHADOW; + use gecko_bindings::structs::NS_STYLE_FILTER_URL; + + let mut filters = Vec::new(); + for filter in self.gecko.mFilters.iter(){ + match filter.mType { + % for func in FILTER_FUNCTIONS: + NS_STYLE_FILTER_${func.upper()} => { + filters.push(${func}( + GeckoStyleCoordConvertible::from_gecko_style_coord( + &filter.mFilterParameter).unwrap())); + }, + % endfor + NS_STYLE_FILTER_BLUR => { + filters.push(Blur(Au::from_gecko_style_coord( + &filter.mFilterParameter).unwrap())); + }, + NS_STYLE_FILTER_HUE_ROTATE => { + filters.push(HueRotate( + GeckoStyleCoordConvertible::from_gecko_style_coord( + &filter.mFilterParameter).unwrap())); + }, + NS_STYLE_FILTER_DROP_SHADOW => { + filters.push(unsafe { + DropShadow((**filter.__bindgen_anon_1.mDropShadow.as_ref()).mArray[0].to_shadow()) + }); + }, + NS_STYLE_FILTER_URL => { + filters.push(unsafe { + (Url(SpecifiedUrl::from_url_value_data( + &(**filter.__bindgen_anon_1.mURL.as_ref())._base).unwrap())) + }); + } + _ => {}, + } + } + longhands::filter::computed_value::T::new(filters) + } + <%self:impl_trait style_struct_name="InheritedBox" diff --git a/components/style/properties/helpers/animated_properties.mako.rs b/components/style/properties/helpers/animated_properties.mako.rs index 6422149fb1d..0e7db04bbf7 100644 --- a/components/style/properties/helpers/animated_properties.mako.rs +++ b/components/style/properties/helpers/animated_properties.mako.rs @@ -14,9 +14,12 @@ use euclid::{Point2D, Size2D}; #[cfg(feature = "gecko")] use gecko_bindings::structs::nsCSSPropertyID; #[cfg(feature = "gecko")] use gecko_bindings::sugar::ownership::{HasFFI, HasSimpleFFI}; #[cfg(feature = "gecko")] use gecko_string_cache::Atom; +#[cfg(feature = "gecko")] use gecko::url::SpecifiedUrl; use properties::{CSSWideKeyword, PropertyDeclaration}; use properties::longhands; use properties::longhands::background_size::computed_value::T as BackgroundSizeList; +use properties::longhands::filter::computed_value::Filter; +use properties::longhands::filter::computed_value::T as Filters; use properties::longhands::font_weight::computed_value::T as FontWeight; use properties::longhands::font_stretch::computed_value::T as FontStretch; use properties::longhands::text_shadow::computed_value::T as TextShadowList; @@ -936,9 +939,20 @@ impl Animatable for i32 { impl Animatable for Angle { #[inline] fn add_weighted(&self, other: &Angle, self_portion: f64, other_portion: f64) -> Result { - self.radians() - .add_weighted(&other.radians(), self_portion, other_portion) - .map(Angle::from_radians) + match (*self, *other) { + % for angle_type in [ 'Degree', 'Gradian', 'Turn' ]: + (Angle::${angle_type}(val1), Angle::${angle_type}(val2)) => { + Ok(Angle::${angle_type}( + try!(val1.add_weighted(&val2, self_portion, other_portion)) + )) + } + % endfor + _ => { + self.radians() + .add_weighted(&other.radians(), self_portion, other_portion) + .map(Angle::from_radians) + } + } } } @@ -3005,7 +3019,7 @@ impl Animatable for IntermediateSVGPaintKind { #[cfg_attr(feature = "servo", derive(HeapSizeOf))] #[allow(missing_docs)] /// Intermediate type for box-shadow and text-shadow. -/// The difference between normal shadow type is that this type uses +/// The difference from normal shadow type is that this type uses /// IntermediateColor instead of ParserColor. pub struct IntermediateShadow { pub offset_x: Au, @@ -3181,3 +3195,257 @@ impl Animatable for IntermediateShadowList { Ok(IntermediateShadowList(result)) } } + +/// Intermediate type for filter property. +/// The difference from normal filter type is that this structure uses +/// IntermediateColor into DropShadow's value. +pub type IntermediateFilters = Vec; + +#[derive(Clone, PartialEq, Debug)] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] +#[allow(missing_docs)] +pub enum IntermediateFilter { + Blur(Au), + Brightness(CSSFloat), + Contrast(CSSFloat), + Grayscale(CSSFloat), + HueRotate(Angle), + Invert(CSSFloat), + Opacity(CSSFloat), + Saturate(CSSFloat), + Sepia(CSSFloat), + % if product == "gecko": + DropShadow(IntermediateShadow), + Url(SpecifiedUrl), + % endif +} + +impl From for IntermediateFilters { + fn from(filters: Filters) -> IntermediateFilters { + filters.filters.into_iter().map(|f| f.into()).collect() + } +} + +impl From for Filters { + fn from(filters: IntermediateFilters) -> Filters { + Filters::new(filters.into_iter().map(|f| f.into()).collect()) + } +} + +<% + FILTER_FUNCTIONS = [ 'Blur', 'Brightness', 'Contrast', 'Grayscale', + 'HueRotate', 'Invert', 'Opacity', 'Saturate', + 'Sepia' ] +%> + +impl From for IntermediateFilter { + fn from(filter: Filter) -> IntermediateFilter { + use properties::longhands::filter::computed_value::Filter::*; + match filter { + % for func in FILTER_FUNCTIONS: + ${func}(val) => IntermediateFilter::${func}(val), + % endfor + % if product == "gecko": + DropShadow(shadow) => { + IntermediateFilter::DropShadow(shadow.into()) + }, + Url(ref url) => { + IntermediateFilter::Url(url.clone()) + }, + % endif + } + } +} + +impl From for Filter { + fn from(filter: IntermediateFilter) -> Filter { + match filter { + % for func in FILTER_FUNCTIONS: + IntermediateFilter::${func}(val) => Filter::${func}(val), + % endfor + % if product == "gecko": + IntermediateFilter::DropShadow(shadow) => { + Filter::DropShadow(shadow.into()) + }, + IntermediateFilter::Url(ref url) => { + Filter::Url(url.clone()) + }, + % endif + } + } +} + +/// https://drafts.fxtf.org/filters/#animation-of-filters +fn add_weighted_filter_function_impl(from: &IntermediateFilter, + to: &IntermediateFilter, + self_portion: f64, + other_portion: f64) + -> Result { + match (from, to) { + % for func in [ 'Blur', 'HueRotate' ]: + (&IntermediateFilter::${func}(from_value), + &IntermediateFilter::${func}(to_value)) => { + Ok(IntermediateFilter::${func}( + try!(from_value.add_weighted(&to_value, + self_portion, + other_portion)))) + }, + % endfor + % for func in [ 'Grayscale', 'Invert', 'Sepia' ]: + (&IntermediateFilter::${func}(from_value), + &IntermediateFilter::${func}(to_value)) => { + Ok(IntermediateFilter::${func}(try!( + add_weighted_with_initial_val(&from_value, + &to_value, + self_portion, + other_portion, + &0.0)))) + }, + % endfor + % for func in [ 'Brightness', 'Contrast', 'Opacity', 'Saturate' ]: + (&IntermediateFilter::${func}(from_value), + &IntermediateFilter::${func}(to_value)) => { + Ok(IntermediateFilter::${func}(try!( + add_weighted_with_initial_val(&from_value, + &to_value, + self_portion, + other_portion, + &1.0)))) + }, + % endfor + % if product == "gecko": + (&IntermediateFilter::DropShadow(from_value), + &IntermediateFilter::DropShadow(to_value)) => { + Ok(IntermediateFilter::DropShadow(try!( + from_value.add_weighted(&to_value, + self_portion, + other_portion)))) + }, + (&IntermediateFilter::Url(_), + &IntermediateFilter::Url(_)) => { + Err(()) + }, + % endif + _ => { + // If specified the different filter functions, + // we will need to interpolate as discreate. + Err(()) + }, + } +} + +/// https://drafts.fxtf.org/filters/#animation-of-filters +fn add_weighted_filter_function(from: Option<<&IntermediateFilter>, + to: Option<<&IntermediateFilter>, + self_portion: f64, + other_portion: f64) -> Result { + match (from, to) { + (Some(f), Some(t)) => { + add_weighted_filter_function_impl(f, t, self_portion, other_portion) + }, + (Some(f), None) => { + add_weighted_filter_function_impl(f, f, self_portion, 0.0) + }, + (None, Some(t)) => { + add_weighted_filter_function_impl(t, t, other_portion, 0.0) + }, + _ => { Err(()) } + } +} + +fn compute_filter_square_distance(from: &IntermediateFilter, + to: &IntermediateFilter) + -> Result { + match (from, to) { + % for func in FILTER_FUNCTIONS : + (&IntermediateFilter::${func}(f), + &IntermediateFilter::${func}(t)) => { + Ok(try!(f.compute_squared_distance(&t))) + }, + % endfor + % if product == "gecko": + (&IntermediateFilter::DropShadow(f), + &IntermediateFilter::DropShadow(t)) => { + Ok(try!(f.compute_squared_distance(&t))) + }, + % endif + _ => { + Err(()) + } + } +} + +impl Animatable for IntermediateFilters { + #[inline] + fn add_weighted(&self, other: &Self, + self_portion: f64, other_portion: f64) -> Result { + let mut filters: IntermediateFilters = Vec::new(); + let mut from_iter = self.iter(); + let mut to_iter = (&other).iter(); + + let mut from = from_iter.next(); + let mut to = to_iter.next(); + while (from,to) != (None, None) { + filters.push(try!(add_weighted_filter_function(from, + to, + self_portion, + other_portion))); + if from != None { + from = from_iter.next(); + } + if to != None { + to = to_iter.next(); + } + } + + Ok(filters) + } + + fn add(&self, other: &Self) -> Result { + let from_list = &self; + let to_list = &other; + let filters: IntermediateFilters = + vec![&from_list[..], &to_list[..]].concat(); + Ok(filters) + } + + #[inline] + fn compute_distance(&self, other: &Self) -> Result { + self.compute_squared_distance(other).map(|sd| sd.sqrt()) + } + + #[inline] + fn compute_squared_distance(&self, other: &Self) -> Result { + let mut square_distance: f64 = 0.0; + let mut from_iter = self.iter(); + let mut to_iter = (&other).iter(); + + let mut from = from_iter.next(); + let mut to = to_iter.next(); + while (from,to) != (None, None) { + let current_square_distance: f64 ; + if from == None { + let none = try!(add_weighted_filter_function(to, to, 0.0, 0.0)); + current_square_distance = + compute_filter_square_distance(&none, &(to.unwrap())).unwrap(); + + to = to_iter.next(); + } else if to == None { + let none = try!(add_weighted_filter_function(from, from, 0.0, 0.0)); + current_square_distance = + compute_filter_square_distance(&none, &(from.unwrap())).unwrap(); + + from = from_iter.next(); + } else { + current_square_distance = + compute_filter_square_distance(&(from.unwrap()), + &(to.unwrap())).unwrap(); + + from = from_iter.next(); + to = to_iter.next(); + } + square_distance += current_square_distance; + } + Ok(square_distance.sqrt()) + } +} diff --git a/components/style/properties/longhand/effects.mako.rs b/components/style/properties/longhand/effects.mako.rs index 31f601fb6c4..5085731cd00 100644 --- a/components/style/properties/longhand/effects.mako.rs +++ b/components/style/properties/longhand/effects.mako.rs @@ -41,8 +41,7 @@ ${helpers.predefined_type("clip", allow_quirks=True, spec="https://drafts.fxtf.org/css-masking/#clip-property")} -// FIXME: This prop should be animatable -<%helpers:longhand name="filter" animation_value_type="none" extra_prefixes="webkit" +<%helpers:longhand name="filter" animation_value_type="IntermediateFilters" extra_prefixes="webkit" flags="CREATES_STACKING_CONTEXT FIXPOS_CB" spec="https://drafts.fxtf.org/filters/#propdef-filter"> //pub use self::computed_value::T as SpecifiedValue; diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-blur.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-blur.htm.ini new file mode 100644 index 00000000000..2d8f81291c5 --- /dev/null +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-blur.htm.ini @@ -0,0 +1,3 @@ +[css-filters-animation-blur.htm] + type: reftest + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-brightness.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-brightness.htm.ini index ee26622e1e9..3dc827dc69d 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-brightness.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-brightness.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-brightness.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-combined-001.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-combined-001.htm.ini index 28deb704c45..d62240fa11b 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-combined-001.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-combined-001.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-combined-001.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-contrast.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-contrast.htm.ini index d52d16992b2..01714a3def8 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-contrast.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-contrast.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-contrast.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-drop-shadow.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-drop-shadow.htm.ini new file mode 100644 index 00000000000..8797eebf2bd --- /dev/null +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-drop-shadow.htm.ini @@ -0,0 +1,3 @@ +[css-filters-animation-drop-shadow.htm] + type: reftest + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-grayscale.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-grayscale.htm.ini index 6c13386c640..4e569b1cc3b 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-grayscale.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-grayscale.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-grayscale.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-hue-rotate.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-hue-rotate.htm.ini index 127432c6e59..a35be414e43 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-hue-rotate.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-hue-rotate.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-hue-rotate.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-invert.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-invert.htm.ini index f53e2078a80..e2425dcdb6f 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-invert.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-invert.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-invert.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-opacity.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-opacity.htm.ini index 64acd803cde..fa9c0e504cc 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-opacity.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-opacity.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-opacity.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-saturate.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-saturate.htm.ini index f16ce7b3445..6eb8b2a17df 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-saturate.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-saturate.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-saturate.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-sepia.htm.ini b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-sepia.htm.ini index b0cf90b727b..1b5ab18d25f 100644 --- a/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-sepia.htm.ini +++ b/tests/wpt/metadata-css/css-animations-1_dev/html/css-filters-animation-sepia.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-sepia.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-blur.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-blur.htm.ini new file mode 100644 index 00000000000..2d8f81291c5 --- /dev/null +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-blur.htm.ini @@ -0,0 +1,3 @@ +[css-filters-animation-blur.htm] + type: reftest + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini index ee26622e1e9..3dc827dc69d 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-brightness.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-combined-001.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-combined-001.htm.ini index 28deb704c45..d62240fa11b 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-combined-001.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-combined-001.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-combined-001.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-contrast.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-contrast.htm.ini index d52d16992b2..01714a3def8 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-contrast.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-contrast.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-contrast.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-drop-shadow.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-drop-shadow.htm.ini new file mode 100644 index 00000000000..8797eebf2bd --- /dev/null +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-drop-shadow.htm.ini @@ -0,0 +1,3 @@ +[css-filters-animation-drop-shadow.htm] + type: reftest + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-grayscale.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-grayscale.htm.ini index 6c13386c640..4e569b1cc3b 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-grayscale.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-grayscale.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-grayscale.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-hue-rotate.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-hue-rotate.htm.ini index 127432c6e59..a35be414e43 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-hue-rotate.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-hue-rotate.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-hue-rotate.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-invert.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-invert.htm.ini index f53e2078a80..e2425dcdb6f 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-invert.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-invert.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-invert.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-opacity.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-opacity.htm.ini index 64acd803cde..fa9c0e504cc 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-opacity.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-opacity.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-opacity.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-saturate.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-saturate.htm.ini index f16ce7b3445..6eb8b2a17df 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-saturate.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-saturate.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-saturate.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335 diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-sepia.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-sepia.htm.ini index b0cf90b727b..1b5ab18d25f 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-sepia.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-sepia.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-sepia.htm] type: reftest - expected: FAIL + disabled: https://github.com/servo/servo/issues/17335