Implement parsing/serialization of column-rule-width, column-rule-color and column-span

This commit is contained in:
Nazım Can Altınova 2016-11-21 23:04:43 +03:00
parent a4e26d503a
commit 61431b7fd6
2 changed files with 40 additions and 1 deletions

View file

@ -2244,7 +2244,7 @@ clip-path
</%self:impl_trait>
<%self:impl_trait style_struct_name="Column"
skip_longhands="column-width column-count">
skip_longhands="column-width column-count -moz-column-rule-width">
pub fn set_column_width(&mut self, v: longhands::column_width::computed_value::T) {
match v.0 {
@ -2268,6 +2268,9 @@ clip-path
}
${impl_simple_copy('column_count', 'mColumnCount')}
<% impl_app_units("_moz_column_rule_width", "mColumnRuleWidth", need_clone=True,
round_to_pixels=True) %>
</%self:impl_trait>
<%self:impl_trait style_struct_name="Counters"

View file

@ -252,3 +252,39 @@
${helpers.single_keyword("column-fill", "auto balance",
products="gecko", animatable=False)}
// https://drafts.csswg.org/css-multicol-1/#propdef-column-rule-width
<%helpers:longhand name="-moz-column-rule-width" products="gecko" animatable="True">
use app_units::Au;
use std::fmt;
use style_traits::ToCss;
use values::HasViewportPercentage;
use values::specified::BorderWidth;
pub mod computed_value {
use app_units::Au;
pub type T = Au;
}
pub type SpecifiedValue = BorderWidth;
#[inline]
pub fn get_initial_value() -> computed_value::T {
Au::from_px(3) // medium
}
pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> {
BorderWidth::parse(input)
}
</%helpers:longhand>
// https://drafts.csswg.org/css-multicol-1/#crc
${helpers.predefined_type("-moz-column-rule-color", "CSSColor",
"::cssparser::Color::CurrentColor",
products="gecko", gecko_ffi_name="mColumnRuleColor",
animatable=True, complex_color=True, need_clone=True)}
// It's not implemented in servo or gecko yet.
// https://drafts.csswg.org/css-multicol-1/#column-span
${helpers.single_keyword("column-span", "none all",
products="none", animatable=False)}