summaryrefslogtreecommitdiffstats
path: root/servo/components/style/properties/longhands/margin.mako.rs
diff options
context:
space:
mode:
Diffstat (limited to 'servo/components/style/properties/longhands/margin.mako.rs')
-rw-r--r--servo/components/style/properties/longhands/margin.mako.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/servo/components/style/properties/longhands/margin.mako.rs b/servo/components/style/properties/longhands/margin.mako.rs
new file mode 100644
index 0000000000..5c46cebdf2
--- /dev/null
+++ b/servo/components/style/properties/longhands/margin.mako.rs
@@ -0,0 +1,52 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+
+<%namespace name="helpers" file="/helpers.mako.rs" />
+<% from data import ALL_SIDES, DEFAULT_RULES_AND_PAGE, maybe_moz_logical_alias %>
+<% data.new_style_struct("Margin", inherited=False) %>
+
+% for side in ALL_SIDES:
+ <%
+ spec = "https://drafts.csswg.org/css-box/#propdef-margin-%s" % side[0]
+ if side[1]:
+ spec = "https://drafts.csswg.org/css-logical-props/#propdef-margin-%s" % side[1]
+ %>
+ ${helpers.predefined_type(
+ "margin-%s" % side[0],
+ "LengthPercentageOrAuto",
+ "computed::LengthPercentageOrAuto::zero()",
+ engines="gecko servo-2013 servo-2020",
+ aliases=maybe_moz_logical_alias(engine, side, "-moz-margin-%s"),
+ allow_quirks="No" if side[1] else "Yes",
+ animation_value_type="ComputedValue",
+ logical=side[1],
+ logical_group="margin",
+ spec=spec,
+ rule_types_allowed=DEFAULT_RULES_AND_PAGE,
+ servo_restyle_damage="reflow"
+ )}
+% endfor
+
+${helpers.predefined_type(
+ "overflow-clip-margin",
+ "Length",
+ "computed::Length::zero()",
+ parse_method="parse_non_negative",
+ engines="gecko",
+ spec="https://drafts.csswg.org/css-overflow/#propdef-overflow-clip-margin",
+ animation_value_type="ComputedValue",
+)}
+
+% for side in ALL_SIDES:
+ ${helpers.predefined_type(
+ "scroll-margin-%s" % side[0],
+ "Length",
+ "computed::Length::zero()",
+ engines="gecko",
+ logical=side[1],
+ logical_group="scroll-margin",
+ spec="https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-%s" % side[0],
+ animation_value_type="ComputedValue",
+ )}
+% endfor