aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/style/properties/longhand/table.mako.rs39
-rw-r--r--components/style/values/computed/mod.rs2
-rw-r--r--components/style/values/computed/table.rs7
-rw-r--r--components/style/values/specified/mod.rs2
-rw-r--r--components/style/values/specified/table.rs27
5 files changed, 45 insertions, 32 deletions
diff --git a/components/style/properties/longhand/table.mako.rs b/components/style/properties/longhand/table.mako.rs
index 67c4e25accb..6758033dc92 100644
--- a/components/style/properties/longhand/table.mako.rs
+++ b/components/style/properties/longhand/table.mako.rs
@@ -10,35 +10,10 @@ ${helpers.single_keyword("table-layout", "auto fixed",
gecko_ffi_name="mLayoutStrategy", animation_value_type="discrete",
spec="https://drafts.csswg.org/css-tables/#propdef-table-layout")}
-<%helpers:longhand name="-x-span" products="gecko"
- spec="Internal-only (for `<col span>` pres attr)"
- animation_value_type="none"
- internal="True">
- pub type SpecifiedValue = computed_value::T;
- pub mod computed_value {
- use std::fmt;
- use style_traits::ToCss;
-
- #[derive(Clone, Copy, Debug, MallocSizeOf, PartialEq, ToComputedValue)]
- pub struct T(pub i32);
-
- impl ToCss for T {
- fn to_css<W>(&self, _: &mut W) -> fmt::Result where W: fmt::Write {
- Ok(())
- }
- }
- }
-
- #[inline]
- pub fn get_initial_value() -> computed_value::T {
- computed_value::T(1)
- }
-
- // never parse it, only set via presentation attribute
- fn parse<'i, 't>(
- _: &ParserContext,
- input: &mut Parser<'i, 't>,
- ) -> Result<SpecifiedValue, ParseError<'i>> {
- Err(input.new_custom_error(StyleParseErrorKind::UnspecifiedError))
- }
-</%helpers:longhand>
+${helpers.predefined_type("-x-span",
+ "XSpan",
+ "computed::XSpan(1)",
+ products="gecko",
+ spec="Internal-only (for `<col span>` pres attr)",
+ animation_value_type="none",
+ internal=True)}
diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs
index e99bab154c4..4a74cabf72c 100644
--- a/components/style/values/computed/mod.rs
+++ b/components/style/values/computed/mod.rs
@@ -53,6 +53,7 @@ pub use self::length::{CSSPixelLength, NonNegativeLength, NonNegativeLengthOrPer
pub use self::percentage::Percentage;
pub use self::position::Position;
pub use self::svg::{SVGLength, SVGOpacity, SVGPaint, SVGPaintKind, SVGStrokeDashArray, SVGWidth};
+pub use self::table::XSpan;
pub use self::text::{InitialLetter, LetterSpacing, LineHeight, WordSpacing};
pub use self::time::Time;
pub use self::transform::{TimingFunction, TransformOrigin};
@@ -77,6 +78,7 @@ pub mod percentage;
pub mod position;
pub mod rect;
pub mod svg;
+pub mod table;
pub mod text;
pub mod time;
pub mod transform;
diff --git a/components/style/values/computed/table.rs b/components/style/values/computed/table.rs
new file mode 100644
index 00000000000..da44de8aae5
--- /dev/null
+++ b/components/style/values/computed/table.rs
@@ -0,0 +1,7 @@
+/* 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 http://mozilla.org/MPL/2.0/. */
+
+//! Computed types for table properties.
+
+pub use values::specified::table::XSpan;
diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs
index fef43cbf747..2f01f66029e 100644
--- a/components/style/values/specified/mod.rs
+++ b/components/style/values/specified/mod.rs
@@ -49,6 +49,7 @@ pub use self::rect::LengthOrNumberRect;
pub use self::percentage::Percentage;
pub use self::position::{Position, PositionComponent};
pub use self::svg::{SVGLength, SVGOpacity, SVGPaint, SVGPaintKind, SVGStrokeDashArray, SVGWidth};
+pub use self::table::XSpan;
pub use self::text::{InitialLetter, LetterSpacing, LineHeight, WordSpacing};
pub use self::time::Time;
pub use self::transform::{TimingFunction, TransformOrigin};
@@ -76,6 +77,7 @@ pub mod percentage;
pub mod position;
pub mod rect;
pub mod svg;
+pub mod table;
pub mod text;
pub mod time;
pub mod transform;
diff --git a/components/style/values/specified/table.rs b/components/style/values/specified/table.rs
new file mode 100644
index 00000000000..a86fe0167fd
--- /dev/null
+++ b/components/style/values/specified/table.rs
@@ -0,0 +1,27 @@
+/* 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 http://mozilla.org/MPL/2.0/. */
+
+//! Specified types for table properties.
+
+use cssparser::Parser;
+use parser::{Parse, ParserContext};
+use std::fmt;
+use style_traits::{ToCss, StyleParseErrorKind, ParseError};
+
+#[derive(Clone, Copy, Debug, MallocSizeOf, PartialEq, ToComputedValue)]
+/// span. for `<col span>` pres attr
+pub struct XSpan(pub i32);
+
+impl Parse for XSpan {
+ // never parse it, only set via presentation attribute
+ fn parse<'i, 't>(_: &ParserContext, input: &mut Parser<'i, 't>) -> Result<XSpan, ParseError<'i>> {
+ Err(input.new_custom_error(StyleParseErrorKind::UnspecifiedError))
+ }
+}
+
+impl ToCss for XSpan {
+ fn to_css<W>(&self, _: &mut W) -> fmt::Result where W: fmt::Write {
+ Ok(())
+ }
+}