From 2760e2bae6e07bd4ec3804389732375482203d6e Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Wed, 21 Dec 2016 18:13:44 +1100 Subject: [PATCH 1/2] Unprefix column-rule properties in servo side --- components/style/properties/gecko.mako.rs | 4 ++-- .../style/properties/longhand/column.mako.rs | 11 ++++----- .../style/properties/shorthand/column.mako.rs | 24 +++++++++---------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 0c9212e2a11..29b32f70086 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -2457,7 +2457,7 @@ clip-path <%self:impl_trait style_struct_name="Column" - skip_longhands="column-count column-gap -moz-column-rule-width"> + skip_longhands="column-count column-gap column-rule-width"> #[allow(unused_unsafe)] pub fn set_column_count(&mut self, v: longhands::column_count::computed_value::T) { @@ -2484,7 +2484,7 @@ clip-path <%call expr="impl_coord_copy('column_gap', 'mColumnGap')"> - <% impl_app_units("_moz_column_rule_width", "mColumnRuleWidth", need_clone=True, + <% impl_app_units("column_rule_width", "mColumnRuleWidth", need_clone=True, round_to_pixels=True) %> diff --git a/components/style/properties/longhand/column.mako.rs b/components/style/properties/longhand/column.mako.rs index 119c4e0ca31..ef2802be00d 100644 --- a/components/style/properties/longhand/column.mako.rs +++ b/components/style/properties/longhand/column.mako.rs @@ -107,7 +107,7 @@ ${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"> +<%helpers:longhand name="column-rule-width" products="gecko" animatable="True"> use app_units::Au; use std::fmt; use style_traits::ToCss; @@ -137,19 +137,18 @@ ${helpers.single_keyword("column-fill", "auto balance", // https://drafts.csswg.org/css-multicol-1/#crc -${helpers.predefined_type("-moz-column-rule-color", "CSSColor", +${helpers.predefined_type("column-rule-color", "CSSColor", "::cssparser::Color::CurrentColor", - products="gecko", gecko_ffi_name="mColumnRuleColor", - animatable=True, complex_color=True, need_clone=True)} + products="gecko", 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)} -${helpers.single_keyword("-moz-column-rule-style", +${helpers.single_keyword("column-rule-style", "none hidden dotted dashed solid double groove ridge inset outset", products="gecko", - gecko_ffi_name="mColumnRuleStyle", gecko_constant_prefix="NS_STYLE_BORDER_STYLE", animatable=False)} diff --git a/components/style/properties/shorthand/column.mako.rs b/components/style/properties/shorthand/column.mako.rs index 037154e4afe..e2b6f2ac5a7 100644 --- a/components/style/properties/shorthand/column.mako.rs +++ b/components/style/properties/shorthand/column.mako.rs @@ -59,10 +59,10 @@ // https://drafts.csswg.org/css-multicol/#column-rule -<%helpers:shorthand name="-moz-column-rule" products="gecko" - sub_properties="-moz-column-rule-width -moz-column-rule-style -moz-column-rule-color"> - use properties::longhands::{_moz_column_rule_width, _moz_column_rule_style}; - use properties::longhands::_moz_column_rule_color; +<%helpers:shorthand name="column-rule" products="gecko" + sub_properties="column-rule-width column-rule-style column-rule-color"> + use properties::longhands::{column_rule_width, column_rule_style}; + use properties::longhands::column_rule_color; pub fn parse_value(context: &ParserContext, input: &mut Parser) -> Result { % for name in "width style color".split(): @@ -74,7 +74,7 @@ % for name in "width style color".split(): if column_rule_${name}.is_none() { if let Ok(value) = input.try(|input| - _moz_column_rule_${name}::parse(context, input)) { + column_rule_${name}::parse(context, input)) { column_rule_${name} = Some(value); any = true; continue @@ -87,10 +87,10 @@ if any { Ok(Longhands { % for name in "width style".split(): - _moz_column_rule_${name}: column_rule_${name} - .or(Some(_moz_column_rule_${name}::get_initial_specified_value())), + column_rule_${name}: column_rule_${name} + .or(Some(column_rule_${name}::get_initial_specified_value())), % endfor - _moz_column_rule_color: column_rule_color, + column_rule_color: column_rule_color, }) } else { Err(()) @@ -100,14 +100,14 @@ impl<'a> LonghandsToSerialize<'a> { fn to_css_declared(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { let mut need_space = false; - try!(self._moz_column_rule_width.to_css(dest)); + try!(self.column_rule_width.to_css(dest)); - if let DeclaredValue::Value(ref width) = *self._moz_column_rule_width { + if let DeclaredValue::Value(ref width) = *self.column_rule_width { try!(width.to_css(dest)); need_space = true; } - if let DeclaredValue::Value(ref style) = *self._moz_column_rule_style { + if let DeclaredValue::Value(ref style) = *self.column_rule_style { if need_space { try!(write!(dest, " ")); } @@ -115,7 +115,7 @@ need_space = true; } - if let DeclaredValue::Value(ref color) = *self._moz_column_rule_color { + if let DeclaredValue::Value(ref color) = *self.column_rule_color { if need_space { try!(write!(dest, " ")); } From 6a05615e67c3f2b0bab312a0cbcf07fe943fb198 Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Wed, 21 Dec 2016 18:15:18 +1100 Subject: [PATCH 2/2] Remove special case for nsCSSPropertyID --- .../style/gecko_bindings/structs_debug.rs | 54 +++++++++---------- .../style/gecko_bindings/structs_release.rs | 54 +++++++++---------- .../style/properties/properties.mako.rs | 4 -- 3 files changed, 54 insertions(+), 58 deletions(-) diff --git a/components/style/gecko_bindings/structs_debug.rs b/components/style/gecko_bindings/structs_debug.rs index 447009a7965..eba1d7a5b5c 100644 --- a/components/style/gecko_bindings/structs_debug.rs +++ b/components/style/gecko_bindings/structs_debug.rs @@ -10591,7 +10591,7 @@ pub mod root { eCSSProperty_animation_name = 8, eCSSProperty_animation_play_state = 9, eCSSProperty_animation_timing_function = 10, - eCSSProperty_appearance = 11, + eCSSProperty__moz_appearance = 11, eCSSProperty_backface_visibility = 12, eCSSProperty_background_attachment = 13, eCSSProperty_background_blend_mode = 14, @@ -10603,7 +10603,7 @@ pub mod root { eCSSProperty_background_position_y = 20, eCSSProperty_background_repeat = 21, eCSSProperty_background_size = 22, - eCSSProperty_binding = 23, + eCSSProperty__moz_binding = 23, eCSSProperty_block_size = 24, eCSSProperty_border_block_end_color = 25, eCSSProperty_border_block_end_style = 26, @@ -10612,7 +10612,7 @@ pub mod root { eCSSProperty_border_block_start_style = 29, eCSSProperty_border_block_start_width = 30, eCSSProperty_border_bottom_color = 31, - eCSSProperty_border_bottom_colors = 32, + eCSSProperty__moz_border_bottom_colors = 32, eCSSProperty_border_bottom_left_radius = 33, eCSSProperty_border_bottom_right_radius = 34, eCSSProperty_border_bottom_style = 35, @@ -10630,28 +10630,28 @@ pub mod root { eCSSProperty_border_inline_start_style = 47, eCSSProperty_border_inline_start_width = 48, eCSSProperty_border_left_color = 49, - eCSSProperty_border_left_colors = 50, + eCSSProperty__moz_border_left_colors = 50, eCSSProperty_border_left_style = 51, eCSSProperty_border_left_width = 52, eCSSProperty_border_right_color = 53, - eCSSProperty_border_right_colors = 54, + eCSSProperty__moz_border_right_colors = 54, eCSSProperty_border_right_style = 55, eCSSProperty_border_right_width = 56, eCSSProperty_border_spacing = 57, eCSSProperty_border_top_color = 58, - eCSSProperty_border_top_colors = 59, + eCSSProperty__moz_border_top_colors = 59, eCSSProperty_border_top_left_radius = 60, eCSSProperty_border_top_right_radius = 61, eCSSProperty_border_top_style = 62, eCSSProperty_border_top_width = 63, eCSSProperty_bottom = 64, - eCSSProperty_box_align = 65, + eCSSProperty__moz_box_align = 65, eCSSProperty_box_decoration_break = 66, - eCSSProperty_box_direction = 67, - eCSSProperty_box_flex = 68, - eCSSProperty_box_ordinal_group = 69, - eCSSProperty_box_orient = 70, - eCSSProperty_box_pack = 71, + eCSSProperty__moz_box_direction = 67, + eCSSProperty__moz_box_flex = 68, + eCSSProperty__moz_box_ordinal_group = 69, + eCSSProperty__moz_box_orient = 70, + eCSSProperty__moz_box_pack = 71, eCSSProperty_box_shadow = 72, eCSSProperty_box_sizing = 73, eCSSProperty_caption_side = 74, @@ -10690,7 +10690,7 @@ pub mod root { eCSSProperty_flex_shrink = 107, eCSSProperty_flex_wrap = 108, eCSSProperty_float_ = 109, - eCSSProperty_float_edge = 110, + eCSSProperty__moz_float_edge = 110, eCSSProperty_flood_color = 111, eCSSProperty_flood_opacity = 112, eCSSProperty_font_family = 113, @@ -10710,7 +10710,7 @@ pub mod root { eCSSProperty_font_variant_position = 127, eCSSProperty_font_variation_settings = 128, eCSSProperty_font_weight = 129, - eCSSProperty_force_broken_image_icon = 130, + eCSSProperty__moz_force_broken_image_icon = 130, eCSSProperty_grid_auto_columns = 131, eCSSProperty_grid_auto_flow = 132, eCSSProperty_grid_auto_rows = 133, @@ -10727,7 +10727,7 @@ pub mod root { eCSSProperty_hyphens = 144, eCSSProperty_initial_letter = 145, eCSSProperty_image_orientation = 146, - eCSSProperty_image_region = 147, + eCSSProperty__moz_image_region = 147, eCSSProperty_image_rendering = 148, eCSSProperty_ime_mode = 149, eCSSProperty_inline_size = 150, @@ -10784,14 +10784,14 @@ pub mod root { eCSSProperty_offset_inline_start = 201, eCSSProperty_opacity = 202, eCSSProperty_order = 203, - eCSSProperty_orient = 204, - eCSSProperty_osx_font_smoothing = 205, + eCSSProperty__moz_orient = 204, + eCSSProperty__moz_osx_font_smoothing = 205, eCSSProperty_outline_color = 206, eCSSProperty_outline_offset = 207, - eCSSProperty__moz_outline_radius_bottomLeft = 208, - eCSSProperty__moz_outline_radius_bottomRight = 209, - eCSSProperty__moz_outline_radius_topLeft = 210, - eCSSProperty__moz_outline_radius_topRight = 211, + eCSSProperty__moz_outline_radius_bottomleft = 208, + eCSSProperty__moz_outline_radius_bottomright = 209, + eCSSProperty__moz_outline_radius_topleft = 210, + eCSSProperty__moz_outline_radius_topright = 211, eCSSProperty_outline_style = 212, eCSSProperty_outline_width = 213, eCSSProperty_overflow_clip_box = 214, @@ -10831,7 +10831,7 @@ pub mod root { eCSSProperty_shape_outside = 248, eCSSProperty_shape_rendering = 249, eCSSProperty__x_span = 250, - eCSSProperty_stack_sizing = 251, + eCSSProperty__moz_stack_sizing = 251, eCSSProperty_stop_color = 252, eCSSProperty_stop_opacity = 253, eCSSProperty_stroke = 254, @@ -10861,7 +10861,7 @@ pub mod root { eCSSProperty_text_overflow = 278, eCSSProperty_text_rendering = 279, eCSSProperty_text_shadow = 280, - eCSSProperty_text_size_adjust = 281, + eCSSProperty__moz_text_size_adjust = 281, eCSSProperty__webkit_text_stroke_color = 282, eCSSProperty__webkit_text_stroke_width = 283, eCSSProperty_text_transform = 284, @@ -10878,10 +10878,10 @@ pub mod root { eCSSProperty_transition_property = 295, eCSSProperty_transition_timing_function = 296, eCSSProperty_unicode_bidi = 297, - eCSSProperty_user_focus = 298, - eCSSProperty_user_input = 299, - eCSSProperty_user_modify = 300, - eCSSProperty_user_select = 301, + eCSSProperty__moz_user_focus = 298, + eCSSProperty__moz_user_input = 299, + eCSSProperty__moz_user_modify = 300, + eCSSProperty__moz_user_select = 301, eCSSProperty_vector_effect = 302, eCSSProperty_vertical_align = 303, eCSSProperty_visibility = 304, diff --git a/components/style/gecko_bindings/structs_release.rs b/components/style/gecko_bindings/structs_release.rs index c8f9d8c8491..5b21becc01b 100644 --- a/components/style/gecko_bindings/structs_release.rs +++ b/components/style/gecko_bindings/structs_release.rs @@ -10527,7 +10527,7 @@ pub mod root { eCSSProperty_animation_name = 8, eCSSProperty_animation_play_state = 9, eCSSProperty_animation_timing_function = 10, - eCSSProperty_appearance = 11, + eCSSProperty__moz_appearance = 11, eCSSProperty_backface_visibility = 12, eCSSProperty_background_attachment = 13, eCSSProperty_background_blend_mode = 14, @@ -10539,7 +10539,7 @@ pub mod root { eCSSProperty_background_position_y = 20, eCSSProperty_background_repeat = 21, eCSSProperty_background_size = 22, - eCSSProperty_binding = 23, + eCSSProperty__moz_binding = 23, eCSSProperty_block_size = 24, eCSSProperty_border_block_end_color = 25, eCSSProperty_border_block_end_style = 26, @@ -10548,7 +10548,7 @@ pub mod root { eCSSProperty_border_block_start_style = 29, eCSSProperty_border_block_start_width = 30, eCSSProperty_border_bottom_color = 31, - eCSSProperty_border_bottom_colors = 32, + eCSSProperty__moz_border_bottom_colors = 32, eCSSProperty_border_bottom_left_radius = 33, eCSSProperty_border_bottom_right_radius = 34, eCSSProperty_border_bottom_style = 35, @@ -10566,28 +10566,28 @@ pub mod root { eCSSProperty_border_inline_start_style = 47, eCSSProperty_border_inline_start_width = 48, eCSSProperty_border_left_color = 49, - eCSSProperty_border_left_colors = 50, + eCSSProperty__moz_border_left_colors = 50, eCSSProperty_border_left_style = 51, eCSSProperty_border_left_width = 52, eCSSProperty_border_right_color = 53, - eCSSProperty_border_right_colors = 54, + eCSSProperty__moz_border_right_colors = 54, eCSSProperty_border_right_style = 55, eCSSProperty_border_right_width = 56, eCSSProperty_border_spacing = 57, eCSSProperty_border_top_color = 58, - eCSSProperty_border_top_colors = 59, + eCSSProperty__moz_border_top_colors = 59, eCSSProperty_border_top_left_radius = 60, eCSSProperty_border_top_right_radius = 61, eCSSProperty_border_top_style = 62, eCSSProperty_border_top_width = 63, eCSSProperty_bottom = 64, - eCSSProperty_box_align = 65, + eCSSProperty__moz_box_align = 65, eCSSProperty_box_decoration_break = 66, - eCSSProperty_box_direction = 67, - eCSSProperty_box_flex = 68, - eCSSProperty_box_ordinal_group = 69, - eCSSProperty_box_orient = 70, - eCSSProperty_box_pack = 71, + eCSSProperty__moz_box_direction = 67, + eCSSProperty__moz_box_flex = 68, + eCSSProperty__moz_box_ordinal_group = 69, + eCSSProperty__moz_box_orient = 70, + eCSSProperty__moz_box_pack = 71, eCSSProperty_box_shadow = 72, eCSSProperty_box_sizing = 73, eCSSProperty_caption_side = 74, @@ -10626,7 +10626,7 @@ pub mod root { eCSSProperty_flex_shrink = 107, eCSSProperty_flex_wrap = 108, eCSSProperty_float_ = 109, - eCSSProperty_float_edge = 110, + eCSSProperty__moz_float_edge = 110, eCSSProperty_flood_color = 111, eCSSProperty_flood_opacity = 112, eCSSProperty_font_family = 113, @@ -10646,7 +10646,7 @@ pub mod root { eCSSProperty_font_variant_position = 127, eCSSProperty_font_variation_settings = 128, eCSSProperty_font_weight = 129, - eCSSProperty_force_broken_image_icon = 130, + eCSSProperty__moz_force_broken_image_icon = 130, eCSSProperty_grid_auto_columns = 131, eCSSProperty_grid_auto_flow = 132, eCSSProperty_grid_auto_rows = 133, @@ -10663,7 +10663,7 @@ pub mod root { eCSSProperty_hyphens = 144, eCSSProperty_initial_letter = 145, eCSSProperty_image_orientation = 146, - eCSSProperty_image_region = 147, + eCSSProperty__moz_image_region = 147, eCSSProperty_image_rendering = 148, eCSSProperty_ime_mode = 149, eCSSProperty_inline_size = 150, @@ -10720,14 +10720,14 @@ pub mod root { eCSSProperty_offset_inline_start = 201, eCSSProperty_opacity = 202, eCSSProperty_order = 203, - eCSSProperty_orient = 204, - eCSSProperty_osx_font_smoothing = 205, + eCSSProperty__moz_orient = 204, + eCSSProperty__moz_osx_font_smoothing = 205, eCSSProperty_outline_color = 206, eCSSProperty_outline_offset = 207, - eCSSProperty__moz_outline_radius_bottomLeft = 208, - eCSSProperty__moz_outline_radius_bottomRight = 209, - eCSSProperty__moz_outline_radius_topLeft = 210, - eCSSProperty__moz_outline_radius_topRight = 211, + eCSSProperty__moz_outline_radius_bottomleft = 208, + eCSSProperty__moz_outline_radius_bottomright = 209, + eCSSProperty__moz_outline_radius_topleft = 210, + eCSSProperty__moz_outline_radius_topright = 211, eCSSProperty_outline_style = 212, eCSSProperty_outline_width = 213, eCSSProperty_overflow_clip_box = 214, @@ -10767,7 +10767,7 @@ pub mod root { eCSSProperty_shape_outside = 248, eCSSProperty_shape_rendering = 249, eCSSProperty__x_span = 250, - eCSSProperty_stack_sizing = 251, + eCSSProperty__moz_stack_sizing = 251, eCSSProperty_stop_color = 252, eCSSProperty_stop_opacity = 253, eCSSProperty_stroke = 254, @@ -10797,7 +10797,7 @@ pub mod root { eCSSProperty_text_overflow = 278, eCSSProperty_text_rendering = 279, eCSSProperty_text_shadow = 280, - eCSSProperty_text_size_adjust = 281, + eCSSProperty__moz_text_size_adjust = 281, eCSSProperty__webkit_text_stroke_color = 282, eCSSProperty__webkit_text_stroke_width = 283, eCSSProperty_text_transform = 284, @@ -10814,10 +10814,10 @@ pub mod root { eCSSProperty_transition_property = 295, eCSSProperty_transition_timing_function = 296, eCSSProperty_unicode_bidi = 297, - eCSSProperty_user_focus = 298, - eCSSProperty_user_input = 299, - eCSSProperty_user_modify = 300, - eCSSProperty_user_select = 301, + eCSSProperty__moz_user_focus = 298, + eCSSProperty__moz_user_input = 299, + eCSSProperty__moz_user_modify = 300, + eCSSProperty__moz_user_select = 301, eCSSProperty_vector_effect = 302, eCSSProperty_vertical_align = 303, eCSSProperty_visibility = 304, diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index 94db5e12008..4929208a7b9 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -650,10 +650,6 @@ impl PropertyId { if ident == "float": ident = "float_" - elif "outline_radius" in ident: - ident = ident.replace("right", "Right").replace("left", "Left") - elif ident.startswith("_moz_"): - ident = ident[len("_moz_"):] return "nsCSSPropertyID::eCSSProperty_" + ident %> match id {