| Index: Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| diff --git a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| index da95da69b3f99c926d7968be98e19f9dd816f8fe..29c660e30ba771b0d339df77d4e8c0e124cbd314 100644
|
| --- a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| +++ b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| @@ -157,30 +157,20 @@ namespace blink {
|
| {{apply_auto('CSSPropertyWidows')}}
|
| {{apply_auto('CSSPropertyZIndex')}}
|
|
|
| -static bool lengthTypeAndValueMatch(const Length& length, LengthType type, float value)
|
| +static bool lengthMatchesAllSides(const LengthBox& lengthBox, const Length& length)
|
| {
|
| - return length.type() == type && length.value() == value;
|
| + return (lengthBox.left() == length
|
| + && lengthBox.right() == length
|
| + && lengthBox.top() == length
|
| + && lengthBox.bottom() == length);
|
| }
|
|
|
| -static bool lengthTypeAndValueMatch(const LengthBox& lengthBox, LengthType type, float value)
|
| +static bool borderImageLengthMatchesAllSides(const BorderImageLengthBox& borderImageLengthBox, const BorderImageLength& borderImageLength)
|
| {
|
| - return (lengthTypeAndValueMatch(lengthBox.left(), type, value)
|
| - && lengthTypeAndValueMatch(lengthBox.right(), type, value)
|
| - && lengthTypeAndValueMatch(lengthBox.top(), type, value)
|
| - && lengthTypeAndValueMatch(lengthBox.bottom(), type, value));
|
| -}
|
| -
|
| -static bool lengthTypeAndValueMatch(const BorderImageLength& borderImageLength, LengthType type, float value)
|
| -{
|
| - return borderImageLength.isLength() && lengthTypeAndValueMatch(borderImageLength.length(), type, value);
|
| -}
|
| -
|
| -static bool lengthTypeAndValueMatch(const BorderImageLengthBox& borderImageLengthBox, LengthType type, float value)
|
| -{
|
| - return (lengthTypeAndValueMatch(borderImageLengthBox.left(), type, value)
|
| - && lengthTypeAndValueMatch(borderImageLengthBox.right(), type, value)
|
| - && lengthTypeAndValueMatch(borderImageLengthBox.top(), type, value)
|
| - && lengthTypeAndValueMatch(borderImageLengthBox.bottom(), type, value));
|
| + return (borderImageLengthBox.left() == borderImageLength
|
| + && borderImageLengthBox.right() == borderImageLength
|
| + && borderImageLengthBox.top() == borderImageLength
|
| + && borderImageLengthBox.bottom() == borderImageLength);
|
| }
|
|
|
| {% macro apply_border_image_modifier(property_id, modifier_type) %}
|
| @@ -192,24 +182,24 @@ static bool lengthTypeAndValueMatch(const BorderImageLengthBox& borderImageLengt
|
| const NinePieceImage& currentImage = state.style()->{{getter}}();
|
| {# Check for equality in case we can bail out before creating a new NinePieceImage. #}
|
| {% if modifier_type == 'Outset' %}
|
| - if (lengthTypeAndValueMatch(currentImage.outset(), Fixed, 0))
|
| + if (borderImageLengthMatchesAllSides(currentImage.outset(), BorderImageLength(Length(0, Fixed))))
|
| return;
|
| {% elif modifier_type == 'Repeat' %}
|
| if (currentImage.horizontalRule() == StretchImageRule && currentImage.verticalRule() == StretchImageRule)
|
| return;
|
| {% elif modifier_type == 'Slice' and is_mask_box %}
|
| // Masks have a different initial value for slices. Preserve the value of 0 for backwards compatibility.
|
| - if (currentImage.fill() == true && lengthTypeAndValueMatch(currentImage.imageSlices(), Fixed, 0))
|
| + if (currentImage.fill() == true && lengthMatchesAllSides(currentImage.imageSlices(), Length(0, Fixed)))
|
| return;
|
| {% elif modifier_type == 'Slice' and not is_mask_box %}
|
| - if (currentImage.fill() == false && lengthTypeAndValueMatch(currentImage.imageSlices(), Percent, 100))
|
| + if (currentImage.fill() == false && lengthMatchesAllSides(currentImage.imageSlices(), Length(100, Percent)))
|
| return;
|
| {% elif modifier_type == 'Width' and is_mask_box %}
|
| // Masks have a different initial value for widths. Preserve the value of 'auto' for backwards compatibility.
|
| - if (lengthTypeAndValueMatch(currentImage.borderSlices(), Auto, 0))
|
| + if (borderImageLengthMatchesAllSides(currentImage.borderSlices(), BorderImageLength(Length(Auto))))
|
| return;
|
| {% elif modifier_type == 'Width' and not is_mask_box %}
|
| - if (lengthTypeAndValueMatch(currentImage.borderSlices(), Fixed, 1))
|
| + if (borderImageLengthMatchesAllSides(currentImage.borderSlices(), BorderImageLength(1.0)))
|
| return;
|
| {% endif %}
|
|
|
|
|