From f4cc47c0492aed691a6220edc19476bfdad2ff44 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 30 Aug 2023 10:52:52 +0200 Subject: [PATCH] Issue #2293 - Add preferences to disable CSS animation/transition props. This resolves #2293 --- layout/style/nsCSSPropList.h | 28 ++++++++++++++-------------- modules/libpref/init/all.js | 6 ++++++ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/layout/style/nsCSSPropList.h b/layout/style/nsCSSPropList.h index f2903273e5..0694817515 100644 --- a/layout/style/nsCSSPropList.h +++ b/layout/style/nsCSSPropList.h @@ -366,14 +366,14 @@ CSS_PROP_SHORTHAND( animation, Animation, CSS_PROPERTY_PARSE_FUNCTION, - "") + "layout.css.animation.enabled") CSS_PROP_DISPLAY( animation-delay, animation_delay, AnimationDelay, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_TIME, // used by list parsing nullptr, CSS_PROP_NO_OFFSET, @@ -384,7 +384,7 @@ CSS_PROP_DISPLAY( AnimationDirection, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_KEYWORD, // used by list parsing kAnimationDirectionKTable, CSS_PROP_NO_OFFSET, @@ -395,7 +395,7 @@ CSS_PROP_DISPLAY( AnimationDuration, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing nullptr, CSS_PROP_NO_OFFSET, @@ -406,7 +406,7 @@ CSS_PROP_DISPLAY( AnimationFillMode, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_KEYWORD, // used by list parsing kAnimationFillModeKTable, CSS_PROP_NO_OFFSET, @@ -420,7 +420,7 @@ CSS_PROP_DISPLAY( // http://lists.w3.org/Archives/Public/www-style/2011Mar/0355.html CSS_PROPERTY_VALUE_NONNEGATIVE | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing kAnimationIterationCountKTable, CSS_PROP_NO_OFFSET, @@ -431,7 +431,7 @@ CSS_PROP_DISPLAY( AnimationName, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", // FIXME: The spec should say something about 'inherit' and 'initial' // not being allowed. VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT, // used by list parsing @@ -444,7 +444,7 @@ CSS_PROP_DISPLAY( AnimationPlayState, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_KEYWORD, // used by list parsing kAnimationPlayStateKTable, CSS_PROP_NO_OFFSET, @@ -455,7 +455,7 @@ CSS_PROP_DISPLAY( AnimationTimingFunction, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.animation.enabled", VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing kTransitionTimingFunctionKTable, CSS_PROP_NO_OFFSET, @@ -4277,14 +4277,14 @@ CSS_PROP_SHORTHAND( transition, Transition, CSS_PROPERTY_PARSE_FUNCTION, - "") + "layout.css.transition.enabled") CSS_PROP_DISPLAY( transition-delay, transition_delay, TransitionDelay, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.transition.enabled", VARIANT_TIME, // used by list parsing nullptr, CSS_PROP_NO_OFFSET, @@ -4295,7 +4295,7 @@ CSS_PROP_DISPLAY( TransitionDuration, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.transition.enabled", VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing nullptr, CSS_PROP_NO_OFFSET, @@ -4306,7 +4306,7 @@ CSS_PROP_DISPLAY( TransitionProperty, CSS_PROPERTY_PARSE_FUNCTION | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.transition.enabled", VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand nullptr, CSS_PROP_NO_OFFSET, @@ -4317,7 +4317,7 @@ CSS_PROP_DISPLAY( TransitionTimingFunction, CSS_PROPERTY_PARSE_VALUE_LIST | CSS_PROPERTY_VALUE_LIST_USES_COMMAS, - "", + "layout.css.transition.enabled", VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing kTransitionTimingFunctionKTable, CSS_PROP_NO_OFFSET, diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index c1babf6163..0aae78fc34 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -2481,6 +2481,12 @@ pref("layout.css.mix-blend-mode.enabled", true); // Is support for isolation enabled? pref("layout.css.isolation.enabled", true); +// Is support for CSS animation properties enabled? +pref("layout.css.animation.enabled", true); + +// Is support for CSS transition properties enabled? +pref("layout.css.transition.enabled", true); + // Is support for CSS Filters enabled? pref("layout.css.filters.enabled", true);