Bug 1292447: part 1 - Get {min,max}-{width,height} prop resolved to computed value.
MozReview-Commit-ID: JGT1A5By5Vp
--- a/layout/style/nsCSSPropList.h
+++ b/layout/style/nsCSSPropList.h
@@ -2848,18 +2848,17 @@ CSS_PROP_LOGICAL(
eStyleAnimType_None)
CSS_PROP_POSITION(
max-height,
max_height,
MaxHeight,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_STORES_CALC |
- CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
- CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+ CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
"",
VARIANT_HKLPO | VARIANT_CALC,
kWidthKTable,
offsetof(nsStylePosition, mMaxHeight),
eStyleAnimType_Coord)
CSS_PROP_LOGICAL(
max-inline-size,
max_inline_size,
@@ -2879,18 +2878,17 @@ CSS_PROP_LOGICAL(
eStyleAnimType_None)
CSS_PROP_POSITION(
max-width,
max_width,
MaxWidth,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_STORES_CALC |
- CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
- CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+ CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
"",
VARIANT_HKLPO | VARIANT_CALC,
kWidthKTable,
offsetof(nsStylePosition, mMaxWidth),
eStyleAnimType_Coord)
CSS_PROP_LOGICAL(
min-block-size,
min_block_size,
@@ -2925,18 +2923,17 @@ CSS_PROP_FONT(
#endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
CSS_PROP_POSITION(
min-height,
min_height,
MinHeight,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_STORES_CALC |
- CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
- CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+ CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
"",
VARIANT_AHKLP | VARIANT_CALC,
kWidthKTable,
offsetof(nsStylePosition, mMinHeight),
eStyleAnimType_Coord)
CSS_PROP_LOGICAL(
min-inline-size,
min_inline_size,
@@ -2956,18 +2953,17 @@ CSS_PROP_LOGICAL(
eStyleAnimType_None)
CSS_PROP_POSITION(
min-width,
min_width,
MinWidth,
CSS_PROPERTY_PARSE_VALUE |
CSS_PROPERTY_VALUE_NONNEGATIVE |
CSS_PROPERTY_STORES_CALC |
- CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
- CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+ CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
"",
VARIANT_AHKLP | VARIANT_CALC,
kWidthKTable,
offsetof(nsStylePosition, mMinWidth),
eStyleAnimType_Coord)
CSS_PROP_EFFECTS(
mix-blend-mode,
mix_blend_mode,
--- a/layout/style/nsComputedDOMStyle.cpp
+++ b/layout/style/nsComputedDOMStyle.cpp
@@ -4879,28 +4879,26 @@ nsComputedDOMStyle::DoGetWidth()
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetMaxHeight()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
SetValueToCoord(val, StylePosition()->mMaxHeight, true,
- &nsComputedDOMStyle::GetCBContentHeight,
- nsCSSProps::kWidthKTable);
+ nullptr, nsCSSProps::kWidthKTable);
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetMaxWidth()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
SetValueToCoord(val, StylePosition()->mMaxWidth, true,
- &nsComputedDOMStyle::GetCBContentWidth,
- nsCSSProps::kWidthKTable);
+ nullptr, nsCSSProps::kWidthKTable);
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetMinHeight()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
nsStyleCoord minHeight = StylePosition()->mMinHeight;
@@ -4908,19 +4906,17 @@ nsComputedDOMStyle::DoGetMinHeight()
if (eStyleUnit_Auto == minHeight.GetUnit()) {
// In non-flexbox contexts, "min-height: auto" means "min-height: 0"
// XXXdholbert For flex items, we should set |minHeight| to the
// -moz-min-content keyword, instead of 0, once we support -moz-min-content
// as a height value.
minHeight.SetCoordValue(0);
}
- SetValueToCoord(val, minHeight, true,
- &nsComputedDOMStyle::GetCBContentHeight,
- nsCSSProps::kWidthKTable);
+ SetValueToCoord(val, minHeight, true, nullptr, nsCSSProps::kWidthKTable);
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetMinWidth()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
@@ -4936,19 +4932,18 @@ nsComputedDOMStyle::DoGetMinWidth()
flexContainer->GetType() == nsGkAtoms::flexContainerFrame,
"IsFlexItem() lied...?");
if (static_cast<nsFlexContainerFrame*>(flexContainer)->IsHorizontal()) {
minWidth.SetIntValue(NS_STYLE_WIDTH_MIN_CONTENT, eStyleUnit_Enumerated);
}
}
}
- SetValueToCoord(val, minWidth, true,
- &nsComputedDOMStyle::GetCBContentWidth,
- nsCSSProps::kWidthKTable);
+
+ SetValueToCoord(val, minWidth, true, nullptr, nsCSSProps::kWidthKTable);
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetMixBlendMode()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
val->SetIdent(nsCSSProps::ValueToKeywordEnum(StyleEffects()->mMixBlendMode,