Bug 1083134 - Part 6: Add border-block-{start,end}-{color,style,width} logical properties. r=dbaron

This commit is contained in:
Cameron McCormack 2015-01-17 15:22:52 +11:00
parent 4f329b986e
commit a6010dc7f3
2 changed files with 179 additions and 0 deletions

View File

@ -676,6 +676,103 @@ CSS_PROP_SHORTHAND(
Border,
CSS_PROPERTY_PARSE_FUNCTION,
"")
CSS_PROP_LOGICAL(
border-block-end-color,
border_block_end_color,
BorderBlockEndColor,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
CSS_PROPERTY_LOGICAL_END_EDGE,
"layout.css.vertical-text.enabled",
VARIANT_HCK,
kBorderColorKTable,
border_color,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_LOGICAL(
border-block-end-style,
border_block_end_style,
BorderBlockEndStyle,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
CSS_PROPERTY_LOGICAL_END_EDGE,
"layout.css.vertical-text.enabled",
VARIANT_HK,
kBorderStyleKTable,
border_style,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_LOGICAL(
border-block-end-width,
border_block_end_width,
BorderBlockEndWidth,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS |
CSS_PROPERTY_LOGICAL_END_EDGE,
"layout.css.vertical-text.enabled",
VARIANT_HKL | VARIANT_CALC,
kBorderWidthKTable,
border_width,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_LOGICAL(
border-block-start-color,
border_block_start_color,
BorderBlockStartColor,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
"layout.css.vertical-text.enabled",
VARIANT_HCK,
kBorderColorKTable,
border_color,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_LOGICAL(
border-block-start-style,
border_block_start_style,
BorderBlockStartStyle,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
"layout.css.vertical-text.enabled",
VARIANT_HK,
kBorderStyleKTable,
border_style,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_LOGICAL(
border-block-start-width,
border_block_start_width,
BorderBlockStartWidth,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
CSS_PROPERTY_LOGICAL |
CSS_PROPERTY_LOGICAL_BLOCK_AXIS,
"layout.css.vertical-text.enabled",
VARIANT_HKL | VARIANT_CALC,
kBorderWidthKTable,
border_width,
Border,
CSS_PROP_NO_OFFSET,
eStyleAnimType_None)
CSS_PROP_SHORTHAND(
border-bottom,
border_bottom,

View File

@ -4688,6 +4688,88 @@ if (SpecialPowers.getBoolPref("layout.css.vertical-text.enabled")) {
"digits 12", "none 3", "digits 3.1415", "digits3", "digits 1",
"digits 3 all", "digits foo", "digits all", "digits 3.0" ]
},
"border-block-end-color": {
domProp: "borderBlockEndColor",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
initial_values: [ "currentColor" ],
other_values: [ "green", "rgba(255,128,0,0.5)", "transparent" ],
invalid_values: [ "#0", "#00", "#0000", "#00000", "#0000000", "#00000000", "#000000000", "000000" ]
},
"border-block-end-style": {
domProp: "borderBlockEndStyle",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
/* XXX hidden is sometimes the same as initial */
initial_values: [ "none" ],
other_values: [ "solid", "dashed", "dotted", "double", "outset", "inset", "groove", "ridge" ],
invalid_values: []
},
"border-block-end-width": {
domProp: "borderBlockEndWidth",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
prerequisites: { "border-block-end-style": "solid" },
initial_values: [ "medium", "3px", "calc(4px - 1px)" ],
other_values: [ "thin", "thick", "1px", "2em",
"calc(2px)",
"calc(-2px)",
"calc(0em)",
"calc(0px)",
"calc(5em)",
"calc(3*25px)",
"calc(25px*3)",
"calc(3*25px + 5em)",
],
invalid_values: [ "5%", "5" ]
},
"border-block-start-color": {
domProp: "borderBlockStartColor",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
initial_values: [ "currentColor" ],
other_values: [ "green", "rgba(255,128,0,0.5)", "transparent" ],
invalid_values: [ "#0", "#00", "#0000", "#00000", "#0000000", "#00000000", "#000000000", "000000" ]
},
"border-block-start-style": {
domProp: "borderBlockStartStyle",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
/* XXX hidden is sometimes the same as initial */
initial_values: [ "none" ],
other_values: [ "solid", "dashed", "dotted", "double", "outset", "inset", "groove", "ridge" ],
invalid_values: []
},
"border-block-start-width": {
domProp: "borderBlockStartWidth",
inherited: false,
type: CSS_TYPE_LONGHAND,
logical: true,
get_computed: logical_box_prop_get_computed,
prerequisites: { "border-block-start-style": "solid" },
initial_values: [ "medium", "3px", "calc(4px - 1px)" ],
other_values: [ "thin", "thick", "1px", "2em",
"calc(2px)",
"calc(-2px)",
"calc(0em)",
"calc(0px)",
"calc(5em)",
"calc(3*25px)",
"calc(25px*3)",
"calc(3*25px + 5em)",
],
invalid_values: [ "5%", "5" ]
},
"border-inline-end": {
domProp: "borderInlineEnd",
inherited: false,