mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 04:15:43 +00:00
Bug 1255378 - fix getCSSValuesForProperty for box-shadow and text-shadow; r=heycam,jryans
This fixes InspectorUtils.getCSSValuesForProperty to return the correct values for box-shadow and text-shadow. It also takes a small step toward the goal of getting rid of InspectorUtils.cpp:PropertySupportsVariant, in favor of having all variants listed in nsCSSPropList.h. MozReview-Commit-ID: Dwh5s0IvYTX --HG-- extra : rebase_source : eba2d3e7337af63c264bf3d596740f311c4aa017
This commit is contained in:
parent
2172ef0b6f
commit
6dba28ecb2
@ -2021,9 +2021,18 @@ exports.CSS_PROPERTIES = {
|
||||
6
|
||||
],
|
||||
"values": [
|
||||
"COLOR",
|
||||
"calc",
|
||||
"currentColor",
|
||||
"hsl",
|
||||
"hsla",
|
||||
"inherit",
|
||||
"initial",
|
||||
"inset",
|
||||
"none",
|
||||
"rgb",
|
||||
"rgba",
|
||||
"transparent",
|
||||
"unset"
|
||||
]
|
||||
},
|
||||
@ -4869,9 +4878,18 @@ exports.CSS_PROPERTIES = {
|
||||
6
|
||||
],
|
||||
"values": [
|
||||
"COLOR",
|
||||
"calc",
|
||||
"currentColor",
|
||||
"hsl",
|
||||
"hsla",
|
||||
"inherit",
|
||||
"initial",
|
||||
"inset",
|
||||
"none",
|
||||
"rgb",
|
||||
"rgba",
|
||||
"transparent",
|
||||
"unset"
|
||||
]
|
||||
},
|
||||
@ -8838,8 +8856,17 @@ exports.CSS_PROPERTIES = {
|
||||
6
|
||||
],
|
||||
"values": [
|
||||
"COLOR",
|
||||
"calc",
|
||||
"currentColor",
|
||||
"hsl",
|
||||
"hsla",
|
||||
"inherit",
|
||||
"initial",
|
||||
"none",
|
||||
"rgb",
|
||||
"rgba",
|
||||
"transparent",
|
||||
"unset"
|
||||
]
|
||||
},
|
||||
|
@ -611,26 +611,27 @@ PropertySupportsVariant(nsCSSPropertyID aPropertyID, uint32_t aVariant)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Properties that are parsed by functions must have their
|
||||
// attributes hand-maintained here.
|
||||
uint32_t supported = nsCSSProps::ParserVariant(aPropertyID);
|
||||
|
||||
// For the time being, properties that are parsed by functions must
|
||||
// have some of their attributes hand-maintained here.
|
||||
if (nsCSSProps::PropHasFlags(aPropertyID, CSS_PROPERTY_VALUE_PARSER_FUNCTION) ||
|
||||
nsCSSProps::PropertyParseType(aPropertyID) == CSS_PROPERTY_PARSE_FUNCTION) {
|
||||
// These must all be special-cased.
|
||||
uint32_t supported;
|
||||
switch (aPropertyID) {
|
||||
case eCSSProperty_border_image_slice:
|
||||
case eCSSProperty_grid_template:
|
||||
case eCSSProperty_grid:
|
||||
supported = VARIANT_PN;
|
||||
supported |= VARIANT_PN;
|
||||
break;
|
||||
|
||||
case eCSSProperty_border_image_outset:
|
||||
supported = VARIANT_LN;
|
||||
supported |= VARIANT_LN;
|
||||
break;
|
||||
|
||||
case eCSSProperty_border_image_width:
|
||||
case eCSSProperty_stroke_dasharray:
|
||||
supported = VARIANT_LPN;
|
||||
supported |= VARIANT_LPN;
|
||||
break;
|
||||
|
||||
case eCSSProperty_border_top_left_radius:
|
||||
@ -659,39 +660,39 @@ PropertySupportsVariant(nsCSSPropertyID aPropertyID, uint32_t aVariant)
|
||||
case eCSSProperty__moz_outline_radius_bottomleft:
|
||||
case eCSSProperty__moz_outline_radius_bottomright:
|
||||
case eCSSProperty__moz_window_transform_origin:
|
||||
supported = VARIANT_LP;
|
||||
supported |= VARIANT_LP;
|
||||
break;
|
||||
|
||||
case eCSSProperty_text_shadow:
|
||||
case eCSSProperty_box_shadow:
|
||||
supported = VARIANT_LENGTH | VARIANT_COLOR;
|
||||
supported |= VARIANT_LENGTH | VARIANT_COLOR;
|
||||
break;
|
||||
|
||||
case eCSSProperty_border_spacing:
|
||||
supported = VARIANT_LENGTH;
|
||||
supported |= VARIANT_LENGTH;
|
||||
break;
|
||||
|
||||
case eCSSProperty_content:
|
||||
case eCSSProperty_cursor:
|
||||
case eCSSProperty_clip_path:
|
||||
supported = VARIANT_URL;
|
||||
supported |= VARIANT_URL;
|
||||
break;
|
||||
|
||||
case eCSSProperty_shape_outside:
|
||||
supported = VARIANT_IMAGE;
|
||||
supported |= VARIANT_IMAGE;
|
||||
break;
|
||||
|
||||
case eCSSProperty_fill:
|
||||
case eCSSProperty_stroke:
|
||||
supported = VARIANT_COLOR | VARIANT_URL;
|
||||
supported |= VARIANT_COLOR | VARIANT_URL;
|
||||
break;
|
||||
|
||||
case eCSSProperty_image_orientation:
|
||||
supported = VARIANT_ANGLE;
|
||||
supported |= VARIANT_ANGLE;
|
||||
break;
|
||||
|
||||
case eCSSProperty_filter:
|
||||
supported = VARIANT_URL;
|
||||
supported |= VARIANT_URL;
|
||||
break;
|
||||
|
||||
case eCSSProperty_grid_column_start:
|
||||
@ -700,18 +701,15 @@ PropertySupportsVariant(nsCSSPropertyID aPropertyID, uint32_t aVariant)
|
||||
case eCSSProperty_grid_row_end:
|
||||
case eCSSProperty_font_weight:
|
||||
case eCSSProperty_initial_letter:
|
||||
supported = VARIANT_NUMBER;
|
||||
supported |= VARIANT_NUMBER;
|
||||
break;
|
||||
|
||||
default:
|
||||
supported = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return (supported & aVariant) != 0;
|
||||
}
|
||||
|
||||
return (nsCSSProps::ParserVariant(aPropertyID) & aVariant) != 0;
|
||||
return (supported & aVariant) != 0;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -187,6 +187,15 @@ function do_test() {
|
||||
ok(testValues(values, expected), "property " + prop + "'s values");
|
||||
}
|
||||
|
||||
// Regression test for bug 1255378.
|
||||
var expected = [ "inherit", "initial", "unset", "none", "calc", ...allColors ];
|
||||
var values = InspectorUtils.getCSSValuesForProperty("text-shadow");
|
||||
ok(testValues(values, expected), "property text-shadow's values");
|
||||
|
||||
var expected = [ "inherit", "initial", "unset", "inset", "none", "calc", ...allColors ];
|
||||
var values = InspectorUtils.getCSSValuesForProperty("box-shadow");
|
||||
ok(testValues(values, expected), "property box-shadow's values");
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
|
@ -1310,7 +1310,7 @@ CSS_PROP_EFFECTS(
|
||||
CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
|
||||
// NOTE: some components must be nonnegative
|
||||
"",
|
||||
0,
|
||||
VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE,
|
||||
kBoxShadowTypeKTable,
|
||||
offsetof(nsStyleEffects, mBoxShadow),
|
||||
eStyleAnimType_Shadow)
|
||||
@ -4130,7 +4130,7 @@ CSS_PROP_TEXT(
|
||||
CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED,
|
||||
// NOTE: some components must be nonnegative
|
||||
"",
|
||||
0,
|
||||
VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE,
|
||||
nullptr,
|
||||
offsetof(nsStyleText, mTextShadow),
|
||||
eStyleAnimType_Shadow)
|
||||
|
Loading…
Reference in New Issue
Block a user