diff --git a/components/style/cbindgen.toml b/components/style/cbindgen.toml
index b5d374d77bf..54288dff7ad 100644
--- a/components/style/cbindgen.toml
+++ b/components/style/cbindgen.toml
@@ -108,6 +108,7 @@ include = [
"TouchAction",
"WillChangeBits",
"TextDecorationLine",
+ "MozListReversed",
]
item_types = ["enums", "structs", "typedefs"]
diff --git a/components/style/properties/data.py b/components/style/properties/data.py
index 9347d9b9428..52cdcf15d22 100644
--- a/components/style/properties/data.py
+++ b/components/style/properties/data.py
@@ -324,6 +324,7 @@ class Longhand(object):
"JustifyItems",
"JustifySelf",
"MozForceBrokenImageIcon",
+ "MozListReversed",
"MozScriptLevel",
"MozScriptMinSize",
"MozScriptSizeMultiplier",
diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs
index e3bd2ea559f..7c5f4a94c01 100644
--- a/components/style/properties/gecko.mako.rs
+++ b/components/style/properties/gecko.mako.rs
@@ -1247,6 +1247,7 @@ impl Clone for ${style_struct.gecko_struct_name} {
"Length": impl_absolute_length,
"LengthOrNormal": impl_style_coord,
"LengthPercentageOrAuto": impl_style_coord,
+ "MozListReversed": impl_simple,
"MozScriptMinSize": impl_absolute_length,
"RGBAColor": impl_rgba_color,
"SVGLength": impl_svg_length,
diff --git a/components/style/properties/longhands/list.mako.rs b/components/style/properties/longhands/list.mako.rs
index 4b368ea2ba5..6d79d3ad9ee 100644
--- a/components/style/properties/longhands/list.mako.rs
+++ b/components/style/properties/longhands/list.mako.rs
@@ -68,3 +68,15 @@ ${helpers.predefined_type(
boxed=True,
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-image-region)",
)}
+
+${helpers.predefined_type(
+ "-moz-list-reversed",
+ "MozListReversed",
+ "computed::MozListReversed::False",
+ animation_value_type="discrete",
+ products="gecko",
+ enabled_in="ua",
+ needs_context=False,
+ spec="Internal implementation detail for
",
+ servo_restyle_damage="rebuild_and_reflow",
+)}
diff --git a/components/style/values/computed/list.rs b/components/style/values/computed/list.rs
index 622c021554f..2bde35e3b6b 100644
--- a/components/style/values/computed/list.rs
+++ b/components/style/values/computed/list.rs
@@ -6,6 +6,7 @@
#[cfg(feature = "gecko")]
pub use crate::values::specified::list::ListStyleType;
+pub use crate::values::specified::list::MozListReversed;
pub use crate::values::specified::list::{QuotePair, Quotes};
use servo_arc::Arc;
diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs
index 184bac3b12a..4c92218e69b 100644
--- a/components/style/values/computed/mod.rs
+++ b/components/style/values/computed/mod.rs
@@ -64,6 +64,7 @@ pub use self::length::{LengthOrAuto, LengthPercentageOrAuto, MaxSize, Size};
pub use self::length::{NonNegativeLengthPercentage, NonNegativeLengthPercentageOrAuto};
#[cfg(feature = "gecko")]
pub use self::list::ListStyleType;
+pub use self::list::MozListReversed;
pub use self::list::{QuotePair, Quotes};
pub use self::motion::OffsetPath;
pub use self::outline::OutlineStyle;
diff --git a/components/style/values/specified/list.rs b/components/style/values/specified/list.rs
index b37ade47081..d75455a1c71 100644
--- a/components/style/values/specified/list.rs
+++ b/components/style/values/specified/list.rs
@@ -123,3 +123,13 @@ impl Parse for Quotes {
}
}
}
+
+/// Specified and computed `-moz-list-reversed` property (for UA sheets only).
+#[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, Parse, PartialEq, SpecifiedValueInfo, ToComputedValue, ToCss)]
+#[repr(u8)]
+pub enum MozListReversed {
+ /// the initial value
+ False,
+ /// exclusively used for in our html.css UA sheet
+ True,
+}
diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs
index e673005f3e6..919cb0cb341 100644
--- a/components/style/values/specified/mod.rs
+++ b/components/style/values/specified/mod.rs
@@ -66,6 +66,7 @@ pub use self::length::{NoCalcLength, ViewportPercentageLength};
pub use self::length::{NonNegativeLengthPercentage, NonNegativeLengthPercentageOrAuto};
#[cfg(feature = "gecko")]
pub use self::list::ListStyleType;
+pub use self::list::MozListReversed;
pub use self::list::{QuotePair, Quotes};
pub use self::motion::OffsetPath;
pub use self::outline::OutlineStyle;