Bug 1408841 - Remove preference "layout.css.filters.enabled". r=emilio
authorTing-Yu Lin <aethanyc@gmail.com>
Mon, 10 Sep 2018 22:45:20 +0000
changeset 435571 60fe9150ede60e0a07c5aa0bb0149f67bc70d3b7
parent 435570 3d6dcf35e8f4a9ff76b34f5ffd5ab7cd961598ef
child 435572 2787fb454f40584ad146c61fd9b375c419efe803
push id34615
push usercsabou@mozilla.com
push dateTue, 11 Sep 2018 10:05:56 +0000
treeherdermozilla-central@cb28a4b17303 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersemilio
bugs1408841
milestone64.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1408841 - Remove preference "layout.css.filters.enabled". r=emilio Differential Revision: https://phabricator.services.mozilla.com/D5467
layout/base/nsLayoutUtils.cpp
layout/base/nsLayoutUtils.h
layout/reftests/css-blending/reftest.list
layout/reftests/svg/filters/css-filter-chains/reftest.list
layout/reftests/svg/filters/css-filters/reftest.list
layout/reftests/svg/filters/css-svg-filter-chains/reftest.list
layout/reftests/svg/filters/svg-filter-chains/reftest.list
layout/style/test/property_database.js
layout/style/test/test_transitions_per_property.html
modules/libpref/init/all.js
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -506,32 +506,16 @@ nsLayoutUtils::AnimatedImageLayersEnable
                                  "layout.animated-image-layers.enabled",
                                  false);
   }
 
   return sAnimatedImageLayersEnabled;
 }
 
 bool
-nsLayoutUtils::CSSFiltersEnabled()
-{
-  static bool sCSSFiltersEnabled;
-  static bool sCSSFiltersPrefCached = false;
-
-  if (!sCSSFiltersPrefCached) {
-    sCSSFiltersPrefCached = true;
-    Preferences::AddBoolVarCache(&sCSSFiltersEnabled,
-                                 "layout.css.filters.enabled",
-                                 false);
-  }
-
-  return sCSSFiltersEnabled;
-}
-
-bool
 nsLayoutUtils::IsInterCharacterRubyEnabled()
 {
   static bool sInterCharacterRubyEnabled;
   static bool sInterCharacterRubyEnabledPrefCached = false;
 
   if (!sInterCharacterRubyEnabledPrefCached) {
     sInterCharacterRubyEnabledPrefCached = true;
     Preferences::AddBoolVarCache(&sInterCharacterRubyEnabled,
--- a/layout/base/nsLayoutUtils.h
+++ b/layout/base/nsLayoutUtils.h
@@ -2397,21 +2397,16 @@ public:
   static bool GPUImageScalingEnabled();
 
   /**
    * Checks whether we want to layerize animated images whenever possible.
    */
   static bool AnimatedImageLayersEnabled();
 
   /**
-   * Checks if we should enable parsing for CSS Filters.
-   */
-  static bool CSSFiltersEnabled();
-
-  /**
    * Checks whether support for inter-character ruby is enabled.
    */
   static bool IsInterCharacterRubyEnabled();
 
   /**
    * Checks whether content-select is enabled.
    */
   static bool IsContentSelectEnabled();
--- a/layout/reftests/css-blending/reftest.list
+++ b/layout/reftests/css-blending/reftest.list
@@ -35,18 +35,18 @@ fuzzy-if(d2d,0-1,0-3200) fuzzy-if(azureS
 fuzzy-if(d2d||azureSkia||gtkWidget,0-1,0-1600) pref(layout.css.background-blend-mode.enabled,true) == background-blending-screen.html background-blending-screen-ref.svg
 fuzzy-if(d2d||azureSkia||gtkWidget,0-10,0-4800) pref(layout.css.background-blend-mode.enabled,true) == background-blending-soft-light.html background-blending-soft-light-ref.svg
 
 fuzzy-if(azureSkia||d2d||gtkWidget,0-1,0-40000) pref(layout.css.background-blend-mode.enabled,true) == background-blending-image-color-959674.html background-blending-image-color-959674-ref.html
 
 #fuzzy due to inconsistencies in rounded rect cliping between parent and child; may be related to antialiasing. Between platforms, the max difference is the same, and the number of different pixels is either 36 or 37. (Win, Mac and Lin)
 fuzzy(0-65,0-53) pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-952051.html mix-blend-mode-952051-ref.html
 
-fuzzy-if(d3d11,0-49,0-200) pref(layout.css.mix-blend-mode.enabled,true) pref(layout.css.filters.enabled,true) == mix-blend-mode-and-filter.html mix-blend-mode-and-filter-ref.html
-fuzzy-if(d3d11,0-1,0-5) pref(layout.css.mix-blend-mode.enabled,true) pref(layout.css.filters.enabled,true) == mix-blend-mode-and-filter.svg mix-blend-mode-and-filter-ref.svg
+fuzzy-if(d3d11,0-49,0-200) pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-and-filter.html mix-blend-mode-and-filter-ref.html
+fuzzy-if(d3d11,0-1,0-5) pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-and-filter.svg mix-blend-mode-and-filter-ref.svg
 
 fuzzy(0-2,0-14400) pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-child-of-blended-has-opacity.html mix-blend-mode-child-of-blended-has-opacity-ref.html
 
 pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-nested-976533.html mix-blend-mode-nested-976533-ref.html
 pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-culling-1207041.html mix-blend-mode-culling-1207041-ref.html
 pref(layout.css.mix-blend-mode.enabled,true) == mix-blend-mode-dest-alpha-1135271.html mix-blend-mode-dest-alpha-1135271-ref.html
 == clipped-mixblendmode-containing-unclipped-stuff.html clipped-mixblendmode-containing-unclipped-stuff-ref.html
 fuzzy(0-1,0-6800) == clipped-opacity-containing-unclipped-mixblendmode.html clipped-opacity-containing-unclipped-mixblendmode-ref.html
--- a/layout/reftests/svg/filters/css-filter-chains/reftest.list
+++ b/layout/reftests/svg/filters/css-filter-chains/reftest.list
@@ -1,9 +1,7 @@
 # These tests verify that CSS filter chains behave properly.
 # e.g. filter: blur(3px) grayscale(0.5) invert(0.2);
 
-default-preferences pref(layout.css.filters.enabled,true)
-
 # Some platforms render this complex filter chain a little differently, and that's ok.
 fuzzy(0-5,0-13638) fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)&&layersGPUAccelerated,0-35,0-13638) fuzzy-if(webrender,5-6,17922-18643) == long-chain.html long-chain-ref.html # Win10: Bug 1258241
 == moz-element.html moz-element-ref.html
 fuzzy-if(webrender,15-15,7958-8262) == same-filter.html same-filter-ref.html
--- a/layout/reftests/svg/filters/css-filters/reftest.list
+++ b/layout/reftests/svg/filters/css-filters/reftest.list
@@ -1,13 +1,11 @@
 # These tests verify that CSS filters behave properly.
 # e.g. filter: blur(3px)
 
-default-preferences pref(layout.css.filters.enabled,true)
-
 fuzzy-if(webrender,9-9,4780-4784) == blur.html blur-ref.html
 == blur.svg blur-ref.svg
 == blur-calc.html blur-calc-ref.html
 == blur-calc-negative.html blur-calc-negative-ref.html
 fuzzy-if(cocoaWidget&&webrender,1-1,1-1) skip-if(d2d) == blur-cap-large-radius-on-software.html blur-cap-large-radius-on-software-ref.html
 fuzzy-if(webrender,9-9,4780-4784) == blur-em-radius.html blur-em-radius-ref.html
 == blur-invalid-radius.html blur-invalid-radius-ref.html
 fuzzy-if(webrender,9-9,4780-4784) == blur-rem-radius.html blur-rem-radius-ref.html
--- a/layout/reftests/svg/filters/css-svg-filter-chains/reftest.list
+++ b/layout/reftests/svg/filters/css-svg-filter-chains/reftest.list
@@ -1,10 +1,8 @@
 # These tests verify that filter chains of combined CSS and SVG filters behave
 # properly.
 # e.g. filter: url(#f1) blur(3px) url(#2) grayscale(0.5);
 
-default-preferences pref(layout.css.filters.enabled,true)
-
 == clip-input-css-filter.html clip-input-css-filter-ref.html
 == css-filter-first.html css-filter-first-ref.html
 == css-filter-last.html css-filter-last-ref.html
 == css-filter-middle.html css-filter-middle-ref.html
--- a/layout/reftests/svg/filters/svg-filter-chains/reftest.list
+++ b/layout/reftests/svg/filters/svg-filter-chains/reftest.list
@@ -1,13 +1,11 @@
 # These tests verify that SVG filter chains behave properly.
 # e.g. filter: url(#f1) url(#f2) url(#f3)
 
-default-preferences pref(layout.css.filters.enabled,true)
-
 == clip-input.svg clip-input-ref.svg
 == clip-original-SourceGraphic.svg clip-original-SourceGraphic-ref.svg
 == clip-output.svg clip-output-ref.svg
 == default-subregion.svg default-subregion-ref.svg
 == different-FillPaint-filter-regions.svg different-FillPaint-filter-regions-ref.svg
 == different-StrokePaint-filter-regions.svg different-StrokePaint-filter-regions-ref.svg
 == dont-clip-previous-primitives.svg dont-clip-previous-primitives-ref.svg
 == intersecting-filter-regions.svg intersecting-filter-regions-ref.svg
--- a/layout/style/test/property_database.js
+++ b/layout/style/test/property_database.js
@@ -4884,18 +4884,244 @@ var gCSSProperties = {
     other_values: [ "evenodd" ],
     invalid_values: []
   },
   "filter": {
     domProp: "filter",
     inherited: false,
     type: CSS_TYPE_LONGHAND,
     initial_values: [ "none" ],
-    other_values: [ "url(#myfilt)" ],
-    invalid_values: [ "url(#myfilt) none" ]
+    other_values: [
+      // SVG reference filters
+      "url(#my-filter)",
+      "url(#my-filter-1) url(#my-filter-2)",
+
+      // Filter functions
+      "opacity(50%) saturate(1.0)",
+      "invert(50%) sepia(0.1) brightness(90%)",
+
+      // Mixed SVG reference filters and filter functions
+      "grayscale(1) url(#my-filter-1)",
+      "url(#my-filter-1) brightness(50%) contrast(0.9)",
+
+      // Bad URLs
+      "url('badscheme:badurl')",
+      "blur(3px) url('badscheme:badurl') grayscale(50%)",
+
+      "blur(0)",
+      "blur(0px)",
+      "blur(0.5px)",
+      "blur(3px)",
+      "blur(100px)",
+      "blur(0.1em)",
+      "blur(calc(-1px))", // Parses and becomes blur(0px).
+      "blur(calc(0px))",
+      "blur(calc(5px))",
+      "blur(calc(2 * 5px))",
+
+      "brightness(0)",
+      "brightness(50%)",
+      "brightness(1)",
+      "brightness(1.0)",
+      "brightness(2)",
+      "brightness(350%)",
+      "brightness(4.567)",
+
+      "contrast(0)",
+      "contrast(50%)",
+      "contrast(1)",
+      "contrast(1.0)",
+      "contrast(2)",
+      "contrast(350%)",
+      "contrast(4.567)",
+
+      "drop-shadow(2px 2px)",
+      "drop-shadow(2px 2px 1px)",
+      "drop-shadow(2px 2px green)",
+      "drop-shadow(2px 2px 1px green)",
+      "drop-shadow(green 2px 2px)",
+      "drop-shadow(green 2px 2px 1px)",
+      "drop-shadow(currentColor 3px 3px)",
+      "drop-shadow(2px 2px calc(-5px))", /* clamped */
+      "drop-shadow(calc(3em - 2px) 2px green)",
+      "drop-shadow(green calc(3em - 2px) 2px)",
+      "drop-shadow(2px calc(2px + 0.2em))",
+      "drop-shadow(blue 2px calc(2px + 0.2em))",
+      "drop-shadow(2px calc(2px + 0.2em) blue)",
+      "drop-shadow(calc(-2px) calc(-2px))",
+      "drop-shadow(-2px -2px)",
+      "drop-shadow(calc(2px) calc(2px))",
+      "drop-shadow(calc(2px) calc(2px) calc(2px))",
+
+      "grayscale(0)",
+      "grayscale(50%)",
+      "grayscale(1)",
+      "grayscale(1.0)",
+      "grayscale(2)",
+      "grayscale(350%)",
+      "grayscale(4.567)",
+
+      "hue-rotate(0)",
+      "hue-rotate(0deg)",
+      "hue-rotate(90deg)",
+      "hue-rotate(540deg)",
+      "hue-rotate(-90deg)",
+      "hue-rotate(10grad)",
+      "hue-rotate(1.6rad)",
+      "hue-rotate(-1.6rad)",
+      "hue-rotate(0.5turn)",
+      "hue-rotate(-2turn)",
+
+      "invert(0)",
+      "invert(50%)",
+      "invert(1)",
+      "invert(1.0)",
+      "invert(2)",
+      "invert(350%)",
+      "invert(4.567)",
+
+      "opacity(0)",
+      "opacity(50%)",
+      "opacity(1)",
+      "opacity(1.0)",
+      "opacity(2)",
+      "opacity(350%)",
+      "opacity(4.567)",
+
+      "saturate(0)",
+      "saturate(50%)",
+      "saturate(1)",
+      "saturate(1.0)",
+      "saturate(2)",
+      "saturate(350%)",
+      "saturate(4.567)",
+
+      "sepia(0)",
+      "sepia(50%)",
+      "sepia(1)",
+      "sepia(1.0)",
+      "sepia(2)",
+      "sepia(350%)",
+      "sepia(4.567)",
+    ],
+    invalid_values: [
+      // none
+      "none none",
+      "url(#my-filter) none",
+      "none url(#my-filter)",
+      "blur(2px) none url(#my-filter)",
+
+      // Nested filters
+      "grayscale(invert(1.0))",
+
+      // Comma delimited filters
+      "url(#my-filter),",
+      "invert(50%), url(#my-filter), brightness(90%)",
+
+      // Test the following situations for each filter function:
+      // - Invalid number of arguments
+      // - Comma delimited arguments
+      // - Wrong argument type
+      // - Argument value out of range
+      "blur()",
+      "blur(3px 5px)",
+      "blur(3px,)",
+      "blur(3px, 5px)",
+      "blur(#my-filter)",
+      "blur(0.5)",
+      "blur(50%)",
+      "blur(calc(0))", // Unitless zero in calc is not a valid length.
+      "blur(calc(0.1))",
+      "blur(calc(10%))",
+      "blur(calc(20px - 5%))",
+      "blur(-3px)",
+
+      "brightness()",
+      "brightness(0.5 0.5)",
+      "brightness(0.5,)",
+      "brightness(0.5, 0.5)",
+      "brightness(#my-filter)",
+      "brightness(10px)",
+      "brightness(-1)",
+
+      "contrast()",
+      "contrast(0.5 0.5)",
+      "contrast(0.5,)",
+      "contrast(0.5, 0.5)",
+      "contrast(#my-filter)",
+      "contrast(10px)",
+      "contrast(-1)",
+
+      "drop-shadow()",
+      "drop-shadow(3% 3%)",
+      "drop-shadow(2px 2px -5px)",
+      "drop-shadow(2px 2px 2px 2px)",
+      "drop-shadow(2px 2px, none)",
+      "drop-shadow(none, 2px 2px)",
+      "drop-shadow(inherit, 2px 2px)",
+      "drop-shadow(2px 2px, inherit)",
+      "drop-shadow(2 2px)",
+      "drop-shadow(2px 2)",
+      "drop-shadow(2px 2px 2)",
+      "drop-shadow(2px 2px 2px 2)",
+      "drop-shadow(calc(2px) calc(2px) calc(2px) calc(2px))",
+      "drop-shadow(green 2px 2px, blue 1px 3px 4px)",
+      "drop-shadow(blue 2px 2px, currentColor 1px 2px)",
+      "drop-shadow(unset, 2px 2px)",
+      "drop-shadow(2px 2px, unset)",
+
+      "grayscale()",
+      "grayscale(0.5 0.5)",
+      "grayscale(0.5,)",
+      "grayscale(0.5, 0.5)",
+      "grayscale(#my-filter)",
+      "grayscale(10px)",
+      "grayscale(-1)",
+
+      "hue-rotate()",
+      "hue-rotate(0.5 0.5)",
+      "hue-rotate(0.5,)",
+      "hue-rotate(0.5, 0.5)",
+      "hue-rotate(#my-filter)",
+      "hue-rotate(10px)",
+      "hue-rotate(-1)",
+      "hue-rotate(45deg,)",
+
+      "invert()",
+      "invert(0.5 0.5)",
+      "invert(0.5,)",
+      "invert(0.5, 0.5)",
+      "invert(#my-filter)",
+      "invert(10px)",
+      "invert(-1)",
+
+      "opacity()",
+      "opacity(0.5 0.5)",
+      "opacity(0.5,)",
+      "opacity(0.5, 0.5)",
+      "opacity(#my-filter)",
+      "opacity(10px)",
+      "opacity(-1)",
+
+      "saturate()",
+      "saturate(0.5 0.5)",
+      "saturate(0.5,)",
+      "saturate(0.5, 0.5)",
+      "saturate(#my-filter)",
+      "saturate(10px)",
+      "saturate(-1)",
+
+      "sepia()",
+      "sepia(0.5 0.5)",
+      "sepia(0.5,)",
+      "sepia(0.5, 0.5)",
+      "sepia(#my-filter)",
+      "sepia(10px)",
+      "sepia(-1)",
+    ]
   },
   "flood-color": {
     domProp: "floodColor",
     inherited: false,
     type: CSS_TYPE_LONGHAND,
     prerequisites: { "color": "blue" },
     initial_values: [ "black", "#000", "#000000", "rgb(0,0,0)", "rgba(0,0,0,1)" ],
     other_values: [ "green", "#fc3", "currentColor" ],
@@ -6259,252 +6485,16 @@ if (IsCSSPropertyPrefEnabled("layout.css
     ),
     unbalanced_values: [].concat(
       basicShapeUnbalancedValues,
       unbalancedGradientAndElementValues
     )
   };
 }
 
-
-if (IsCSSPropertyPrefEnabled("layout.css.filters.enabled")) {
-  gCSSProperties["filter"] = {
-    domProp: "filter",
-    inherited: false,
-    type: CSS_TYPE_LONGHAND,
-    initial_values: [ "none" ],
-    other_values: [
-      // SVG reference filters
-      "url(#my-filter)",
-      "url(#my-filter-1) url(#my-filter-2)",
-
-      // Filter functions
-      "opacity(50%) saturate(1.0)",
-      "invert(50%) sepia(0.1) brightness(90%)",
-
-      // Mixed SVG reference filters and filter functions
-      "grayscale(1) url(#my-filter-1)",
-      "url(#my-filter-1) brightness(50%) contrast(0.9)",
-
-      // Bad URLs
-      "url('badscheme:badurl')",
-      "blur(3px) url('badscheme:badurl') grayscale(50%)",
-
-      "blur(0)",
-      "blur(0px)",
-      "blur(0.5px)",
-      "blur(3px)",
-      "blur(100px)",
-      "blur(0.1em)",
-      "blur(calc(-1px))", // Parses and becomes blur(0px).
-      "blur(calc(0px))",
-      "blur(calc(5px))",
-      "blur(calc(2 * 5px))",
-
-      "brightness(0)",
-      "brightness(50%)",
-      "brightness(1)",
-      "brightness(1.0)",
-      "brightness(2)",
-      "brightness(350%)",
-      "brightness(4.567)",
-
-      "contrast(0)",
-      "contrast(50%)",
-      "contrast(1)",
-      "contrast(1.0)",
-      "contrast(2)",
-      "contrast(350%)",
-      "contrast(4.567)",
-
-      "drop-shadow(2px 2px)",
-      "drop-shadow(2px 2px 1px)",
-      "drop-shadow(2px 2px green)",
-      "drop-shadow(2px 2px 1px green)",
-      "drop-shadow(green 2px 2px)",
-      "drop-shadow(green 2px 2px 1px)",
-      "drop-shadow(currentColor 3px 3px)",
-      "drop-shadow(2px 2px calc(-5px))", /* clamped */
-      "drop-shadow(calc(3em - 2px) 2px green)",
-      "drop-shadow(green calc(3em - 2px) 2px)",
-      "drop-shadow(2px calc(2px + 0.2em))",
-      "drop-shadow(blue 2px calc(2px + 0.2em))",
-      "drop-shadow(2px calc(2px + 0.2em) blue)",
-      "drop-shadow(calc(-2px) calc(-2px))",
-      "drop-shadow(-2px -2px)",
-      "drop-shadow(calc(2px) calc(2px))",
-      "drop-shadow(calc(2px) calc(2px) calc(2px))",
-
-      "grayscale(0)",
-      "grayscale(50%)",
-      "grayscale(1)",
-      "grayscale(1.0)",
-      "grayscale(2)",
-      "grayscale(350%)",
-      "grayscale(4.567)",
-
-      "hue-rotate(0)",
-      "hue-rotate(0deg)",
-      "hue-rotate(90deg)",
-      "hue-rotate(540deg)",
-      "hue-rotate(-90deg)",
-      "hue-rotate(10grad)",
-      "hue-rotate(1.6rad)",
-      "hue-rotate(-1.6rad)",
-      "hue-rotate(0.5turn)",
-      "hue-rotate(-2turn)",
-
-      "invert(0)",
-      "invert(50%)",
-      "invert(1)",
-      "invert(1.0)",
-      "invert(2)",
-      "invert(350%)",
-      "invert(4.567)",
-
-      "opacity(0)",
-      "opacity(50%)",
-      "opacity(1)",
-      "opacity(1.0)",
-      "opacity(2)",
-      "opacity(350%)",
-      "opacity(4.567)",
-
-      "saturate(0)",
-      "saturate(50%)",
-      "saturate(1)",
-      "saturate(1.0)",
-      "saturate(2)",
-      "saturate(350%)",
-      "saturate(4.567)",
-
-      "sepia(0)",
-      "sepia(50%)",
-      "sepia(1)",
-      "sepia(1.0)",
-      "sepia(2)",
-      "sepia(350%)",
-      "sepia(4.567)",
-    ],
-    invalid_values: [
-      // none
-      "none none",
-      "url(#my-filter) none",
-      "none url(#my-filter)",
-      "blur(2px) none url(#my-filter)",
-
-      // Nested filters
-      "grayscale(invert(1.0))",
-
-      // Comma delimited filters
-      "url(#my-filter),",
-      "invert(50%), url(#my-filter), brightness(90%)",
-
-      // Test the following situations for each filter function:
-      // - Invalid number of arguments
-      // - Comma delimited arguments
-      // - Wrong argument type
-      // - Argument value out of range
-      "blur()",
-      "blur(3px 5px)",
-      "blur(3px,)",
-      "blur(3px, 5px)",
-      "blur(#my-filter)",
-      "blur(0.5)",
-      "blur(50%)",
-      "blur(calc(0))", // Unitless zero in calc is not a valid length.
-      "blur(calc(0.1))",
-      "blur(calc(10%))",
-      "blur(calc(20px - 5%))",
-      "blur(-3px)",
-
-      "brightness()",
-      "brightness(0.5 0.5)",
-      "brightness(0.5,)",
-      "brightness(0.5, 0.5)",
-      "brightness(#my-filter)",
-      "brightness(10px)",
-      "brightness(-1)",
-
-      "contrast()",
-      "contrast(0.5 0.5)",
-      "contrast(0.5,)",
-      "contrast(0.5, 0.5)",
-      "contrast(#my-filter)",
-      "contrast(10px)",
-      "contrast(-1)",
-
-      "drop-shadow()",
-      "drop-shadow(3% 3%)",
-      "drop-shadow(2px 2px -5px)",
-      "drop-shadow(2px 2px 2px 2px)",
-      "drop-shadow(2px 2px, none)",
-      "drop-shadow(none, 2px 2px)",
-      "drop-shadow(inherit, 2px 2px)",
-      "drop-shadow(2px 2px, inherit)",
-      "drop-shadow(2 2px)",
-      "drop-shadow(2px 2)",
-      "drop-shadow(2px 2px 2)",
-      "drop-shadow(2px 2px 2px 2)",
-      "drop-shadow(calc(2px) calc(2px) calc(2px) calc(2px))",
-      "drop-shadow(green 2px 2px, blue 1px 3px 4px)",
-      "drop-shadow(blue 2px 2px, currentColor 1px 2px)",
-
-      "grayscale()",
-      "grayscale(0.5 0.5)",
-      "grayscale(0.5,)",
-      "grayscale(0.5, 0.5)",
-      "grayscale(#my-filter)",
-      "grayscale(10px)",
-      "grayscale(-1)",
-
-      "hue-rotate()",
-      "hue-rotate(0.5 0.5)",
-      "hue-rotate(0.5,)",
-      "hue-rotate(0.5, 0.5)",
-      "hue-rotate(#my-filter)",
-      "hue-rotate(10px)",
-      "hue-rotate(-1)",
-      "hue-rotate(45deg,)",
-
-      "invert()",
-      "invert(0.5 0.5)",
-      "invert(0.5,)",
-      "invert(0.5, 0.5)",
-      "invert(#my-filter)",
-      "invert(10px)",
-      "invert(-1)",
-
-      "opacity()",
-      "opacity(0.5 0.5)",
-      "opacity(0.5,)",
-      "opacity(0.5, 0.5)",
-      "opacity(#my-filter)",
-      "opacity(10px)",
-      "opacity(-1)",
-
-      "saturate()",
-      "saturate(0.5 0.5)",
-      "saturate(0.5,)",
-      "saturate(0.5, 0.5)",
-      "saturate(#my-filter)",
-      "saturate(10px)",
-      "saturate(-1)",
-
-      "sepia()",
-      "sepia(0.5 0.5)",
-      "sepia(0.5,)",
-      "sepia(0.5, 0.5)",
-      "sepia(#my-filter)",
-      "sepia(10px)",
-      "sepia(-1)",
-    ]
-  };
-}
-
 var isGridTemplateSubgridValueEnabled =
   IsCSSPropertyPrefEnabled("layout.css.grid-template-subgrid-value.enabled");
 
 gCSSProperties["display"].other_values.push("grid", "inline-grid");
 gCSSProperties["grid-auto-flow"] = {
   domProp: "gridAutoFlow",
   inherited: false,
   type: CSS_TYPE_LONGHAND,
@@ -8098,20 +8088,16 @@ if (false) {
     inherited: true,
     type: CSS_TYPE_LONGHAND,
     initial_values: [ "transparent" ],
     other_values: [ "green", "#fc3" ],
     invalid_values: [ "000000", "ff00ff" ]
   };
 }
 
-if (IsCSSPropertyPrefEnabled("layout.css.filters.enabled")) {
-  gCSSProperties["filter"].invalid_values.push("drop-shadow(unset, 2px 2px)", "drop-shadow(2px 2px, unset)");
-}
-
 if (IsCSSPropertyPrefEnabled("layout.css.prefixes.gradients")) {
   gCSSProperties["background-image"].invalid_values.push(
     "-moz-linear-gradient(unset, 10px 10px, from(blue))",
     "-moz-linear-gradient(unset, 10px 10px, blue 0)",
     "-moz-repeating-linear-gradient(unset, 10px 10px, blue 0)",
   );
 }
 
--- a/layout/style/test/test_transitions_per_property.html
+++ b/layout/style/test/test_transitions_per_property.html
@@ -1802,19 +1802,16 @@ function test_path_function(prop) {
     const actual = cs.getPropertyValue(prop);
     ok(test_path_function_equals(actual, test.expected),
        prop + " property is " + actual + " expected values of " +
        test.expected[0] + "(" + test.expected[1] + ")");
   }
 }
 
 function test_filter_transition(prop) {
-  if (!SpecialPowers.getBoolPref("layout.css.filters.enabled")) {
-    return;
-  }
   for (var i in filterTests) {
     var test = filterTests[i];
     div.style.setProperty("transition-property", "none", "");
     div.style.setProperty(prop, test.start, "");
     cs.getPropertyValue(prop);
     div.style.setProperty("transition-property", prop, "");
     div.style.setProperty(prop, test.end, "");
     var actual = cs.getPropertyValue(prop);
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -2926,19 +2926,16 @@ pref("layout.css.individual-transform.en
 pref("layout.css.initial-letter.enabled", false);
 
 // Is support for mix-blend-mode enabled?
 pref("layout.css.mix-blend-mode.enabled", true);
 
 // Is support for isolation enabled?
 pref("layout.css.isolation.enabled", true);
 
-// Is support for CSS Filters enabled?
-pref("layout.css.filters.enabled", true);
-
 // Is support for CSS Scrollbar color properties enabled?
 pref("layout.css.scrollbar-colors.enabled", false);
 
 // Is support for scrollbar-width property enabled?
 pref("layout.css.scrollbar-width.enabled", false);
 
 // Set the threshold distance in CSS pixels below which scrolling will snap to
 // an edge, when scroll snapping is set to "proximity".