<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[287909] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/287909">287909</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2022-01-11 20:08:49 -0800 (Tue, 11 Jan 2022)</dd>
</dl>

<h3>Log Message</h3>
<pre>Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec
LayoutTests/imported/w3c:

https://bugs.webkit.org/show_bug.cgi?id=218880

Reviewed by Darin Adler.

* web-platform-tests/css/css-cascade/revert-val-006-expected.txt:
* web-platform-tests/css/css-cascade/revert-val-007-expected.txt:
* web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt:
* web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:
* web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt:
* web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt:
* web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt:
* web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
* web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt:
* web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
* web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt:
* web-platform-tests/css/css-values/calc-numbers-expected.txt:
* web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt:
* web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt:
* web-platform-tests/css/css-values/minmax-number-computed-expected.txt:
* web-platform-tests/css/css-values/minmax-number-serialize-expected.txt:
* web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt:
* web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt:
* web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt:
* web-platform-tests/html/rendering/dimension-attributes-expected.txt:
* web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:

Source/WebCore:

https://bugs.webkit.org/show_bug.cgi?id=218880

Reviewed by Darin Adler.

Serializes CSS numbers with up to a maximum of 6 decimal places, as required by CSSOM-1
https://www.w3.org/TR/cssom-1/#serialize-a-css-component-value

Introduces CSSUnitType::CSS_INTEGER to differentiate types that are explicitly integers, and uses the
new <number> serialization for CSS_NUMBER.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridPosition):
(WebCore::counterToCSSValue):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::doubleValueInternal const):
(WebCore::CSSPrimitiveValue::formatNumberValue const):
(WebCore::CSSPrimitiveValue::formatIntegerValue const):
(WebCore::CSSPrimitiveValue::unitTypeString):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):
* css/CSSPrimitiveValue.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator short const):
(WebCore::CSSPrimitiveValue::operator unsigned short const):
(WebCore::CSSPrimitiveValue::operator int const):
(WebCore::CSSPrimitiveValue::operator unsigned const):
(WebCore::CSSPrimitiveValue::operator float const):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineClampValue const):
(WebCore::CSSPrimitiveValue::operator ColumnSpan const):
* css/CSSUnits.cpp:
(WebCore::unitCategory):
(WebCore::operator<<):
* css/CSSUnits.h:
* css/DeprecatedCSSOMPrimitiveValue.cpp:
(WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType const):
* css/MediaQueryEvaluator.cpp:
(WebCore::doubleValue):
(WebCore::evaluateResolution):
(WebCore::devicePixelRatioEvaluate):
(WebCore::computeLength):
* css/MediaQueryExpression.cpp:
(WebCore::featureWithValidPositiveLength):
(WebCore::featureWithPositiveInteger):
(WebCore::featureWithPositiveNumber):
(WebCore::featureWithZeroOrOne):
(WebCore::MediaQueryExpression::MediaQueryExpression):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
* css/calc/CSSCalcCategoryMapping.cpp:
(WebCore::calcUnitCategory):
(WebCore::calculationCategoryForCombination):
(WebCore::hasDoubleValue):
* css/calc/CSSCalcPrimitiveValueNode.cpp:
(WebCore::CSSCalcPrimitiveValueNode::isNumericValue const):
* css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeCounter):
(WebCore::consumeCounterStyleRange):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
* style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::createGridPosition):

Source/WTF:

https://bugs.webkit.org/show_bug.cgi?id=218880

Reviewed by Darin Adler.

Add new numberToCSSString and FormattedCSSNumber that handle converting a double into the format required by
CSS (unlimited number of digits before the decimal place, up to 6 decimal places, no trailing zeros.

* wtf/dtoa.cpp:
(WTF::truncateTrailingZeros):
(WTF::numberToFixedPrecisionString):
(WTF::numberToCSSString):
* wtf/dtoa.h:
* wtf/dtoa/double-conversion.cc:
* wtf/dtoa/double-conversion.h:
* wtf/text/StringConcatenateNumbers.h:
(WTF::FormattedCSSNumber::create):
(WTF::FormattedCSSNumber::length const):
(WTF::FormattedCSSNumber::buffer const):
(WTF::StringTypeAdapter<FormattedCSSNumber>::StringTypeAdapter):
(WTF::StringTypeAdapter<FormattedCSSNumber>::length const):
(WTF::StringTypeAdapter<FormattedCSSNumber>::is8Bit const):
(WTF::StringTypeAdapter<FormattedCSSNumber>::writeTo const):

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=218880

Reviewed by Darin Adler.

* css3/calc/font-size-fractional-expected.txt:
* css3/calc/simplification-expected.txt:
* css3/color-filters/color-filter-parsing.html:
* css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt:
* css3/filters/backdrop/backdropfilter-property-computed-style.html:
* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-computed-style.html:
* css3/filters/unprefixed-expected.txt:
* css3/filters/unprefixed.html:
* css3/scroll-snap/scroll-snap-property-computed-style-expected.txt:
* css3/scroll-snap/scroll-snap-property-computed-style.js:
* fast/css/calc-parsing-expected.txt:
* fast/css/calc-parsing-limits-expected.txt:
* fast/css/calc-parsing-limits.html:
* fast/css/calc-parsing.html:
* fast/css/calc-with-angle-time-frequency-expected.txt:
* fast/css/calc-with-angle-time-frequency.html:
* fast/css/large-value-csstext-expected.txt:
* fast/css/line-height-get-computed-style-expected.txt:
* fast/css/line-height-get-computed-style.html:
* fast/css/parsing-stroke-width-expected.txt:
* fast/css/round-trip-values-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:
* platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt:
* svg/css/parse-height-expected.txt:
* svg/css/parse-height.html:
* svg/css/parse-length-expected.txt:
* svg/css/parse-length.html:
* transitions/frames-timing-function-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestscss3calcfontsizefractionalexpectedtxt">trunk/LayoutTests/css3/calc/font-size-fractional-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3calcsimplificationexpectedtxt">trunk/LayoutTests/css3/calc/simplification-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3colorfilterscolorfilterparsinghtml">trunk/LayoutTests/css3/color-filters/color-filter-parsing.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstyleexpectedtxt">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstylehtml">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertycomputedstyleexpectedtxt">trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertycomputedstylehtml">trunk/LayoutTests/css3/filters/filter-property-computed-style.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersunprefixedexpectedtxt">trunk/LayoutTests/css3/filters/unprefixed-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersunprefixedhtml">trunk/LayoutTests/css3/filters/unprefixed.html</a></li>
<li><a href="#trunkLayoutTestscss3scrollsnapscrollsnappropertycomputedstyleexpectedtxt">trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3scrollsnapscrollsnappropertycomputedstylejs">trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style.js</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcparsingexpectedtxt">trunk/LayoutTests/fast/css/calc-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcparsinglimitsexpectedtxt">trunk/LayoutTests/fast/css/calc-parsing-limits-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcparsinglimitshtml">trunk/LayoutTests/fast/css/calc-parsing-limits.html</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcparsinghtml">trunk/LayoutTests/fast/css/calc-parsing.html</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcwithangletimefrequencyexpectedtxt">trunk/LayoutTests/fast/css/calc-with-angle-time-frequency-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsscalcwithangletimefrequencyhtml">trunk/LayoutTests/fast/css/calc-with-angle-time-frequency.html</a></li>
<li><a href="#trunkLayoutTestsfastcsslargevaluecsstextexpectedtxt">trunk/LayoutTests/fast/css/large-value-csstext-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsslineheightgetcomputedstyleexpectedtxt">trunk/LayoutTests/fast/css/line-height-get-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsslineheightgetcomputedstylehtml">trunk/LayoutTests/fast/css/line-height-get-computed-style.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingstrokewidthexpectedtxt">trunk/LayoutTests/fast/css/parsing-stroke-width-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssroundtripvaluesexpectedtxt">trunk/LayoutTests/fast/css/round-trip-values-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsscascaderevertval006expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsscascaderevertval007expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsseasingcubicbeziertimingfunctionsoutputexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssfontsparsingfontcomputedexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssfontsvariationsatfontfacedescriptorsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssmaskingclippathinterpolationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssshapesbasicshapeinterpolationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsstransforms2drotatejsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsstransformsanimationtransforminterpolationinlinevalueexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsstransformsanimationtransformmatrixcompositionexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesacosasinatanatan2serializeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluescalcnumbersexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-numbers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvalueshypotpowsqrtinvalidexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxangleserializeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxnumbercomputedexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxnumberserializeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssvariablesvariablepresentationattributeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssomgetComputedStylelineheightexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssmotionanimationoffsetrotateinterpolationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlrenderingdimensionattributesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/dimension-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlrenderingpixellengthattributesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelkeyframeeffectseffectvalueiterationcompositeoperationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestylesexpectedtxt">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestyleshtml">trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html</a></li>
<li><a href="#trunkLayoutTestsplatformglibimportedw3cwebplatformtestscsscsstransformsanimationtransforminterpolationinlinevalueexpectedtxt">trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiosfastformssearchsearchzoomcomputedstyleheightexpectedtxt">trunk/LayoutTests/platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformioswk2importedw3cwebplatformtestshtmlrenderingpixellengthattributesexpectedtxt">trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcssparseheightexpectedtxt">trunk/LayoutTests/svg/css/parse-height-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcssparseheighthtml">trunk/LayoutTests/svg/css/parse-height.html</a></li>
<li><a href="#trunkLayoutTestssvgcssparselengthexpectedtxt">trunk/LayoutTests/svg/css/parse-length-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcssparselengthhtml">trunk/LayoutTests/svg/css/parse-length.html</a></li>
<li><a href="#trunkLayoutTeststransitionsframestimingfunctionexpectedtxt">trunk/LayoutTests/transitions/frames-timing-function-expected.txt</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfdtoadoubleconversioncc">trunk/Source/WTF/wtf/dtoa/double-conversion.cc</a></li>
<li><a href="#trunkSourceWTFwtfdtoadoubleconversionh">trunk/Source/WTF/wtf/dtoa/double-conversion.h</a></li>
<li><a href="#trunkSourceWTFwtfdtoacpp">trunk/Source/WTF/wtf/dtoa.cpp</a></li>
<li><a href="#trunkSourceWTFwtfdtoah">trunk/Source/WTF/wtf/dtoa.h</a></li>
<li><a href="#trunkSourceWTFwtftextStringConcatenateNumbersh">trunk/Source/WTF/wtf/text/StringConcatenateNumbers.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValuecpp">trunk/Source/WebCore/css/CSSPrimitiveValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueh">trunk/Source/WebCore/css/CSSPrimitiveValue.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueMappingsh">trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSUnitscpp">trunk/Source/WebCore/css/CSSUnits.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSUnitsh">trunk/Source/WebCore/css/CSSUnits.h</a></li>
<li><a href="#trunkSourceWebCorecssDeprecatedCSSOMPrimitiveValuecpp">trunk/Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssMediaQueryEvaluatorcpp">trunk/Source/WebCore/css/MediaQueryEvaluator.cpp</a></li>
<li><a href="#trunkSourceWebCorecssMediaQueryExpressioncpp">trunk/Source/WebCore/css/MediaQueryExpression.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiescpp">trunk/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#trunkSourceWebCorecsscalcCSSCalcCategoryMappingcpp">trunk/Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp</a></li>
<li><a href="#trunkSourceWebCorecsscalcCSSCalcPrimitiveValueNodecpp">trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParserImplcpp">trunk/Source/WebCore/css/parser/CSSParserImpl.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParserHelperscpp">trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleBuilderConverterh">trunk/Source/WebCore/style/StyleBuilderConverter.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/ChangeLog 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,42 @@
</span><ins>+2021-11-29 Simon Fraser  <simon.fraser@apple.com> 
+
+        Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec
+        https://bugs.webkit.org/show_bug.cgi?id=218880
+
+        Reviewed by Darin Adler.
+
+        * css3/calc/font-size-fractional-expected.txt:
+        * css3/calc/simplification-expected.txt:
+        * css3/color-filters/color-filter-parsing.html:
+        * css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt:
+        * css3/filters/backdrop/backdropfilter-property-computed-style.html:
+        * css3/filters/filter-property-computed-style-expected.txt:
+        * css3/filters/filter-property-computed-style.html:
+        * css3/filters/unprefixed-expected.txt:
+        * css3/filters/unprefixed.html:
+        * css3/scroll-snap/scroll-snap-property-computed-style-expected.txt:
+        * css3/scroll-snap/scroll-snap-property-computed-style.js:
+        * fast/css/calc-parsing-expected.txt:
+        * fast/css/calc-parsing-limits-expected.txt:
+        * fast/css/calc-parsing-limits.html:
+        * fast/css/calc-parsing.html:
+        * fast/css/calc-with-angle-time-frequency-expected.txt:
+        * fast/css/calc-with-angle-time-frequency.html:
+        * fast/css/large-value-csstext-expected.txt:
+        * fast/css/line-height-get-computed-style-expected.txt:
+        * fast/css/line-height-get-computed-style.html:
+        * fast/css/parsing-stroke-width-expected.txt:
+        * fast/css/round-trip-values-expected.txt:
+        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt:
+        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:
+        * platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt:
+        * svg/css/parse-height-expected.txt:
+        * svg/css/parse-height.html:
+        * svg/css/parse-length-expected.txt:
+        * svg/css/parse-length.html:
+        * transitions/frames-timing-function-expected.txt:
+
</ins><span class="cx"> 2022-01-11  Megan Gardner  <megan_gardner@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Rewrite touch and drag tests to be more robust.
</span></span></pre></div>
<a id="trunkLayoutTestscss3calcfontsizefractionalexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/calc/font-size-fractional-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/calc/font-size-fractional-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/calc/font-size-fractional-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS getComputedStyle(document.getElementById("calc-reduce"), null).lineHeight is "24px"
</span><del>-PASS getComputedStyle(document.getElementById("calc-reduce"), null).fontSize is "9.600000381469727px"
</del><ins>+PASS getComputedStyle(document.getElementById("calc-reduce"), null).fontSize is "9.6px"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3calcsimplificationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/calc/simplification-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/calc/simplification-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/calc/simplification-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -3,10 +3,10 @@
</span><span class="cx"> 100px * (25 + 5) => calc(3000px)
</span><span class="cx"> 100em * (25 - 5) => calc(2000em)
</span><span class="cx"> 100ex * (2 * 5 - 5) => calc(500ex)
</span><del>-100cm * (5 - 4 / 5) => calc(15874.015748031496px)
-100mm * (2.4 * 5 - 8 / 5) => calc(3930.708661417323px)
</del><ins>+100cm * (5 - 4 / 5) => calc(15874.015748px)
+100mm * (2.4 * 5 - 8 / 5) => calc(3930.708661px)
</ins><span class="cx"> 100in * (6 * (5 - 4) / 8) => calc(7200px)
</span><del>-1px * (3 + 1/(7 + 1/(15 + 1/(1 + 1/(292 + 1/(1 + 1/(1 + 1/(1 + 1)))))))) => calc(3.1415926535583574px)
</del><ins>+1px * (3 + 1/(7 + 1/(15 + 1/(1 + 1/(292 + 1/(1 + 1/(1 + 1/(1 + 1)))))))) => calc(3.141593px)
</ins><span class="cx"> 100pc * 20 + 100rem * 10 - 100ch * 5 + 100pc => calc(-500ch + 33600px + 1000rem)
</span><span class="cx"> ((100px + 20 * 5px) * 10 - 5 * (10em * 5 + 10em)) * 2 => calc(-600em + 4000px)
</span><span class="cx"> 100px + 1in => calc(196px)
</span><span class="lines">@@ -13,8 +13,8 @@
</span><span class="cx"> 10 * 10px + 0.5 * 2in => calc(196px)
</span><span class="cx"> 100px + 1in + 10% => calc(10% + 196px)
</span><span class="cx"> 100px - 1in => calc(4px)
</span><del>-50cm + 50cm => calc(3779.5275590551178px)
-50cm + 10in + 100mm => calc(3227.7165354330705px)
</del><ins>+50cm + 50cm => calc(3779.527559px)
+50cm + 10in + 100mm => calc(3227.716535px)
</ins><span class="cx"> 100px + 1em => calc(1em + 100px)
</span><span class="cx"> 100px + 1em + 100px => calc(1em + 200px)
</span><span class="cx"> 1em + 1rem => calc(1em + 1rem)
</span></span></pre></div>
<a id="trunkLayoutTestscss3colorfilterscolorfilterparsinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/color-filters/color-filter-parsing.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/color-filters/color-filter-parsing.html   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/color-filters/color-filter-parsing.html      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> // Argument canonicalization.
</span><span class="cx"> testColorFilterParsing("grayscale(30%)", "grayscale(0.3)", "Canonicalize grayscale() argument");
</span><del>-testColorFilterParsing("hue-rotate(1.2rad)", "hue-rotate(68.75493541569878deg)", "Canonicalize hue-rotate() argument");
</del><ins>+testColorFilterParsing("hue-rotate(1.2rad)", "hue-rotate(68.754935deg)", "Canonicalize hue-rotate() argument");
</ins><span class="cx"> 
</span><span class="cx"> // Negative values.
</span><span class="cx"> testColorFilterParsing("brightness(-0.4)", "none", "Negative value for brightness() is invalid");
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.cssText is "hue-rotate(572.9577951308232deg)"
</del><ins>+PASS subRule.cssText is "hue-rotate(572.957795deg)"
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstylehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Radians value",
</span><span class="cx">                        "hue-rotate(10rad)", 1,
</span><del>-                       ["hue-rotate(572.9577951308232deg)"]);
</del><ins>+                       ["hue-rotate(572.957795deg)"]);
</ins><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Gradians value",
</span><span class="cx">                        "hue-rotate(10grad)", 1,
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertycomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.cssText is "hue-rotate(572.9577951308232deg)"
</del><ins>+PASS subRule.cssText is "hue-rotate(572.957795deg)"
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertycomputedstylehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-computed-style.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-computed-style.html       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/filter-property-computed-style.html  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Radians value",
</span><span class="cx">                        "hue-rotate(10rad)", 1,
</span><del>-                       ["hue-rotate(572.9577951308232deg)"]);
</del><ins>+                       ["hue-rotate(572.957795deg)"]);
</ins><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Gradians value",
</span><span class="cx">                        "hue-rotate(10grad)", 1,
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersunprefixedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/unprefixed-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/unprefixed-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/unprefixed-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.cssText is "hue-rotate(572.9577951308232deg)"
</del><ins>+PASS subRule.cssText is "hue-rotate(572.957795deg)"
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersunprefixedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/unprefixed.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/unprefixed.html   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/filters/unprefixed.html      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Radians value",
</span><span class="cx">                        "hue-rotate(10rad)", 1,
</span><del>-                       ["hue-rotate(572.9577951308232deg)"]);
</del><ins>+                       ["hue-rotate(572.957795deg)"]);
</ins><span class="cx"> 
</span><span class="cx"> testComputedFilterRule("Gradians value",
</span><span class="cx">                        "hue-rotate(10grad)", 1,
</span></span></pre></div>
<a id="trunkLayoutTestscss3scrollsnapscrollsnappropertycomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -134,10 +134,10 @@
</span><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is 'calc(10% + 50px)'
</span><span class="cx"> 
</span><span class="cx"> various units: `1em 5mm 2in 4cm`
</span><del>-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '16px 18.89763832092285px 192px 151.1811065673828px'
</del><ins>+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '16px 18.897638px 192px 151.181107px'
</ins><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is '16px'
</span><del>-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '151.1811065673828px'
-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '18.89763832092285px'
</del><ins>+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '151.181107px'
+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '18.897638px'
</ins><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '192px'
</span><span class="cx"> 
</span><span class="cx"> subpixel values: `10.4375px 6.5px`
</span><span class="lines">@@ -218,10 +218,10 @@
</span><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-bottom') is '20px'
</span><span class="cx"> 
</span><span class="cx"> various units: `1em 5mm 2in 4cm`
</span><del>-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin') is '16px 18.89763832092285px 192px 151.1811065673828px'
</del><ins>+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin') is '16px 18.897638px 192px 151.181107px'
</ins><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-top') is '16px'
</span><del>-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-left') is '151.1811065673828px'
-PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-right') is '18.89763832092285px'
</del><ins>+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-left') is '151.181107px'
+PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-right') is '18.897638px'
</ins><span class="cx"> PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-bottom') is '192px'
</span><span class="cx"> 
</span><span class="cx"> subpixel values: `10.4375px 6.5px`
</span></span></pre></div>
<a id="trunkLayoutTestscss3scrollsnapscrollsnappropertycomputedstylejs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style.js (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style.js        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style.js   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> testComputedScrollSnapRule("three lengths", "scroll-padding", "1px 2px 3px", "1px 2px 3px", { top: "1px", left: "2px", right: "2px", bottom: "3px" });
</span><span class="cx"> testComputedScrollSnapRule("four values", "scroll-padding", "50px 10% 20% 50px", "50px 10% 20% 50px", { top: "50px", left: "50px", right: "10%", bottom: "20%" });
</span><span class="cx"> testComputedScrollSnapRule("calc expression", "scroll-padding", "calc(50px + 10%) 20px", "calc(10% + 50px) 20px", { top: "calc(10% + 50px)", left: "20px", right: "20px", bottom: "calc(10% + 50px)" });
</span><del>-testComputedScrollSnapRule("various units", "scroll-padding", "1em 5mm 2in 4cm", "16px 18.89763832092285px 192px 151.1811065673828px", { top: "16px", left: "151.1811065673828px", right: "18.89763832092285px", bottom: "192px" });
</del><ins>+testComputedScrollSnapRule("various units", "scroll-padding", "1em 5mm 2in 4cm", "16px 18.897638px 192px 151.181107px", { top: "16px", left: "151.181107px", right: "18.897638px", bottom: "192px" });
</ins><span class="cx"> testComputedScrollSnapRule("subpixel values", "scroll-padding", "10.4375px 6.5px", "10.4375px 6.5px", { top: "10.4375px", left: "6.5px", right: "6.5px", bottom: "10.4375px" });
</span><span class="cx"> 
</span><span class="cx"> // Test the scroll-snap-margin property
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> testComputedScrollSnapRule("two lengths", "scroll-snap-margin", "10px 20px", "10px 20px", { top: "10px", left: "20px", right: "20px", bottom: "10px" });
</span><span class="cx"> testComputedScrollSnapRule("three lengths", "scroll-snap-margin", "1px 2px 3px", "1px 2px 3px", { top: "1px", left: "2px", right: "2px", bottom: "3px" });
</span><span class="cx"> testComputedScrollSnapRule("four lengths", "scroll-snap-margin", "50px 10px 20px 50px", "50px 10px 20px 50px", { top: "50px", left: "50px", right: "10px", bottom: "20px" });
</span><del>-testComputedScrollSnapRule("various units", "scroll-snap-margin", "1em 5mm 2in 4cm", "16px 18.89763832092285px 192px 151.1811065673828px", { top: "16px", left: "151.1811065673828px", right: "18.89763832092285px", bottom: "192px" });
</del><ins>+testComputedScrollSnapRule("various units", "scroll-snap-margin", "1em 5mm 2in 4cm", "16px 18.897638px 192px 151.181107px", { top: "16px", left: "151.181107px", right: "18.897638px", bottom: "192px" });
</ins><span class="cx"> testComputedScrollSnapRule("subpixel values", "scroll-snap-margin", "10.4375px 6.5px", "10.4375px 6.5px", { top: "10.4375px", left: "6.5px", right: "6.5px", bottom: "10.4375px" });
</span><span class="cx"> 
</span><span class="cx"> successfullyParsed = true;
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-parsing-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-parsing-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-parsing-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue('width') is "1000px"
</span><span class="cx"> 
</span><span class="cx"> element.style["width"] = "calc(1px * sqrt(999))"
</span><del>-PASS element.style['width'] is "calc(31.606961258558215px)"
</del><ins>+PASS element.style['width'] is "calc(31.606961px)"
</ins><span class="cx"> PASS getComputedStyle(element).getPropertyValue('width') is "31.59375px"
</span><span class="cx"> 
</span><span class="cx"> element.style["width"] = "calc(1px * pow(2, sqrt(100))"
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue('width') is "1024px"
</span><span class="cx"> 
</span><span class="cx"> element.style["width"] = "hypot(4px, 5px, 7px, 9px)"
</span><del>-PASS element.style['width'] is "hypot(13.076696830622021px)"
</del><ins>+PASS element.style['width'] is "hypot(13.076697px)"
</ins><span class="cx"> PASS getComputedStyle(element).getPropertyValue('width') is "13.0625px"
</span><span class="cx"> 
</span><span class="cx"> element.style["width"] = "hypot(3px, 4px)"
</span><span class="lines">@@ -325,8 +325,8 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue('min-width') is "1000px"
</span><span class="cx"> 
</span><span class="cx"> element.style["min-width"] = "calc(1px * sqrt(999))"
</span><del>-PASS element.style['min-width'] is "calc(31.606961258558215px)"
-PASS getComputedStyle(element).getPropertyValue('min-width') is "31.606962203979492px"
</del><ins>+PASS element.style['min-width'] is "calc(31.606961px)"
+PASS getComputedStyle(element).getPropertyValue('min-width') is "31.606962px"
</ins><span class="cx"> 
</span><span class="cx"> element.style["min-width"] = "calc(1px * pow(2, sqrt(100))"
</span><span class="cx"> PASS element.style['min-width'] is "calc(1024px)"
</span><span class="lines">@@ -333,8 +333,8 @@
</span><span class="cx"> PASS getComputedStyle(element).getPropertyValue('min-width') is "1024px"
</span><span class="cx"> 
</span><span class="cx"> element.style["min-width"] = "hypot(4px, 5px, 7px, 9px)"
</span><del>-PASS element.style['min-width'] is "hypot(13.076696830622021px)"
-PASS getComputedStyle(element).getPropertyValue('min-width') is "13.076696395874023px"
</del><ins>+PASS element.style['min-width'] is "hypot(13.076697px)"
+PASS getComputedStyle(element).getPropertyValue('min-width') is "13.076696px"
</ins><span class="cx"> 
</span><span class="cx"> element.style["min-width"] = "hypot(3px, 4px)"
</span><span class="cx"> PASS element.style['min-width'] is "hypot(5px)"
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcparsinglimitsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-parsing-limits-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-parsing-limits-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-parsing-limits-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx"> PASS window.getComputedStyle(testDiv).getPropertyValue('width') is "898px"
</span><span class="cx"> 
</span><span class="cx"> testDiv.style["width"] = "calc( 1000px / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01 / 1.01)"
</span><del>-PASS testDiv.style['width'] is "calc(362.42644086767854px)"
</del><ins>+PASS testDiv.style['width'] is "calc(362.426441px)"
</ins><span class="cx"> PASS window.getComputedStyle(testDiv).getPropertyValue('width') is "362.421875px"
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcparsinglimitshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-parsing-limits.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-parsing-limits.html      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-parsing-limits.html 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">             testExpression(calcWithNestedParens('100px', 102), '999px', '999px');
</span><span class="cx"> 
</span><span class="cx">             testExpression(calcWithManySubtractions('1000px', '1px', 102), 'calc(898px)', '898px');
</span><del>-            testExpression(calcWithManyDivisions('1000px', '1.01', 102), 'calc(362.42644086767854px)', '362.421875px');
</del><ins>+            testExpression(calcWithManyDivisions('1000px', '1.01', 102), 'calc(362.426441px)', '362.421875px');
</ins><span class="cx">         </script>
</span><span class="cx">         <script src="../../resources/js-test-post.js"></script>
</span><span class="cx">     </body>
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcparsinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-parsing.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-parsing.html     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-parsing.html        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx">                 testExpression('calc(100px * pow(2, pow(2, 2)))', 'calc(1600px)', '1600px');
</span><span class="cx">                 testExpression('calc(1px * pow(2, 3))', 'calc(8px)', '8px')
</span><span class="cx">                 testExpression('calc(100px * sqrt(100))', 'calc(1000px)', '1000px');
</span><del>-                testExpression('calc(1px * sqrt(999))', 'calc(31.606961258558215px)', propertyName == 'width' ? '31.59375px' : '31.606962203979492px');
</del><ins>+                testExpression('calc(1px * sqrt(999))', 'calc(31.606961px)', propertyName == 'width' ? '31.59375px' : '31.606962px');
</ins><span class="cx">                 testExpression('calc(1px * pow(2, sqrt(100))', 'calc(1024px)', '1024px');
</span><del>-                testExpression('hypot(4px, 5px, 7px, 9px)', 'hypot(13.076696830622021px)', propertyName == 'width' ? '13.0625px' : '13.076696395874023px');
</del><ins>+                testExpression('hypot(4px, 5px, 7px, 9px)', 'hypot(13.076697px)', propertyName == 'width' ? '13.0625px' : '13.076696px');
</ins><span class="cx">                 testExpression('hypot(3px, 4px)', 'hypot(5px)', '5px');
</span><span class="cx">                 testExpression('calc(100px * hypot(3, 4))', 'calc(500px)', '500px');
</span><span class="cx">                 testExpression('hypot(-5px)', 'hypot(5px)', '5px');
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcwithangletimefrequencyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-with-angle-time-frequency-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-with-angle-time-frequency-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-with-angle-time-frequency-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -7,8 +7,8 @@
</span><span class="cx"> PASS testDiv.style['-webkit-filter'] is "hue-rotate(calc(150deg))"
</span><span class="cx"> PASS window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter') is "hue-rotate(150deg)"
</span><span class="cx"> testDiv.style['-webkit-filter'] = 'hue-rotate(calc(300rad/2))'
</span><del>-PASS testDiv.style['-webkit-filter'] is "hue-rotate(calc(8594.366926962348deg))"
-PASS window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter') is "hue-rotate(8594.366926962348deg)"
</del><ins>+PASS testDiv.style['-webkit-filter'] is "hue-rotate(calc(8594.366927deg))"
+PASS window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter') is "hue-rotate(8594.366927deg)"
</ins><span class="cx"> testDiv.style['-webkit-filter'] = 'hue-rotate(calc(300grad/2))'
</span><span class="cx"> PASS testDiv.style['-webkit-filter'] is "hue-rotate(calc(135deg))"
</span><span class="cx"> PASS window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter') is "hue-rotate(135deg)"
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscalcwithangletimefrequencyhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/calc-with-angle-time-frequency.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/calc-with-angle-time-frequency.html   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/calc-with-angle-time-frequency.html      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -14,8 +14,8 @@
</span><span class="cx">             shouldBeEqualToString("window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter')", "hue-rotate(150deg)");
</span><span class="cx"> 
</span><span class="cx">             evalAndLog("testDiv.style['-webkit-filter'] = 'hue-rotate(calc(300rad/2))'");
</span><del>-            shouldBeEqualToString("testDiv.style['-webkit-filter']", "hue-rotate(calc(8594.366926962348deg))");
-            shouldBeEqualToString("window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter')", "hue-rotate(8594.366926962348deg)");
</del><ins>+            shouldBeEqualToString("testDiv.style['-webkit-filter']", "hue-rotate(calc(8594.366927deg))");
+            shouldBeEqualToString("window.getComputedStyle(testDiv).getPropertyValue('-webkit-filter')", "hue-rotate(8594.366927deg)");
</ins><span class="cx"> 
</span><span class="cx">             evalAndLog("testDiv.style['-webkit-filter'] = 'hue-rotate(calc(300grad/2))'");
</span><span class="cx">             shouldBeEqualToString("testDiv.style['-webkit-filter']", "hue-rotate(calc(135deg))");
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsslargevaluecsstextexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/large-value-csstext-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/large-value-csstext-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/large-value-csstext-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> This test should not crash.
</span><span class="cx"> 
</span><del>-1e+254%
-9e-249%
</del><ins>+99999999999999993635870693776759177364257073275700735648394407233581562780527075488933869945869475779810351826094056924551506641653143357437722624094200055601817197027212385681288624374039982763538319739206631507774359582937997162411679696940490282762240%
+0%
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcsslineheightgetcomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/line-height-get-computed-style-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/line-height-get-computed-style-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/line-height-get-computed-style-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,13 +1,13 @@
</span><span class="cx"> 
</span><del>-PASS with font-size: 10px, #target.style['line-height'] = 1e+26 should result in a used line-height of 9.999999146971785e+26px
-PASS with font-size: 10px, #target.style['line-height'] = 2.53821 should result in a used line-height of 25.382099151611328px
-PASS with font-size: 10px, #target.style['line-height'] = 2.6666667 should result in a used line-height of 26.666664123535156px
-PASS with font-size: 10px, #target.style['line-height'] = 2.123456789123457 should result in a used line-height of 21.234567642211914px
</del><ins>+PASS with font-size: 10px, #target.style['line-height'] = 1e+26 should result in a used line-height of 999999914697178458896728064px
+PASS with font-size: 10px, #target.style['line-height'] = 2.53821 should result in a used line-height of 25.382099px
+PASS with font-size: 10px, #target.style['line-height'] = 2.6666667 should result in a used line-height of 26.666664px
+PASS with font-size: 10px, #target.style['line-height'] = 2.123456789123457 should result in a used line-height of 21.234568px
</ins><span class="cx"> PASS with font-size: 10px, #target.style['line-height'] = 2.5 should result in a used line-height of 25px
</span><span class="cx"> PASS with font-size: 10px, #target.style['line-height'] = 2 should result in a used line-height of 20px
</span><span class="cx"> PASS with font-size: 10px, #target.style['line-height'] = 1.05 should result in a used line-height of 10.5px
</span><del>-PASS with font-size: 10px, #target.style['line-height'] = 1.049 should result in a used line-height of 10.489999771118164px
-PASS with font-size: 10px, #target.style['line-height'] = 1.0491 should result in a used line-height of 10.49100112915039px
</del><ins>+PASS with font-size: 10px, #target.style['line-height'] = 1.049 should result in a used line-height of 10.49px
+PASS with font-size: 10px, #target.style['line-height'] = 1.0491 should result in a used line-height of 10.491001px
</ins><span class="cx"> PASS with font-size: 10px, #target.style['line-height'] = 0 should result in a used line-height of 0px
</span><span class="cx"> PASS with font-size: 10px, #target.style['line-height'] = 1 should result in a used line-height of 10px
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsslineheightgetcomputedstylehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/line-height-get-computed-style.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/line-height-get-computed-style.html   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/line-height-get-computed-style.html      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -23,21 +23,18 @@
</span><span class="cx">         }, `with font-size: 10px, #target.style['line-height'] = ${line_height_percent} should result in a used line-height of ${expected_line_height}`)
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    // Per spec, CSS numbers shouldn't serialize with exponents.  When the following bug is fixed, this expectation will
-    // need to be updated. https://bugs.webkit.org/show_bug.cgi?id=218880
-    test_line_height(1e+26, '9.999999146971785e+26px')
</del><ins>+    test_line_height(1e+26, '999999914697178458896728064px')
</ins><span class="cx">     
</span><del>-    // Per spec, CSS numbers shouldn't serialize with more than 6 digits.  When the following bug is fixed, the
-    // offending expectations below will need to be updated. https://bugs.webkit.org/show_bug.cgi?id=218880
-    test_line_height(2.53821, '25.382099151611328px')
-    test_line_height(2.6666667, '26.666664123535156px')
</del><ins>+    // Per spec, CSS numbers shouldn't serialize with more than 6 decimal places.
+    test_line_height(2.53821, '25.382099px')
+    test_line_height(2.6666667, '26.666664px')
</ins><span class="cx">     // 20 decimals.
</span><del>-    test_line_height(2.12345678912345678912, '21.234567642211914px')
</del><ins>+    test_line_height(2.12345678912345678912, '21.234568px')
</ins><span class="cx">     test_line_height(2.5, '25px')
</span><span class="cx">     test_line_height(2, '20px')
</span><span class="cx">     test_line_height(1.05, '10.5px')
</span><del>-    test_line_height(1.049, '10.489999771118164px')
-    test_line_height(1.0491, '10.49100112915039px')
</del><ins>+    test_line_height(1.049, '10.49px')
+    test_line_height(1.0491, '10.491001px')
</ins><span class="cx">     test_line_height(0, '0px')
</span><span class="cx">     test_line_height(1, '10px')
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingstrokewidthexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-stroke-width-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-stroke-width-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/parsing-stroke-width-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS testComputedStyleInherited("stroke-width: 4px;") is "4px"
</span><del>-FAIL testComputedStyleInherited("stroke-width: 0.01em;") should be 0.01em. Was 0.1599999964237213px.
</del><ins>+FAIL testComputedStyleInherited("stroke-width: 0.01em;") should be 0.01em. Was 0.16px.
</ins><span class="cx"> PASS testComputedStyleInherited("stroke-width: 10%;") is "10%"
</span><span class="cx"> PASS testComputedStyle(";") is "1px"
</span><span class="cx"> PASS test("stroke-width: 4px;") is "4px"
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssroundtripvaluesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/round-trip-values-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/round-trip-values-expected.txt        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/fast/css/round-trip-values-expected.txt   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -4,24 +4,24 @@
</span><span class="cx"> '0.0001' 0.0001  pass
</span><span class="cx"> 0.0001   0.0001  pass
</span><span class="cx"> '123456.123456'  123456.123456   pass
</span><del>-'1234567.1234567'      1234567.1234567 pass
-'12345678.12345678'    12345678.12345678       pass
</del><ins>+'1234567.1234567'       1234567.123457  pass
+'12345678.12345678'    12345678.123457 pass
</ins><span class="cx"> Trailing zeros
</span><span class="cx"> '0.00100000'     0.001   pass
</span><del>-'0.001000001'  0.001000001     pass
-'0.12345000001'        0.12345000001   pass
-'0.12304567'   0.12304567      pass
-'0.12340567'   0.12340567      pass
-'0.12345067'   0.12345067      pass
-'0.12345607'   0.12345607      pass
-'0.12345670'   0.1234567       pass
</del><ins>+'0.001000001'   0.001   pass
+'0.12345000001'        0.12345 pass
+'0.12304567'   0.123046        pass
+'0.12340567'   0.123406        pass
+'0.12345067'   0.123451        pass
+'0.12345607'   0.123456        pass
+'0.12345670'   0.123457        pass
</ins><span class="cx"> Repeating decimals
</span><del>-1/3    0.3333333333333333      pass
-123 + 1/3      123.33333333333333      pass
-13/99  0.13131313131313133     pass
-123 + 13/99    123.13131313131314      pass
-100/999        0.1001001001001001      pass
-123 + 100/999  123.10010010010011      pass
</del><ins>+1/3     0.333333        pass
+123 + 1/3      123.333333      pass
+13/99  0.131313        pass
+123 + 13/99    123.131313      pass
+100/999        0.1001  pass
+123 + 100/999  123.1001        pass
</ins><span class="cx"> Large numbers
</span><span class="cx"> 12345678 12345678        pass
</span><span class="cx"> 123456789        123456789       pass
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> Number.NaN       12345678901234568       pass
</span><span class="cx"> 1/0      12345678901234568       pass
</span><span class="cx"> Math.sqrt(-1)    12345678901234568       pass
</span><del>-1/0.9999       1.000100010001  pass
-1/0.99999      1.000010000100001       pass
-1/0.999999     1.000001000001  pass
-1/0.9999999    1.00000010000001        pass
-1/0.99999999   1.0000000100000002      pass
</del><ins>+1/0.9999        1.0001  pass
+1/0.99999      1.00001 pass
+1/0.999999     1.000001        pass
+1/0.9999999    1       pass
+1/0.99999999   1       pass
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,40 @@
</span><ins>+2021-11-29 Simon Fraser  <simon.fraser@apple.com> 
+
+        Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec
+        https://bugs.webkit.org/show_bug.cgi?id=218880
+
+        Reviewed by Darin Adler.
+
+        * web-platform-tests/css/css-cascade/revert-val-006-expected.txt:
+        * web-platform-tests/css/css-cascade/revert-val-007-expected.txt:
+        * web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt:
+        * web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:
+        * web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt:
+        * web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt:
+        * web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt:
+        * web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt:
+        * web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
+        * web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt:
+        * web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
+        * web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt:
+        * web-platform-tests/css/css-values/calc-numbers-expected.txt:
+        * web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt:
+        * web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt:
+        * web-platform-tests/css/css-values/minmax-number-computed-expected.txt:
+        * web-platform-tests/css/css-values/minmax-number-serialize-expected.txt:
+        * web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt:
+        * web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt:
+        * web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt:
+        * web-platform-tests/html/rendering/dimension-attributes-expected.txt:
+        * web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:
+
</ins><span class="cx"> 2022-01-11  Asumu Takikawa  <asumu@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [Wasm] Unify memory import handling in module loader and JS cases
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsscascaderevertval006expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL The revert keyword works with @keyframes assert_equals: expected "21.440000534057617px" but got "0px"
</del><ins>+FAIL The revert keyword works with @keyframes assert_equals: expected "21.440001px" but got "0px"
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsscascaderevertval007expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL A @keyframe animation with revert works when applied to multiple identical elements assert_equals: expected "21.440000534057617px" but got "0px"
</del><ins>+FAIL A @keyframe animation with revert works when applied to multiple identical elements assert_equals: expected "21.440001px" but got "0px"
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsseasingcubicbeziertimingfunctionsoutputexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-easing/cubic-bezier-timing-functions-output-expected.txt  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> 
</span><del>-FAIL cubic-bezier easing with input progress greater than 1 assert_approx_equals: The left of the animation should be approximately 98.8706654939602 at 230ms expected 98.8706654939602 +/- 0.01 but got 98.89859008789062
-FAIL cubic-bezier easing with input progress greater than 1 and where the tangent on the upper boundary is infinity assert_approx_equals: The left of the animation should be approximately 106.31755608768113 at 230ms expected 106.31755608768113 +/- 0.01 but got 106.3595962524414
-FAIL cubic-bezier easing with input progress less than 0 assert_approx_equals: The left of the animation should be approximately -16.589193103032184 at 10ms expected -16.589193103032184 +/- 0.01 but got -17.50836753845215
-FAIL cubic-bezier easing with input progress less than 0 and where the tangent on the lower boundary is infinity assert_approx_equals: The left of the animation should be approximately 0 at 300ms expected 0 +/- 0.01 but got 512.0774536132812
</del><ins>+FAIL cubic-bezier easing with input progress greater than 1 assert_approx_equals: The left of the animation should be approximately 98.8706654939602 at 230ms expected 98.8706654939602 +/- 0.01 but got 98.89859
+FAIL cubic-bezier easing with input progress greater than 1 and where the tangent on the upper boundary is infinity assert_approx_equals: The left of the animation should be approximately 106.31755608768113 at 230ms expected 106.31755608768113 +/- 0.01 but got 106.359596
+FAIL cubic-bezier easing with input progress less than 0 assert_approx_equals: The left of the animation should be approximately -16.589193103032184 at 10ms expected -16.589193103032184 +/- 0.01 but got -17.508368
+FAIL cubic-bezier easing with input progress less than 0 and where the tangent on the lower boundary is infinity assert_approx_equals: The left of the animation should be approximately 0 at 300ms expected 0 +/- 0.01 but got 512.077454
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssfontsparsingfontcomputedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -7,9 +7,9 @@
</span><span class="cx"> PASS status-bar should be a supported system font.
</span><span class="cx"> FAIL Property font value 'xx-small serif' assert_equals: expected "9px serif" but got "normal normal normal normal 9px/normal serif"
</span><span class="cx"> FAIL Property font value 'normal medium/normal sans-serif' assert_equals: expected "16px sans-serif" but got "normal normal normal normal 16px/normal sans-serif"
</span><del>-FAIL Property font value 'normal normal xx-large/1.2 cursive' assert_equals: expected "32px / 38.400001525878906px cursive" but got "normal normal normal normal 32px/38.400001525878906px cursive"
</del><ins>+FAIL Property font value 'normal normal xx-large/1.2 cursive' assert_equals: expected "32px / 38.400002px cursive" but got "normal normal normal normal 32px/38.400002px cursive"
</ins><span class="cx"> FAIL Property font value 'normal normal normal larger/calc(120% + 1.2em) fantasy' assert_equals: expected "48px / normal fantasy" but got "normal normal normal normal 48px/normal fantasy"
</span><del>-FAIL Property font value 'normal normal normal normal smaller monospace' assert_equals: expected "33.33333206176758px monospace" but got "normal normal normal normal 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'normal normal normal normal smaller monospace' assert_equals: expected "33.333332px monospace" but got "normal normal normal normal 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value 'normal normal normal italic 10px/normal Menu' assert_true: 'normal normal normal italic 10px/normal Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal normal small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_true: 'normal normal normal small-caps 20%/1.2 "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal normal bold calc(30% - 40px)/calc(120% + 1.2em) serif' assert_true: 'normal normal normal bold calc(30% - 40px)/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> FAIL Property font value 'normal normal small-caps lighter medium/normal fantasy' assert_true: 'normal normal small-caps lighter medium/normal fantasy' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal small-caps condensed xx-large/1.2 monospace' assert_true: 'normal normal small-caps condensed xx-large/1.2 monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal 100 larger/calc(120% + 1.2em) Menu' assert_equals: expected "100 48px / normal Menu" but got "normal normal 100 normal 48px/normal Menu"
</span><del>-FAIL Property font value 'normal normal 900 normal smaller "Non-Generic Example Family Name"' assert_equals: expected "900 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal normal 900 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'normal normal 900 normal smaller "Non-Generic Example Family Name"' assert_equals: expected "900 33.333332px \"Non-Generic Example Family Name\"" but got "normal normal 900 normal 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'normal normal bold italic 10px/normal serif' assert_true: 'normal normal bold italic 10px/normal serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal bolder small-caps 20%/1.2 sans-serif' assert_true: 'normal normal bolder small-caps 20%/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal lighter semi-condensed calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "700 semi-condensed 0px / normal cursive" but got "normal normal bold semi-condensed 0px/normal cursive"
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> FAIL Property font value 'normal normal expanded normal medium/normal monospace' assert_equals: expected "expanded 13px monospace" but got "normal normal normal expanded 13px/normal monospace"
</span><span class="cx"> FAIL Property font value 'normal normal extra-expanded italic xx-large/1.2 Menu' assert_true: 'normal normal extra-expanded italic xx-large/1.2 Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal normal ultra-expanded small-caps larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_true: 'normal normal ultra-expanded small-caps larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal normal ultra-condensed 100 smaller serif' assert_equals: expected "100 ultra-condensed 33.33333206176758px serif" but got "normal normal 100 ultra-condensed 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'normal normal ultra-condensed 100 smaller serif' assert_equals: expected "100 ultra-condensed 33.333332px serif" but got "normal normal 100 ultra-condensed 33.333332px/normal serif"
</ins><span class="cx"> FAIL Property font value 'normal italic 10px/normal sans-serif' assert_true: 'normal italic 10px/normal sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal italic normal 20%/1.2 cursive' assert_true: 'normal italic normal 20%/1.2 cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal italic normal normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_true: 'normal italic normal normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
</span><span class="lines">@@ -57,39 +57,39 @@
</span><span class="cx"> FAIL Property font value 'normal small-caps normal normal medium/normal serif' assert_equals: expected "small-caps 16px serif" but got "normal small-caps normal normal 16px/normal serif"
</span><span class="cx"> FAIL Property font value 'normal small-caps normal italic xx-large/1.2 sans-serif' assert_true: 'normal small-caps normal italic xx-large/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps normal bolder larger/calc(120% + 1.2em) cursive' assert_true: 'normal small-caps normal bolder larger/calc(120% + 1.2em) cursive' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal small-caps normal ultra-condensed smaller fantasy' assert_equals: expected "small-caps ultra-condensed 33.33333206176758px fantasy" but got "normal small-caps normal ultra-condensed 33.33333206176758px/normal fantasy"
</del><ins>+FAIL Property font value 'normal small-caps normal ultra-condensed smaller fantasy' assert_equals: expected "small-caps ultra-condensed 33.333332px fantasy" but got "normal small-caps normal ultra-condensed 33.333332px/normal fantasy"
</ins><span class="cx"> FAIL Property font value 'normal small-caps italic 10px/normal monospace' assert_true: 'normal small-caps italic 10px/normal monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps italic normal 20%/1.2 Menu' assert_true: 'normal small-caps italic normal 20%/1.2 Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps italic lighter calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_true: 'normal small-caps italic lighter calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps italic extra-condensed xx-small serif' assert_true: 'normal small-caps italic extra-condensed xx-small serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps 100 medium/normal sans-serif' assert_equals: expected "small-caps 100 16px sans-serif" but got "normal small-caps 100 normal 16px/normal sans-serif"
</span><del>-FAIL Property font value 'normal small-caps 900 normal xx-large/1.2 cursive' assert_equals: expected "small-caps 900 32px / 38.400001525878906px cursive" but got "normal small-caps 900 normal 32px/38.400001525878906px cursive"
</del><ins>+FAIL Property font value 'normal small-caps 900 normal xx-large/1.2 cursive' assert_equals: expected "small-caps 900 32px / 38.400002px cursive" but got "normal small-caps 900 normal 32px/38.400002px cursive"
</ins><span class="cx"> FAIL Property font value 'normal small-caps bold italic larger/calc(120% + 1.2em) fantasy' assert_true: 'normal small-caps bold italic larger/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal small-caps bolder condensed smaller monospace' assert_equals: expected "small-caps 900 condensed 33.33333206176758px monospace" but got "normal small-caps 900 condensed 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'normal small-caps bolder condensed smaller monospace' assert_equals: expected "small-caps 900 condensed 33.333332px monospace" but got "normal small-caps 900 condensed 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value 'normal small-caps semi-condensed 10px/normal Menu' assert_equals: expected "small-caps semi-condensed 10px Menu" but got "normal small-caps normal semi-condensed 10px/normal Menu"
</span><del>-FAIL Property font value 'normal small-caps semi-expanded normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps semi-expanded 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "normal small-caps normal semi-expanded 8px/9.600000381469727px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'normal small-caps semi-expanded normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps semi-expanded 8px / 9.6px \"Non-Generic Example Family Name\"" but got "normal small-caps normal semi-expanded 8px/9.6px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'normal small-caps expanded italic calc(30% - 40px)/calc(120% + 1.2em) serif' assert_true: 'normal small-caps expanded italic calc(30% - 40px)/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal small-caps extra-expanded lighter xx-small sans-serif' assert_equals: expected "small-caps 700 extra-expanded 9px sans-serif" but got "normal small-caps bold extra-expanded 9px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'normal 100 medium/normal cursive' assert_equals: expected "100 16px cursive" but got "normal normal 100 normal 16px/normal cursive"
</span><del>-FAIL Property font value 'normal 900 normal xx-large/1.2 fantasy' assert_equals: expected "900 32px / 38.400001525878906px fantasy" but got "normal normal 900 normal 32px/38.400001525878906px fantasy"
</del><ins>+FAIL Property font value 'normal 900 normal xx-large/1.2 fantasy' assert_equals: expected "900 32px / 38.400002px fantasy" but got "normal normal 900 normal 32px/38.400002px fantasy"
</ins><span class="cx"> FAIL Property font value 'normal bold normal normal larger/calc(120% + 1.2em) monospace' assert_equals: expected "700 48px / normal monospace" but got "normal normal bold normal 48px/normal monospace"
</span><span class="cx"> FAIL Property font value 'normal bolder normal italic smaller Menu' assert_true: 'normal bolder normal italic smaller Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal lighter normal small-caps 10px/normal "Non-Generic Example Family Name"' assert_true: 'normal lighter normal small-caps 10px/normal "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal 100 normal ultra-expanded 20%/1.2 serif' assert_equals: expected "100 ultra-expanded 8px / 9.600000381469727px serif" but got "normal normal 100 ultra-expanded 8px/9.600000381469727px serif"
</del><ins>+FAIL Property font value 'normal 100 normal ultra-expanded 20%/1.2 serif' assert_equals: expected "100 ultra-expanded 8px / 9.6px serif" but got "normal normal 100 ultra-expanded 8px/9.6px serif"
</ins><span class="cx"> FAIL Property font value 'normal 900 italic calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_true: 'normal 900 italic calc(30% - 40px)/calc(120% + 1.2em) sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal bold italic normal xx-small cursive' assert_true: 'normal bold italic normal xx-small cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal bolder italic small-caps medium/normal fantasy' assert_true: 'normal bolder italic small-caps medium/normal fantasy' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal lighter italic ultra-condensed xx-large/1.2 monospace' assert_true: 'normal lighter italic ultra-condensed xx-large/1.2 monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal 100 small-caps larger/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps 100 48px / normal Menu" but got "normal small-caps 100 normal 48px/normal Menu"
</span><del>-FAIL Property font value 'normal 900 small-caps normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'normal 900 small-caps normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 33.333332px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 normal 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'normal bold small-caps italic 10px/normal serif' assert_true: 'normal bold small-caps italic 10px/normal serif' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal bolder small-caps extra-condensed 20%/1.2 sans-serif' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal small-caps 900 extra-condensed 8px/9.600000381469727px sans-serif"
</del><ins>+FAIL Property font value 'normal bolder small-caps extra-condensed 20%/1.2 sans-serif' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.6px sans-serif" but got "normal small-caps 900 extra-condensed 8px/9.6px sans-serif"
</ins><span class="cx"> FAIL Property font value 'normal lighter condensed calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "700 condensed 0px / normal cursive" but got "normal normal bold condensed 0px/normal cursive"
</span><span class="cx"> FAIL Property font value 'normal 100 semi-condensed normal xx-small fantasy' assert_equals: expected "100 semi-condensed 9px fantasy" but got "normal normal 100 semi-condensed 9px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'normal 900 semi-expanded italic medium/normal monospace' assert_true: 'normal 900 semi-expanded italic medium/normal monospace' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal bold expanded small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 700 expanded 32px / 38.400001525878906px Menu" but got "normal small-caps bold expanded 32px/38.400001525878906px Menu"
</del><ins>+FAIL Property font value 'normal bold expanded small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 700 expanded 32px / 38.400002px Menu" but got "normal small-caps bold expanded 32px/38.400002px Menu"
</ins><span class="cx"> FAIL Property font value 'normal extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal normal normal extra-expanded 48px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'normal ultra-expanded normal smaller serif' assert_equals: expected "ultra-expanded 33.33333206176758px serif" but got "normal normal normal ultra-expanded 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'normal ultra-expanded normal smaller serif' assert_equals: expected "ultra-expanded 33.333332px serif" but got "normal normal normal ultra-expanded 33.333332px/normal serif"
</ins><span class="cx"> FAIL Property font value 'normal ultra-condensed normal normal 10px/normal sans-serif' assert_equals: expected "ultra-condensed 10px sans-serif" but got "normal normal normal ultra-condensed 10px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'normal extra-condensed normal italic 20%/1.2 cursive' assert_true: 'normal extra-condensed normal italic 20%/1.2 cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal condensed normal small-caps calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_true: 'normal condensed normal small-caps calc(30% - 40px)/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
</span><span class="lines">@@ -99,15 +99,15 @@
</span><span class="cx"> FAIL Property font value 'normal extra-expanded italic small-caps larger/calc(120% + 1.2em) serif' assert_true: 'normal extra-expanded italic small-caps larger/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal ultra-expanded italic lighter smaller sans-serif' assert_true: 'normal ultra-expanded italic lighter smaller sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal ultra-condensed small-caps 10px/normal cursive' assert_equals: expected "small-caps ultra-condensed 10px cursive" but got "normal small-caps normal ultra-condensed 10px/normal cursive"
</span><del>-FAIL Property font value 'normal extra-condensed small-caps normal 20%/1.2 fantasy' assert_equals: expected "small-caps extra-condensed 8px / 9.600000381469727px fantasy" but got "normal small-caps normal extra-condensed 8px/9.600000381469727px fantasy"
</del><ins>+FAIL Property font value 'normal extra-condensed small-caps normal 20%/1.2 fantasy' assert_equals: expected "small-caps extra-condensed 8px / 9.6px fantasy" but got "normal small-caps normal extra-condensed 8px/9.6px fantasy"
</ins><span class="cx"> FAIL Property font value 'normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_true: 'normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'normal semi-condensed small-caps 100 xx-small Menu' assert_equals: expected "small-caps 100 semi-condensed 9px Menu" but got "normal small-caps 100 semi-condensed 9px/normal Menu"
</span><span class="cx"> FAIL Property font value 'normal semi-expanded 900 medium/normal "Non-Generic Example Family Name"' assert_equals: expected "900 semi-expanded 16px \"Non-Generic Example Family Name\"" but got "normal normal 900 semi-expanded 16px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'normal expanded bold normal xx-large/1.2 serif' assert_equals: expected "700 expanded 32px / 38.400001525878906px serif" but got "normal normal bold expanded 32px/38.400001525878906px serif"
</del><ins>+FAIL Property font value 'normal expanded bold normal xx-large/1.2 serif' assert_equals: expected "700 expanded 32px / 38.400002px serif" but got "normal normal bold expanded 32px/38.400002px serif"
</ins><span class="cx"> FAIL Property font value 'normal extra-expanded bolder italic larger/calc(120% + 1.2em) sans-serif' assert_true: 'normal extra-expanded bolder italic larger/calc(120% + 1.2em) sans-serif' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'normal ultra-expanded lighter small-caps smaller cursive' assert_equals: expected "small-caps 700 ultra-expanded 33.33333206176758px cursive" but got "normal small-caps bold ultra-expanded 33.33333206176758px/normal cursive"
</del><ins>+FAIL Property font value 'normal ultra-expanded lighter small-caps smaller cursive' assert_equals: expected "small-caps 700 ultra-expanded 33.333332px cursive" but got "normal small-caps bold ultra-expanded 33.333332px/normal cursive"
</ins><span class="cx"> FAIL Property font value 'italic 10px/normal fantasy' assert_equals: expected "italic 10px fantasy" but got "italic normal normal normal 10px/normal fantasy"
</span><del>-FAIL Property font value 'italic normal 20%/1.2 monospace' assert_equals: expected "italic 8px / 9.600000381469727px monospace" but got "italic normal normal normal 8px/9.600000381469727px monospace"
</del><ins>+FAIL Property font value 'italic normal 20%/1.2 monospace' assert_equals: expected "italic 8px / 9.6px monospace" but got "italic normal normal normal 8px/9.6px monospace"
</ins><span class="cx"> FAIL Property font value 'italic normal normal calc(30% - 40px)/calc(120% + 1.2em) Menu' assert_equals: expected "italic 0px / normal Menu" but got "italic normal normal normal 0px/normal Menu"
</span><span class="cx"> FAIL Property font value 'italic normal normal normal xx-small "Non-Generic Example Family Name"' assert_equals: expected "italic 9px \"Non-Generic Example Family Name\"" but got "italic normal normal normal 9px/normal \"Non-Generic Example Family Name\""
</span><span class="cx"> FAIL Property font value 'italic normal normal small-caps medium/normal serif' assert_true: 'italic normal normal small-caps medium/normal serif' is a supported value for font. expected true got false
</span><span class="lines">@@ -121,47 +121,47 @@
</span><span class="cx"> FAIL Property font value 'italic normal bolder normal medium/normal sans-serif' assert_equals: expected "italic 900 16px sans-serif" but got "italic normal 900 normal 16px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'italic normal lighter small-caps xx-large/1.2 cursive' assert_true: 'italic normal lighter small-caps xx-large/1.2 cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'italic normal 100 condensed larger/calc(120% + 1.2em) fantasy' assert_equals: expected "italic 100 condensed 48px / normal fantasy" but got "italic normal 100 condensed 48px/normal fantasy"
</span><del>-FAIL Property font value 'italic normal semi-condensed smaller monospace' assert_equals: expected "italic semi-condensed 33.33333206176758px monospace" but got "italic normal normal semi-condensed 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'italic normal semi-condensed smaller monospace' assert_equals: expected "italic semi-condensed 33.333332px monospace" but got "italic normal normal semi-condensed 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value 'italic normal semi-expanded normal 10px/normal Menu' assert_equals: expected "italic semi-expanded 10px Menu" but got "italic normal normal semi-expanded 10px/normal Menu"
</span><span class="cx"> FAIL Property font value 'italic normal expanded small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_true: 'italic normal expanded small-caps 20%/1.2 "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'italic normal extra-expanded 900 calc(30% - 40px)/calc(120% + 1.2em) serif' assert_equals: expected "italic 900 extra-expanded 0px / normal serif" but got "italic normal 900 extra-expanded 0px/normal serif"
</span><span class="cx"> FAIL Property font value 'italic small-caps xx-small sans-serif' assert_equals: expected "italic small-caps 9px sans-serif" but got "italic small-caps normal normal 9px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'italic small-caps normal medium/normal cursive' assert_equals: expected "italic small-caps 16px cursive" but got "italic small-caps normal normal 16px/normal cursive"
</span><del>-FAIL Property font value 'italic small-caps normal normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 32px / 38.400001525878906px fantasy" but got "italic small-caps normal normal 32px/38.400001525878906px fantasy"
</del><ins>+FAIL Property font value 'italic small-caps normal normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 32px / 38.400002px fantasy" but got "italic small-caps normal normal 32px/38.400002px fantasy"
</ins><span class="cx"> FAIL Property font value 'italic small-caps normal bold larger/calc(120% + 1.2em) monospace' assert_true: 'italic small-caps normal bold larger/calc(120% + 1.2em) monospace' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'italic small-caps normal ultra-expanded smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px Menu" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal Menu"
</del><ins>+FAIL Property font value 'italic small-caps normal ultra-expanded smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.333332px Menu" but got "italic small-caps normal ultra-expanded 33.333332px/normal Menu"
</ins><span class="cx"> FAIL Property font value 'italic small-caps bolder 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 10px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 10px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'italic small-caps lighter normal 20%/1.2 serif' assert_equals: expected "italic small-caps 700 8px / 9.600000381469727px serif" but got "italic small-caps bold normal 8px/9.600000381469727px serif"
</del><ins>+FAIL Property font value 'italic small-caps lighter normal 20%/1.2 serif' assert_equals: expected "italic small-caps 700 8px / 9.6px serif" but got "italic small-caps bold normal 8px/9.6px serif"
</ins><span class="cx"> FAIL Property font value 'italic small-caps 100 ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "italic small-caps 100 ultra-condensed 0px / normal sans-serif" but got "italic small-caps 100 ultra-condensed 0px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'italic small-caps extra-condensed xx-small cursive' assert_equals: expected "italic small-caps extra-condensed 9px cursive" but got "italic small-caps normal extra-condensed 9px/normal cursive"
</span><span class="cx"> FAIL Property font value 'italic small-caps condensed normal medium/normal fantasy' assert_equals: expected "italic small-caps condensed 16px fantasy" but got "italic small-caps normal condensed 16px/normal fantasy"
</span><del>-FAIL Property font value 'italic small-caps semi-condensed 900 xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 semi-condensed 26px / 31.200000762939453px monospace" but got "italic small-caps 900 semi-condensed 26px/31.200000762939453px monospace"
</del><ins>+FAIL Property font value 'italic small-caps semi-condensed 900 xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 semi-condensed 26px / 31.200001px monospace" but got "italic small-caps 900 semi-condensed 26px/31.200001px monospace"
</ins><span class="cx"> FAIL Property font value 'italic bold larger/calc(120% + 1.2em) Menu' assert_equals: expected "italic 700 48px / normal Menu" but got "italic normal bold normal 48px/normal Menu"
</span><del>-FAIL Property font value 'italic bolder normal smaller "Non-Generic Example Family Name"' assert_equals: expected "italic 900 33.33333206176758px \"Non-Generic Example Family Name\"" but got "italic normal 900 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'italic bolder normal smaller "Non-Generic Example Family Name"' assert_equals: expected "italic 900 33.333332px \"Non-Generic Example Family Name\"" but got "italic normal 900 normal 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'italic lighter normal normal 10px/normal serif' assert_equals: expected "italic 700 10px serif" but got "italic normal bold normal 10px/normal serif"
</span><span class="cx"> FAIL Property font value 'italic 100 normal small-caps 20%/1.2 sans-serif' assert_true: 'italic 100 normal small-caps 20%/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'italic 900 normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "italic 900 semi-expanded 0px / normal cursive" but got "italic normal 900 semi-expanded 0px/normal cursive"
</span><span class="cx"> FAIL Property font value 'italic bold small-caps xx-small fantasy' assert_equals: expected "italic small-caps 700 9px fantasy" but got "italic small-caps bold normal 9px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'italic bolder small-caps normal medium/normal monospace' assert_equals: expected "italic small-caps 900 13px monospace" but got "italic small-caps 900 normal 13px/normal monospace"
</span><del>-FAIL Property font value 'italic lighter small-caps expanded xx-large/1.2 Menu' assert_equals: expected "italic small-caps 700 expanded 32px / 38.400001525878906px Menu" but got "italic small-caps bold expanded 32px/38.400001525878906px Menu"
</del><ins>+FAIL Property font value 'italic lighter small-caps expanded xx-large/1.2 Menu' assert_equals: expected "italic small-caps 700 expanded 32px / 38.400002px Menu" but got "italic small-caps bold expanded 32px/38.400002px Menu"
</ins><span class="cx"> FAIL Property font value 'italic 100 extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "italic 100 extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "italic normal 100 extra-expanded 48px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'italic 900 ultra-expanded normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.33333206176758px serif" but got "italic normal 900 ultra-expanded 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'italic 900 ultra-expanded normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.333332px serif" but got "italic normal 900 ultra-expanded 33.333332px/normal serif"
</ins><span class="cx"> FAIL Property font value 'italic bold ultra-condensed small-caps 10px/normal sans-serif' assert_equals: expected "italic small-caps 700 ultra-condensed 10px sans-serif" but got "italic small-caps bold ultra-condensed 10px/normal sans-serif"
</span><del>-FAIL Property font value 'italic extra-condensed 20%/1.2 cursive' assert_equals: expected "italic extra-condensed 8px / 9.600000381469727px cursive" but got "italic normal normal extra-condensed 8px/9.600000381469727px cursive"
</del><ins>+FAIL Property font value 'italic extra-condensed 20%/1.2 cursive' assert_equals: expected "italic extra-condensed 8px / 9.6px cursive" but got "italic normal normal extra-condensed 8px/9.6px cursive"
</ins><span class="cx"> FAIL Property font value 'italic condensed normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "italic condensed 0px / normal fantasy" but got "italic normal normal condensed 0px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'italic semi-condensed normal normal xx-small monospace' assert_equals: expected "italic semi-condensed 9px monospace" but got "italic normal normal semi-condensed 9px/normal monospace"
</span><span class="cx"> FAIL Property font value 'italic semi-expanded normal small-caps medium/normal Menu' assert_true: 'italic semi-expanded normal small-caps medium/normal Menu' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'italic expanded normal bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic 900 expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "italic normal 900 expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'italic expanded normal bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic 900 expanded 32px / 38.400002px \"Non-Generic Example Family Name\"" but got "italic normal 900 expanded 32px/38.400002px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'italic extra-expanded small-caps larger/calc(120% + 1.2em) serif' assert_equals: expected "italic small-caps extra-expanded 48px / normal serif" but got "italic small-caps normal extra-expanded 48px/normal serif"
</span><del>-FAIL Property font value 'italic ultra-expanded small-caps normal smaller sans-serif' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px sans-serif" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal sans-serif"
</del><ins>+FAIL Property font value 'italic ultra-expanded small-caps normal smaller sans-serif' assert_equals: expected "italic small-caps ultra-expanded 33.333332px sans-serif" but got "italic small-caps normal ultra-expanded 33.333332px/normal sans-serif"
</ins><span class="cx"> FAIL Property font value 'italic ultra-condensed small-caps lighter 10px/normal cursive' assert_equals: expected "italic small-caps 700 ultra-condensed 10px cursive" but got "italic small-caps bold ultra-condensed 10px/normal cursive"
</span><del>-FAIL Property font value 'italic extra-condensed 100 20%/1.2 fantasy' assert_equals: expected "italic 100 extra-condensed 8px / 9.600000381469727px fantasy" but got "italic normal 100 extra-condensed 8px/9.600000381469727px fantasy"
</del><ins>+FAIL Property font value 'italic extra-condensed 100 20%/1.2 fantasy' assert_equals: expected "italic 100 extra-condensed 8px / 9.6px fantasy" but got "italic normal 100 extra-condensed 8px/9.6px fantasy"
</ins><span class="cx"> FAIL Property font value 'italic condensed 900 normal calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_equals: expected "italic 900 condensed 0px / normal monospace" but got "italic normal 900 condensed 0px/normal monospace"
</span><span class="cx"> FAIL Property font value 'italic semi-condensed bold small-caps xx-small Menu' assert_equals: expected "italic small-caps 700 semi-condensed 9px Menu" but got "italic small-caps bold semi-condensed 9px/normal Menu"
</span><span class="cx"> FAIL Property font value 'small-caps medium/normal "Non-Generic Example Family Name"' assert_equals: expected "small-caps 16px \"Non-Generic Example Family Name\"" but got "normal small-caps normal normal 16px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'small-caps normal xx-large/1.2 serif' assert_equals: expected "small-caps 32px / 38.400001525878906px serif" but got "normal small-caps normal normal 32px/38.400001525878906px serif"
</del><ins>+FAIL Property font value 'small-caps normal xx-large/1.2 serif' assert_equals: expected "small-caps 32px / 38.400002px serif" but got "normal small-caps normal normal 32px/38.400002px serif"
</ins><span class="cx"> FAIL Property font value 'small-caps normal normal larger/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 48px / normal sans-serif" but got "normal small-caps normal normal 48px/normal sans-serif"
</span><del>-FAIL Property font value 'small-caps normal normal normal smaller cursive' assert_equals: expected "small-caps 33.33333206176758px cursive" but got "normal small-caps normal normal 33.33333206176758px/normal cursive"
</del><ins>+FAIL Property font value 'small-caps normal normal normal smaller cursive' assert_equals: expected "small-caps 33.333332px cursive" but got "normal small-caps normal normal 33.333332px/normal cursive"
</ins><span class="cx"> FAIL Property font value 'small-caps normal normal italic 10px/normal fantasy' assert_true: 'small-caps normal normal italic 10px/normal fantasy' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal normal bolder 20%/1.2 monospace' assert_true: 'small-caps normal normal bolder 20%/1.2 monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps semi-expanded 0px / normal Menu" but got "normal small-caps normal semi-expanded 0px/normal Menu"
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx"> FAIL Property font value 'small-caps normal italic normal medium/normal serif' assert_true: 'small-caps normal italic normal medium/normal serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal italic lighter xx-large/1.2 sans-serif' assert_true: 'small-caps normal italic lighter xx-large/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal italic expanded larger/calc(120% + 1.2em) cursive' assert_true: 'small-caps normal italic expanded larger/calc(120% + 1.2em) cursive' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'small-caps normal 100 smaller fantasy' assert_equals: expected "small-caps 100 33.33333206176758px fantasy" but got "normal small-caps 100 normal 33.33333206176758px/normal fantasy"
</del><ins>+FAIL Property font value 'small-caps normal 100 smaller fantasy' assert_equals: expected "small-caps 100 33.333332px fantasy" but got "normal small-caps 100 normal 33.333332px/normal fantasy"
</ins><span class="cx"> FAIL Property font value 'small-caps normal 900 normal 10px/normal monospace' assert_equals: expected "small-caps 900 10px monospace" but got "normal small-caps 900 normal 10px/normal monospace"
</span><span class="cx"> FAIL Property font value 'small-caps normal bold italic 20%/1.2 Menu' assert_true: 'small-caps normal bold italic 20%/1.2 Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal bolder extra-expanded calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 extra-expanded 0px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps 900 extra-expanded 0px/normal \"Non-Generic Example Family Name\""
</span><span class="lines">@@ -177,41 +177,41 @@
</span><span class="cx"> FAIL Property font value 'small-caps normal ultra-condensed normal medium/normal sans-serif' assert_equals: expected "small-caps ultra-condensed 16px sans-serif" but got "normal small-caps normal ultra-condensed 16px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'small-caps normal extra-condensed italic xx-large/1.2 cursive' assert_true: 'small-caps normal extra-condensed italic xx-large/1.2 cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps normal condensed lighter larger/calc(120% + 1.2em) fantasy' assert_equals: expected "small-caps 700 condensed 48px / normal fantasy" but got "normal small-caps bold condensed 48px/normal fantasy"
</span><del>-FAIL Property font value 'small-caps italic smaller monospace' assert_equals: expected "italic small-caps 33.33333206176758px monospace" but got "italic small-caps normal normal 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'small-caps italic smaller monospace' assert_equals: expected "italic small-caps 33.333332px monospace" but got "italic small-caps normal normal 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value 'small-caps italic normal 10px/normal Menu' assert_equals: expected "italic small-caps 10px Menu" but got "italic small-caps normal normal 10px/normal Menu"
</span><del>-FAIL Property font value 'small-caps italic normal normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps normal normal 8px/9.600000381469727px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'small-caps italic normal normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 8px / 9.6px \"Non-Generic Example Family Name\"" but got "italic small-caps normal normal 8px/9.6px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif' assert_true: 'small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps italic normal semi-condensed xx-small sans-serif' assert_equals: expected "italic small-caps semi-condensed 9px sans-serif" but got "italic small-caps normal semi-condensed 9px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'small-caps italic 900 medium/normal cursive' assert_equals: expected "italic small-caps 900 16px cursive" but got "italic small-caps 900 normal 16px/normal cursive"
</span><del>-FAIL Property font value 'small-caps italic bold normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 700 32px / 38.400001525878906px fantasy" but got "italic small-caps bold normal 32px/38.400001525878906px fantasy"
</del><ins>+FAIL Property font value 'small-caps italic bold normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 700 32px / 38.400002px fantasy" but got "italic small-caps bold normal 32px/38.400002px fantasy"
</ins><span class="cx"> FAIL Property font value 'small-caps italic bolder semi-expanded larger/calc(120% + 1.2em) monospace' assert_equals: expected "italic small-caps 900 semi-expanded 48px / normal monospace" but got "italic small-caps 900 semi-expanded 48px/normal monospace"
</span><del>-FAIL Property font value 'small-caps italic expanded smaller Menu' assert_equals: expected "italic small-caps expanded 33.33333206176758px Menu" but got "italic small-caps normal expanded 33.33333206176758px/normal Menu"
</del><ins>+FAIL Property font value 'small-caps italic expanded smaller Menu' assert_equals: expected "italic small-caps expanded 33.333332px Menu" but got "italic small-caps normal expanded 33.333332px/normal Menu"
</ins><span class="cx"> FAIL Property font value 'small-caps italic extra-expanded normal 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps extra-expanded 10px \"Non-Generic Example Family Name\"" but got "italic small-caps normal extra-expanded 10px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'small-caps italic ultra-expanded lighter 20%/1.2 serif' assert_equals: expected "italic small-caps 700 ultra-expanded 8px / 9.600000381469727px serif" but got "italic small-caps bold ultra-expanded 8px/9.600000381469727px serif"
</del><ins>+FAIL Property font value 'small-caps italic ultra-expanded lighter 20%/1.2 serif' assert_equals: expected "italic small-caps 700 ultra-expanded 8px / 9.6px serif" but got "italic small-caps bold ultra-expanded 8px/9.6px serif"
</ins><span class="cx"> FAIL Property font value 'small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 100 0px / normal sans-serif" but got "normal small-caps 100 normal 0px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'small-caps 900 normal xx-small cursive' assert_equals: expected "small-caps 900 9px cursive" but got "normal small-caps 900 normal 9px/normal cursive"
</span><span class="cx"> FAIL Property font value 'small-caps bold normal normal medium/normal fantasy' assert_equals: expected "small-caps 700 16px fantasy" but got "normal small-caps bold normal 16px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'small-caps bolder normal italic xx-large/1.2 monospace' assert_true: 'small-caps bolder normal italic xx-large/1.2 monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'small-caps lighter normal ultra-condensed larger/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps 700 ultra-condensed 48px / normal Menu" but got "normal small-caps bold ultra-condensed 48px/normal Menu"
</span><del>-FAIL Property font value 'small-caps 100 italic smaller "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 100 33.33333206176758px \"Non-Generic Example Family Name\"" but got "italic small-caps 100 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'small-caps 100 italic smaller "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 100 33.333332px \"Non-Generic Example Family Name\"" but got "italic small-caps 100 normal 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'small-caps 900 italic normal 10px/normal serif' assert_equals: expected "italic small-caps 900 10px serif" but got "italic small-caps 900 normal 10px/normal serif"
</span><del>-FAIL Property font value 'small-caps bold italic extra-condensed 20%/1.2 sans-serif' assert_equals: expected "italic small-caps 700 extra-condensed 8px / 9.600000381469727px sans-serif" but got "italic small-caps bold extra-condensed 8px/9.600000381469727px sans-serif"
</del><ins>+FAIL Property font value 'small-caps bold italic extra-condensed 20%/1.2 sans-serif' assert_equals: expected "italic small-caps 700 extra-condensed 8px / 9.6px sans-serif" but got "italic small-caps bold extra-condensed 8px/9.6px sans-serif"
</ins><span class="cx"> FAIL Property font value 'small-caps bolder condensed calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "small-caps 900 condensed 0px / normal cursive" but got "normal small-caps 900 condensed 0px/normal cursive"
</span><span class="cx"> FAIL Property font value 'small-caps lighter semi-condensed normal xx-small fantasy' assert_equals: expected "small-caps 700 semi-condensed 9px fantasy" but got "normal small-caps bold semi-condensed 9px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'small-caps 100 semi-expanded italic medium/normal monospace' assert_equals: expected "italic small-caps 100 semi-expanded 13px monospace" but got "italic small-caps 100 semi-expanded 13px/normal monospace"
</span><del>-FAIL Property font value 'small-caps expanded xx-large/1.2 Menu' assert_equals: expected "small-caps expanded 32px / 38.400001525878906px Menu" but got "normal small-caps normal expanded 32px/38.400001525878906px Menu"
</del><ins>+FAIL Property font value 'small-caps expanded xx-large/1.2 Menu' assert_equals: expected "small-caps expanded 32px / 38.400002px Menu" but got "normal small-caps normal expanded 32px/38.400002px Menu"
</ins><span class="cx"> FAIL Property font value 'small-caps extra-expanded normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps normal extra-expanded 48px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'small-caps ultra-expanded normal normal smaller serif' assert_equals: expected "small-caps ultra-expanded 33.33333206176758px serif" but got "normal small-caps normal ultra-expanded 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'small-caps ultra-expanded normal normal smaller serif' assert_equals: expected "small-caps ultra-expanded 33.333332px serif" but got "normal small-caps normal ultra-expanded 33.333332px/normal serif"
</ins><span class="cx"> FAIL Property font value 'small-caps ultra-condensed normal italic 10px/normal sans-serif' assert_true: 'small-caps ultra-condensed normal italic 10px/normal sans-serif' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'small-caps extra-condensed normal 900 20%/1.2 cursive' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.600000381469727px cursive" but got "normal small-caps 900 extra-condensed 8px/9.600000381469727px cursive"
</del><ins>+FAIL Property font value 'small-caps extra-condensed normal 900 20%/1.2 cursive' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.6px cursive" but got "normal small-caps 900 extra-condensed 8px/9.6px cursive"
</ins><span class="cx"> FAIL Property font value 'small-caps condensed italic calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "italic small-caps condensed 0px / normal fantasy" but got "italic small-caps normal condensed 0px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'small-caps semi-condensed italic normal xx-small monospace' assert_equals: expected "italic small-caps semi-condensed 9px monospace" but got "italic small-caps normal semi-condensed 9px/normal monospace"
</span><span class="cx"> FAIL Property font value 'small-caps semi-expanded italic bold medium/normal Menu' assert_equals: expected "italic small-caps 700 semi-expanded 16px Menu" but got "italic small-caps bold semi-expanded 16px/normal Menu"
</span><del>-FAIL Property font value 'small-caps expanded bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'small-caps expanded bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 expanded 32px / 38.400002px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 expanded 32px/38.400002px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'small-caps extra-expanded lighter normal larger/calc(120% + 1.2em) serif' assert_equals: expected "small-caps 700 extra-expanded 48px / normal serif" but got "normal small-caps bold extra-expanded 48px/normal serif"
</span><del>-FAIL Property font value 'small-caps ultra-expanded 100 italic smaller sans-serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.33333206176758px sans-serif" but got "italic small-caps 100 ultra-expanded 33.33333206176758px/normal sans-serif"
</del><ins>+FAIL Property font value 'small-caps ultra-expanded 100 italic smaller sans-serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.333332px sans-serif" but got "italic small-caps 100 ultra-expanded 33.333332px/normal sans-serif"
</ins><span class="cx"> FAIL Property font value '900 10px/normal cursive' assert_equals: expected "900 10px cursive" but got "normal normal 900 normal 10px/normal cursive"
</span><del>-FAIL Property font value 'bold normal 20%/1.2 fantasy' assert_equals: expected "700 8px / 9.600000381469727px fantasy" but got "normal normal bold normal 8px/9.600000381469727px fantasy"
</del><ins>+FAIL Property font value 'bold normal 20%/1.2 fantasy' assert_equals: expected "700 8px / 9.6px fantasy" but got "normal normal bold normal 8px/9.6px fantasy"
</ins><span class="cx"> FAIL Property font value 'bolder normal normal calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_equals: expected "900 0px / normal monospace" but got "normal normal 900 normal 0px/normal monospace"
</span><span class="cx"> FAIL Property font value 'lighter normal normal normal xx-small Menu' assert_equals: expected "700 9px Menu" but got "normal normal bold normal 9px/normal Menu"
</span><span class="cx"> FAIL Property font value '100 normal normal italic medium/normal "Non-Generic Example Family Name"' assert_true: '100 normal normal italic medium/normal "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="lines">@@ -225,47 +225,47 @@
</span><span class="cx"> FAIL Property font value 'bolder normal small-caps normal medium/normal serif' assert_equals: expected "small-caps 900 16px serif" but got "normal small-caps 900 normal 16px/normal serif"
</span><span class="cx"> FAIL Property font value 'lighter normal small-caps italic xx-large/1.2 sans-serif' assert_true: 'lighter normal small-caps italic xx-large/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value '100 normal small-caps condensed larger/calc(120% + 1.2em) cursive' assert_equals: expected "small-caps 100 condensed 48px / normal cursive" but got "normal small-caps 100 condensed 48px/normal cursive"
</span><del>-FAIL Property font value '900 normal semi-condensed smaller fantasy' assert_equals: expected "900 semi-condensed 33.33333206176758px fantasy" but got "normal normal 900 semi-condensed 33.33333206176758px/normal fantasy"
</del><ins>+FAIL Property font value '900 normal semi-condensed smaller fantasy' assert_equals: expected "900 semi-condensed 33.333332px fantasy" but got "normal normal 900 semi-condensed 33.333332px/normal fantasy"
</ins><span class="cx"> FAIL Property font value 'bold normal semi-expanded normal 10px/normal monospace' assert_equals: expected "700 semi-expanded 10px monospace" but got "normal normal bold semi-expanded 10px/normal monospace"
</span><span class="cx"> FAIL Property font value 'bolder normal expanded italic 20%/1.2 Menu' assert_true: 'bolder normal expanded italic 20%/1.2 Menu' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'lighter normal extra-expanded small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps 700 extra-expanded 0px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps bold extra-expanded 0px/normal \"Non-Generic Example Family Name\""
</span><span class="cx"> FAIL Property font value '100 italic xx-small serif' assert_equals: expected "italic 100 9px serif" but got "italic normal 100 normal 9px/normal serif"
</span><span class="cx"> FAIL Property font value '900 italic normal medium/normal sans-serif' assert_equals: expected "italic 900 16px sans-serif" but got "italic normal 900 normal 16px/normal sans-serif"
</span><del>-FAIL Property font value 'bold italic normal normal xx-large/1.2 cursive' assert_equals: expected "italic 700 32px / 38.400001525878906px cursive" but got "italic normal bold normal 32px/38.400001525878906px cursive"
</del><ins>+FAIL Property font value 'bold italic normal normal xx-large/1.2 cursive' assert_equals: expected "italic 700 32px / 38.400002px cursive" but got "italic normal bold normal 32px/38.400002px cursive"
</ins><span class="cx"> FAIL Property font value 'bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy' assert_true: 'bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'lighter italic normal ultra-expanded smaller monospace' assert_equals: expected "italic 700 ultra-expanded 33.33333206176758px monospace" but got "italic normal bold ultra-expanded 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'lighter italic normal ultra-expanded smaller monospace' assert_equals: expected "italic 700 ultra-expanded 33.333332px monospace" but got "italic normal bold ultra-expanded 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value '100 italic small-caps 10px/normal Menu' assert_equals: expected "italic small-caps 100 10px Menu" but got "italic small-caps 100 normal 10px/normal Menu"
</span><del>-FAIL Property font value '900 italic small-caps normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 8px/9.600000381469727px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value '900 italic small-caps normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 8px / 9.6px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 8px/9.6px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'bold italic small-caps ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) serif' assert_equals: expected "italic small-caps 700 ultra-condensed 0px / normal serif" but got "italic small-caps bold ultra-condensed 0px/normal serif"
</span><span class="cx"> FAIL Property font value 'bolder italic extra-condensed xx-small sans-serif' assert_equals: expected "italic 900 extra-condensed 9px sans-serif" but got "italic normal 900 extra-condensed 9px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'lighter italic condensed normal medium/normal cursive' assert_equals: expected "italic 700 condensed 16px cursive" but got "italic normal bold condensed 16px/normal cursive"
</span><del>-FAIL Property font value '100 italic semi-condensed small-caps xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 100 semi-condensed 32px / 38.400001525878906px fantasy" but got "italic small-caps 100 semi-condensed 32px/38.400001525878906px fantasy"
</del><ins>+FAIL Property font value '100 italic semi-condensed small-caps xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 100 semi-condensed 32px / 38.400002px fantasy" but got "italic small-caps 100 semi-condensed 32px/38.400002px fantasy"
</ins><span class="cx"> FAIL Property font value '900 small-caps larger/calc(120% + 1.2em) monospace' assert_equals: expected "small-caps 900 48px / normal monospace" but got "normal small-caps 900 normal 48px/normal monospace"
</span><del>-FAIL Property font value 'bold small-caps normal smaller Menu' assert_equals: expected "small-caps 700 33.33333206176758px Menu" but got "normal small-caps bold normal 33.33333206176758px/normal Menu"
</del><ins>+FAIL Property font value 'bold small-caps normal smaller Menu' assert_equals: expected "small-caps 700 33.333332px Menu" but got "normal small-caps bold normal 33.333332px/normal Menu"
</ins><span class="cx"> FAIL Property font value 'bolder small-caps normal normal 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 10px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 normal 10px/normal \"Non-Generic Example Family Name\""
</span><span class="cx"> FAIL Property font value 'lighter small-caps normal italic 20%/1.2 serif' assert_true: 'lighter small-caps normal italic 20%/1.2 serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value '100 small-caps normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 100 semi-expanded 0px / normal sans-serif" but got "normal small-caps 100 semi-expanded 0px/normal sans-serif"
</span><span class="cx"> FAIL Property font value '900 small-caps italic xx-small cursive' assert_equals: expected "italic small-caps 900 9px cursive" but got "italic small-caps 900 normal 9px/normal cursive"
</span><span class="cx"> FAIL Property font value 'bold small-caps italic normal medium/normal fantasy' assert_equals: expected "italic small-caps 700 16px fantasy" but got "italic small-caps bold normal 16px/normal fantasy"
</span><del>-FAIL Property font value 'bolder small-caps italic expanded xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 expanded 26px / 31.200000762939453px monospace" but got "italic small-caps 900 expanded 26px/31.200000762939453px monospace"
</del><ins>+FAIL Property font value 'bolder small-caps italic expanded xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 expanded 26px / 31.200001px monospace" but got "italic small-caps 900 expanded 26px/31.200001px monospace"
</ins><span class="cx"> FAIL Property font value 'lighter small-caps extra-expanded larger/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps 700 extra-expanded 48px / normal Menu" but got "normal small-caps bold extra-expanded 48px/normal Menu"
</span><del>-FAIL Property font value '100 small-caps ultra-expanded normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 100 ultra-expanded 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal small-caps 100 ultra-expanded 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value '100 small-caps ultra-expanded normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 100 ultra-expanded 33.333332px \"Non-Generic Example Family Name\"" but got "normal small-caps 100 ultra-expanded 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value '900 small-caps ultra-condensed italic 10px/normal serif' assert_equals: expected "italic small-caps 900 ultra-condensed 10px serif" but got "italic small-caps 900 ultra-condensed 10px/normal serif"
</span><del>-FAIL Property font value 'bold extra-condensed 20%/1.2 sans-serif' assert_equals: expected "700 extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal normal bold extra-condensed 8px/9.600000381469727px sans-serif"
</del><ins>+FAIL Property font value 'bold extra-condensed 20%/1.2 sans-serif' assert_equals: expected "700 extra-condensed 8px / 9.6px sans-serif" but got "normal normal bold extra-condensed 8px/9.6px sans-serif"
</ins><span class="cx"> FAIL Property font value 'bolder condensed normal calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "900 condensed 0px / normal cursive" but got "normal normal 900 condensed 0px/normal cursive"
</span><span class="cx"> FAIL Property font value 'lighter semi-condensed normal normal xx-small fantasy' assert_equals: expected "700 semi-condensed 9px fantasy" but got "normal normal bold semi-condensed 9px/normal fantasy"
</span><span class="cx"> FAIL Property font value '100 semi-expanded normal italic medium/normal monospace' assert_true: '100 semi-expanded normal italic medium/normal monospace' is a supported value for font. expected true got false
</span><del>-FAIL Property font value '900 expanded normal small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px Menu" but got "normal small-caps 900 expanded 32px/38.400001525878906px Menu"
</del><ins>+FAIL Property font value '900 expanded normal small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400002px Menu" but got "normal small-caps 900 expanded 32px/38.400002px Menu"
</ins><span class="cx"> FAIL Property font value 'bold extra-expanded italic larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "italic 700 extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "italic normal bold extra-expanded 48px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'bolder ultra-expanded italic normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.33333206176758px serif" but got "italic normal 900 ultra-expanded 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'bolder ultra-expanded italic normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.333332px serif" but got "italic normal 900 ultra-expanded 33.333332px/normal serif"
</ins><span class="cx"> FAIL Property font value 'lighter ultra-condensed italic small-caps 10px/normal sans-serif' assert_equals: expected "italic small-caps 700 ultra-condensed 10px sans-serif" but got "italic small-caps bold ultra-condensed 10px/normal sans-serif"
</span><del>-FAIL Property font value '100 extra-condensed small-caps 20%/1.2 cursive' assert_equals: expected "small-caps 100 extra-condensed 8px / 9.600000381469727px cursive" but got "normal small-caps 100 extra-condensed 8px/9.600000381469727px cursive"
</del><ins>+FAIL Property font value '100 extra-condensed small-caps 20%/1.2 cursive' assert_equals: expected "small-caps 100 extra-condensed 8px / 9.6px cursive" but got "normal small-caps 100 extra-condensed 8px/9.6px cursive"
</ins><span class="cx"> FAIL Property font value '900 condensed small-caps normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "small-caps 900 condensed 0px / normal fantasy" but got "normal small-caps 900 condensed 0px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'bold semi-condensed small-caps italic xx-small monospace' assert_equals: expected "italic small-caps 700 semi-condensed 9px monospace" but got "italic small-caps bold semi-condensed 9px/normal monospace"
</span><span class="cx"> FAIL Property font value 'semi-expanded medium/normal Menu' assert_equals: expected "semi-expanded 16px Menu" but got "normal normal normal semi-expanded 16px/normal Menu"
</span><del>-FAIL Property font value 'expanded normal xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "normal normal normal expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'expanded normal xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "expanded 32px / 38.400002px \"Non-Generic Example Family Name\"" but got "normal normal normal expanded 32px/38.400002px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'extra-expanded normal normal larger/calc(120% + 1.2em) serif' assert_equals: expected "extra-expanded 48px / normal serif" but got "normal normal normal extra-expanded 48px/normal serif"
</span><del>-FAIL Property font value 'ultra-expanded normal normal normal smaller sans-serif' assert_equals: expected "ultra-expanded 33.33333206176758px sans-serif" but got "normal normal normal ultra-expanded 33.33333206176758px/normal sans-serif"
</del><ins>+FAIL Property font value 'ultra-expanded normal normal normal smaller sans-serif' assert_equals: expected "ultra-expanded 33.333332px sans-serif" but got "normal normal normal ultra-expanded 33.333332px/normal sans-serif"
</ins><span class="cx"> FAIL Property font value 'ultra-condensed normal normal italic 10px/normal cursive' assert_true: 'ultra-condensed normal normal italic 10px/normal cursive' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'extra-condensed normal normal small-caps 20%/1.2 fantasy' assert_true: 'extra-condensed normal normal small-caps 20%/1.2 fantasy' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'condensed normal normal bolder calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_equals: expected "900 condensed 0px / normal monospace" but got "normal normal 900 condensed 0px/normal monospace"
</span><span class="lines">@@ -273,7 +273,7 @@
</span><span class="cx"> FAIL Property font value 'semi-expanded normal italic normal medium/normal "Non-Generic Example Family Name"' assert_true: 'semi-expanded normal italic normal medium/normal "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'expanded normal italic small-caps xx-large/1.2 serif' assert_true: 'expanded normal italic small-caps xx-large/1.2 serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'extra-expanded normal italic lighter larger/calc(120% + 1.2em) sans-serif' assert_true: 'extra-expanded normal italic lighter larger/calc(120% + 1.2em) sans-serif' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'ultra-expanded normal small-caps smaller cursive' assert_equals: expected "small-caps ultra-expanded 33.33333206176758px cursive" but got "normal small-caps normal ultra-expanded 33.33333206176758px/normal cursive"
</del><ins>+FAIL Property font value 'ultra-expanded normal small-caps smaller cursive' assert_equals: expected "small-caps ultra-expanded 33.333332px cursive" but got "normal small-caps normal ultra-expanded 33.333332px/normal cursive"
</ins><span class="cx"> FAIL Property font value 'ultra-condensed normal small-caps normal 10px/normal fantasy' assert_equals: expected "small-caps ultra-condensed 10px fantasy" but got "normal small-caps normal ultra-condensed 10px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'extra-condensed normal small-caps italic 20%/1.2 monospace' assert_true: 'extra-condensed normal small-caps italic 20%/1.2 monospace' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'condensed normal small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps 100 condensed 0px / normal Menu" but got "normal small-caps 100 condensed 0px/normal Menu"
</span><span class="lines">@@ -281,37 +281,37 @@
</span><span class="cx"> FAIL Property font value 'semi-expanded normal bold normal medium/normal serif' assert_equals: expected "700 semi-expanded 16px serif" but got "normal normal bold semi-expanded 16px/normal serif"
</span><span class="cx"> FAIL Property font value 'expanded normal bolder italic xx-large/1.2 sans-serif' assert_true: 'expanded normal bolder italic xx-large/1.2 sans-serif' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'extra-expanded normal lighter small-caps larger/calc(120% + 1.2em) cursive' assert_equals: expected "small-caps 700 extra-expanded 48px / normal cursive" but got "normal small-caps bold extra-expanded 48px/normal cursive"
</span><del>-FAIL Property font value 'ultra-expanded italic smaller fantasy' assert_equals: expected "italic ultra-expanded 33.33333206176758px fantasy" but got "italic normal normal ultra-expanded 33.33333206176758px/normal fantasy"
</del><ins>+FAIL Property font value 'ultra-expanded italic smaller fantasy' assert_equals: expected "italic ultra-expanded 33.333332px fantasy" but got "italic normal normal ultra-expanded 33.333332px/normal fantasy"
</ins><span class="cx"> FAIL Property font value 'ultra-condensed italic normal 10px/normal monospace' assert_equals: expected "italic ultra-condensed 10px monospace" but got "italic normal normal ultra-condensed 10px/normal monospace"
</span><del>-FAIL Property font value 'extra-condensed italic normal normal 20%/1.2 Menu' assert_equals: expected "italic extra-condensed 8px / 9.600000381469727px Menu" but got "italic normal normal extra-condensed 8px/9.600000381469727px Menu"
</del><ins>+FAIL Property font value 'extra-condensed italic normal normal 20%/1.2 Menu' assert_equals: expected "italic extra-condensed 8px / 9.6px Menu" but got "italic normal normal extra-condensed 8px/9.6px Menu"
</ins><span class="cx"> FAIL Property font value 'condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_true: 'condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'semi-condensed italic normal 100 xx-small serif' assert_equals: expected "italic 100 semi-condensed 9px serif" but got "italic normal 100 semi-condensed 9px/normal serif"
</span><span class="cx"> FAIL Property font value 'semi-expanded italic small-caps medium/normal sans-serif' assert_equals: expected "italic small-caps semi-expanded 16px sans-serif" but got "italic small-caps normal semi-expanded 16px/normal sans-serif"
</span><del>-FAIL Property font value 'expanded italic small-caps normal xx-large/1.2 cursive' assert_equals: expected "italic small-caps expanded 32px / 38.400001525878906px cursive" but got "italic small-caps normal expanded 32px/38.400001525878906px cursive"
</del><ins>+FAIL Property font value 'expanded italic small-caps normal xx-large/1.2 cursive' assert_equals: expected "italic small-caps expanded 32px / 38.400002px cursive" but got "italic small-caps normal expanded 32px/38.400002px cursive"
</ins><span class="cx"> FAIL Property font value 'extra-expanded italic small-caps 900 larger/calc(120% + 1.2em) fantasy' assert_equals: expected "italic small-caps 900 extra-expanded 48px / normal fantasy" but got "italic small-caps 900 extra-expanded 48px/normal fantasy"
</span><del>-FAIL Property font value 'ultra-expanded italic bold smaller monospace' assert_equals: expected "italic 700 ultra-expanded 33.33333206176758px monospace" but got "italic normal bold ultra-expanded 33.33333206176758px/normal monospace"
</del><ins>+FAIL Property font value 'ultra-expanded italic bold smaller monospace' assert_equals: expected "italic 700 ultra-expanded 33.333332px monospace" but got "italic normal bold ultra-expanded 33.333332px/normal monospace"
</ins><span class="cx"> FAIL Property font value 'ultra-condensed italic bolder normal 10px/normal Menu' assert_equals: expected "italic 900 ultra-condensed 10px Menu" but got "italic normal 900 ultra-condensed 10px/normal Menu"
</span><del>-FAIL Property font value 'extra-condensed italic lighter small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 700 extra-condensed 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps bold extra-condensed 8px/9.600000381469727px \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'extra-condensed italic lighter small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 700 extra-condensed 8px / 9.6px \"Non-Generic Example Family Name\"" but got "italic small-caps bold extra-condensed 8px/9.6px \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'condensed small-caps calc(30% - 40px)/calc(120% + 1.2em) serif' assert_equals: expected "small-caps condensed 0px / normal serif" but got "normal small-caps normal condensed 0px/normal serif"
</span><span class="cx"> FAIL Property font value 'semi-condensed small-caps normal xx-small sans-serif' assert_equals: expected "small-caps semi-condensed 9px sans-serif" but got "normal small-caps normal semi-condensed 9px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'semi-expanded small-caps normal normal medium/normal cursive' assert_equals: expected "small-caps semi-expanded 16px cursive" but got "normal small-caps normal semi-expanded 16px/normal cursive"
</span><span class="cx"> FAIL Property font value 'expanded small-caps normal italic xx-large/1.2 fantasy' assert_true: 'expanded small-caps normal italic xx-large/1.2 fantasy' is a supported value for font. expected true got false
</span><span class="cx"> FAIL Property font value 'extra-expanded small-caps normal 100 larger/calc(120% + 1.2em) monospace' assert_equals: expected "small-caps 100 extra-expanded 48px / normal monospace" but got "normal small-caps 100 extra-expanded 48px/normal monospace"
</span><del>-FAIL Property font value 'ultra-expanded small-caps italic smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px Menu" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal Menu"
</del><ins>+FAIL Property font value 'ultra-expanded small-caps italic smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.333332px Menu" but got "italic small-caps normal ultra-expanded 33.333332px/normal Menu"
</ins><span class="cx"> FAIL Property font value 'ultra-condensed small-caps italic normal 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps ultra-condensed 10px \"Non-Generic Example Family Name\"" but got "italic small-caps normal ultra-condensed 10px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'extra-condensed small-caps italic 900 20%/1.2 serif' assert_equals: expected "italic small-caps 900 extra-condensed 8px / 9.600000381469727px serif" but got "italic small-caps 900 extra-condensed 8px/9.600000381469727px serif"
</del><ins>+FAIL Property font value 'extra-condensed small-caps italic 900 20%/1.2 serif' assert_equals: expected "italic small-caps 900 extra-condensed 8px / 9.6px serif" but got "italic small-caps 900 extra-condensed 8px/9.6px serif"
</ins><span class="cx"> FAIL Property font value 'condensed small-caps bold calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 700 condensed 0px / normal sans-serif" but got "normal small-caps bold condensed 0px/normal sans-serif"
</span><span class="cx"> FAIL Property font value 'semi-condensed small-caps bolder normal xx-small cursive' assert_equals: expected "small-caps 900 semi-condensed 9px cursive" but got "normal small-caps 900 semi-condensed 9px/normal cursive"
</span><span class="cx"> FAIL Property font value 'semi-expanded small-caps lighter italic medium/normal fantasy' assert_equals: expected "italic small-caps 700 semi-expanded 16px fantasy" but got "italic small-caps bold semi-expanded 16px/normal fantasy"
</span><del>-FAIL Property font value 'expanded 100 xx-large/1.2 monospace' assert_equals: expected "100 expanded 26px / 31.200000762939453px monospace" but got "normal normal 100 expanded 26px/31.200000762939453px monospace"
</del><ins>+FAIL Property font value 'expanded 100 xx-large/1.2 monospace' assert_equals: expected "100 expanded 26px / 31.200001px monospace" but got "normal normal 100 expanded 26px/31.200001px monospace"
</ins><span class="cx"> FAIL Property font value 'extra-expanded 900 normal larger/calc(120% + 1.2em) Menu' assert_equals: expected "900 extra-expanded 48px / normal Menu" but got "normal normal 900 extra-expanded 48px/normal Menu"
</span><del>-FAIL Property font value 'ultra-expanded bold normal normal smaller "Non-Generic Example Family Name"' assert_equals: expected "700 ultra-expanded 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal normal bold ultra-expanded 33.33333206176758px/normal \"Non-Generic Example Family Name\""
</del><ins>+FAIL Property font value 'ultra-expanded bold normal normal smaller "Non-Generic Example Family Name"' assert_equals: expected "700 ultra-expanded 33.333332px \"Non-Generic Example Family Name\"" but got "normal normal bold ultra-expanded 33.333332px/normal \"Non-Generic Example Family Name\""
</ins><span class="cx"> FAIL Property font value 'ultra-condensed bolder normal italic 10px/normal serif' assert_true: 'ultra-condensed bolder normal italic 10px/normal serif' is a supported value for font. expected true got false
</span><del>-FAIL Property font value 'extra-condensed lighter normal small-caps 20%/1.2 sans-serif' assert_equals: expected "small-caps 700 extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal small-caps bold extra-condensed 8px/9.600000381469727px sans-serif"
</del><ins>+FAIL Property font value 'extra-condensed lighter normal small-caps 20%/1.2 sans-serif' assert_equals: expected "small-caps 700 extra-condensed 8px / 9.6px sans-serif" but got "normal small-caps bold extra-condensed 8px/9.6px sans-serif"
</ins><span class="cx"> FAIL Property font value 'condensed 100 italic calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "italic 100 condensed 0px / normal cursive" but got "italic normal 100 condensed 0px/normal cursive"
</span><span class="cx"> FAIL Property font value 'semi-condensed 900 italic normal xx-small fantasy' assert_equals: expected "italic 900 semi-condensed 9px fantasy" but got "italic normal 900 semi-condensed 9px/normal fantasy"
</span><span class="cx"> FAIL Property font value 'semi-expanded bold italic small-caps medium/normal monospace' assert_equals: expected "italic small-caps 700 semi-expanded 13px monospace" but got "italic small-caps bold semi-expanded 13px/normal monospace"
</span><del>-FAIL Property font value 'expanded bolder small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px Menu" but got "normal small-caps 900 expanded 32px/38.400001525878906px Menu"
</del><ins>+FAIL Property font value 'expanded bolder small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400002px Menu" but got "normal small-caps 900 expanded 32px/38.400002px Menu"
</ins><span class="cx"> FAIL Property font value 'extra-expanded lighter small-caps normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps 700 extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps bold extra-expanded 48px/normal \"Non-Generic Example Family Name\""
</span><del>-FAIL Property font value 'ultra-expanded 100 small-caps italic smaller serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.33333206176758px serif" but got "italic small-caps 100 ultra-expanded 33.33333206176758px/normal serif"
</del><ins>+FAIL Property font value 'ultra-expanded 100 small-caps italic smaller serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.333332px serif" but got "italic small-caps 100 ultra-expanded 33.333332px/normal serif"
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssfontsvariationsatfontfacedescriptorsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -14,9 +14,9 @@
</span><span class="cx"> PASS font-weight(invalid): Values above maximum should be rejected: 1000.001
</span><span class="cx"> PASS font-weight(invalid): Extra content after value: 100 a
</span><span class="cx"> PASS font-weight(valid): Simple calc value: calc(100.5)
</span><del>-FAIL font-weight(valid): Out-of-range simple calc value (should be clamped): calc(1001) assert_equals: Unexpected resulting value. expected "calc(1001)" but got "999.9999999999999"
</del><ins>+FAIL font-weight(valid): Out-of-range simple calc value (should be clamped): calc(1001) assert_equals: Unexpected resulting value. expected "calc(1001)" but got "1000"
</ins><span class="cx"> PASS font-weight(valid): Valid calc expression: calc(100.5*3 + 50.5)
</span><del>-FAIL font-weight(valid): Valid calc expression with out-of-range value (should be clamped): calc(100.5*3 + 800) assert_equals: Unexpected resulting value. expected "calc(100.5*3 + 800)" but got "999.9999999999999"
</del><ins>+FAIL font-weight(valid): Valid calc expression with out-of-range value (should be clamped): calc(100.5*3 + 800) assert_equals: Unexpected resulting value. expected "calc(100.5*3 + 800)" but got "1000"
</ins><span class="cx"> PASS font-weight(invalid): Valid calc expression with units: calc(100.5px + 50.5px)
</span><span class="cx"> PASS font-weight(valid): Simple range: 100 900
</span><span class="cx"> FAIL font-weight(valid): Simple range with equal upper and lower bounds: 500 500 assert_equals: Unexpected resulting value. expected "500" but got "500 500"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssmaskingclippathinterpolationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Test circle with negative easing on clip-path assert_equals: The radius of circle is clamped to zero at 61% expected "circle(0px at 50% 50%)" but got "circle(-0.07151274383068085px at 50% 50%)"
-FAIL Test ellipse with negative easing on clip-path assert_equals: The radius of ellipse is clamped to zero at 61% expected "ellipse(0px 0px at 50% 50%)" but got "ellipse(-0.07151274383068085px -0.07151274383068085px at 50% 50%)"
</del><ins>+FAIL Test circle with negative easing on clip-path assert_equals: The radius of circle is clamped to zero at 61% expected "circle(0px at 50% 50%)" but got "circle(-0.071513px at 50% 50%)"
+FAIL Test ellipse with negative easing on clip-path assert_equals: The radius of ellipse is clamped to zero at 61% expected "ellipse(0px 0px at 50% 50%)" but got "ellipse(-0.071513px -0.071513px at 50% 50%)"
</ins><span class="cx"> PASS Test inset with negative easing on clip-path
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssshapesbasicshapeinterpolationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Test circle with negative easing on shape-outside assert_equals: The radius of circle is clamped to zero at 61% expected "circle(0px at 50% 50%)" but got "circle(-0.07151274383068085px at 50% 50%)"
-FAIL Test ellipse with negative easing on shape-outside assert_equals: The radius of ellipse is clamped to zero at 61% expected "ellipse(0px 0px at 50% 50%)" but got "ellipse(-0.07151274383068085px -0.07151274383068085px at 50% 50%)"
</del><ins>+FAIL Test circle with negative easing on shape-outside assert_equals: The radius of circle is clamped to zero at 61% expected "circle(0px at 50% 50%)" but got "circle(-0.071513px at 50% 50%)"
+FAIL Test ellipse with negative easing on shape-outside assert_equals: The radius of ellipse is clamped to zero at 61% expected "ellipse(0px 0px at 50% 50%)" but got "ellipse(-0.071513px -0.071513px at 50% 50%)"
</ins><span class="cx"> PASS Test inset with negative easing on shape-outside
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsstransforms2drotatejsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/2d-rotate-js-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> Rotate via JS
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-FAIL JS test: Rotate via javascript must show the correct computed rotation assert_equals: expected "matrix(0.866025, 0.5, -0.5, 0.866025, 0, 0)" but got "matrix(0.8660254037844387, 0.49999999999999994, -0.49999999999999994, 0.8660254037844387, 0, 0)"
</del><ins>+PASS JS test: Rotate via javascript must show the correct computed rotation
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsstransformsanimationtransforminterpolationinlinevalueexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -12,11 +12,11 @@
</span><span class="cx"> FAIL Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate3d(0px, 0px, 0px)" but got "matrix(1, 0, 0, 1, 0, 0)"
</span><span class="cx"> FAIL Interpolation between translate(50px, 0px) and translate(100px, 0px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate(75px)" but got "matrix(1, 0, 0, 1, 75, 0)"
</span><span class="cx"> FAIL Interpolation between translate(50px, -50px) and translate(100px, 50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate(75px)" but got "matrix(1, 0, 0, 1, 75, 0)"
</span><del>-FAIL Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate(60deg)" but got "matrix(0.5000000000000001, 0.8660254037844386, -0.8660254037844386, 0.5000000000000001, 0, 0)"
-FAIL Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateZ(60deg)" but got "matrix(0.5000000000000001, 0.8660254037844386, -0.8660254037844386, 0.5000000000000001, 0, 0)"
-FAIL Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(0, 0, 1, 45deg)" but got "matrix(0.7071067811865476, 0.7071067811865475, -0.7071067811865475, 0.7071067811865476, 0, 0)"
-FAIL Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateX(45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.7071067811865476, 0.7071067811865475, 0, 0, -0.7071067811865475, 0.7071067811865476, 0, 0, 0, 0, 1)"
-FAIL Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(1, 0, 0, 45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.5000000000000002, 0.4999999999999999, 0, 0, -0.4999999999999999, 0.5000000000000002, 0, 0, 0, 0, 1)"
</del><ins>+FAIL Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate(60deg)" but got "matrix(0.5, 0.866025, -0.866025, 0.5, 0, 0)"
+FAIL Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateZ(60deg)" but got "matrix(0.5, 0.866025, -0.866025, 0.5, 0, 0)"
+FAIL Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(0, 0, 1, 45deg)" but got "matrix(0.707107, 0.707107, -0.707107, 0.707107, 0, 0)"
+FAIL Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateX(45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.707107, 0.707107, 0, 0, -0.707107, 0.707107, 0, 0, 0, 0, 1)"
+FAIL Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(1, 0, 0, 45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.5, 0.5, 0, 0, -0.5, 0.5, 0, 0, 0, 0, 1)"
</ins><span class="cx"> FAIL Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale(1.5)" but got "matrix(1.5, 0, 0, 1.5, 0, 0)"
</span><span class="cx"> FAIL Interpolation between scale(1, 3) and scale(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale(1.5, 2.5)" but got "matrix(1.5, 0, 0, 2.5, 0, 0)"
</span><span class="cx"> FAIL Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scaleX(1.5)" but got "matrix(1.5, 0, 0, 1, 0, 0)"
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx"> FAIL Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2.5, 3.5, 4.5)" but got "matrix3d(2.5, 0, 0, 0, 0, 3.5, 0, 0, 0, 0, 4.5, 0, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2.5, 3.5, 2)" but got "matrix3d(2.5, 0, 0, 0, 0, 3.5, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2, 3, 3)" but got "matrix3d(2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1)"
</span><del>-FAIL Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(30deg)" but got "matrix(1, 0, 0.5773502691896256, 1, 0, 0)"
-FAIL Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(45deg)" but got "matrix(1, 0, 0.9999999999999999, 1, 0, 0)"
</del><ins>+FAIL Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(30deg)" but got "matrix(1, 0, 0.57735, 1, 0, 0)"
+FAIL Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(45deg)" but got "matrix(1, 0, 1, 1, 0, 0)"
</ins><span class="cx"> FAIL Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(90deg)" but got "matrix(1, 0, 16331239353195370, 1, 0, 0)"
</span><del>-FAIL Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(30deg, 30deg)" but got "matrix(1, 0.5773502691896256, 0.5773502691896256, 1, 0, 0)"
-FAIL Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(22.5deg, 22.5deg)" but got "matrix(1, 0.4142135623730951, 0.4142135623730951, 1, 0, 0)"
</del><ins>+FAIL Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(30deg, 30deg)" but got "matrix(1, 0.57735, 0.57735, 1, 0, 0)"
+FAIL Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(22.5deg, 22.5deg)" but got "matrix(1, 0.414214, 0.414214, 1, 0, 0)"
</ins><span class="cx"> FAIL Interpolation between perspective(10px) and perspective(2.5px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(4px)" but got "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.25, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between perspective(10px) and perspective(none) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(20px)" but got "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.05, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between perspective(none) and perspective(none) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(none)" but got "matrix(1, 0, 0, 1, 0, 0)"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsstransformsanimationtransformmatrixcompositionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 1, 0, 0, 0, 100)] from add [matrix(1, 0, 0, 1, 100, 0)] to add [matrix(1, 0, 0, 1, 200, 0)] at (1.5) should be [matrix(1, 1, 0, 0, 200, 300)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 200 , 300 ) " but got "matrix ( 1 , 1 , 0 , 0 , 300 , 300 ) "
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (-0.5) should be [matrix(1, 1, 0, 0, 100, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 100 , 100 ) " but got "matrix ( 1.28 , 0.84 , - 0.03 , 0.3 , 187.5 , - 37.5 ) "
</span><span class="cx"> PASS Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0) should be [matrix(1, 1, 0, 0, 100, 100)]
</span><del>-FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0.25) should be [matrix(1, 1, 0, 0, 100, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 100 , 100 ) " but got "matrix ( 0.95 , 0.86 , - 0.01 , 0.08 , 159.38 , 65.62 ) "
</del><ins>+FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0.25) should be [matrix(1, 1, 0, 0, 100, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 100 , 100 ) " but got "matrix ( 0.95 , 0.86 , - 0.01 , 0.08 , 159.38 , 65.63 ) "
</ins><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0.5) should be [matrix(1, 0, 0, 1, 300, 0)] assert_equals: expected "matrix ( 1 , 0 , 0 , 1 , 300 , 0 ) " but got "matrix ( 0.95 , 0.63 , - 0.03 , 0.3 , 187.5 , 62.5 ) "
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0.75) should be [matrix(1, 0, 0, 1, 300, 0)] assert_equals: expected "matrix ( 1 , 0 , 0 , 1 , 300 , 0 ) " but got "matrix ( 0.97 , 0.32 , - 0.04 , 0.63 , 234.38 , 40.63 ) "
</span><span class="cx"> PASS Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from add [matrix(1, 1, 0, 0, 0, 100)] to add [matrix(1, 0, 0, 1, 200, 0)] at (1) should be [matrix(1, 0, 0, 1, 300, 0)]
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> PASS Compositing: property <transform> underlying [matrix(1, 1, 0, 0, 0, 100)] from accumulate [matrix(1, 0, 0, 1, 100, 0)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (1.5) should be [matrix(1, 0, 0, 1, 250, 0)]
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (-0.5) should be [matrix(1, 1, 0, 0, 0, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 0 , 100 ) " but got "matrix ( 1.28 , 0.84 , - 0.03 , 0.3 , 87.5 , - 37.5 ) "
</span><span class="cx"> PASS Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (0) should be [matrix(1, 1, 0, 0, 0, 100)]
</span><del>-FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (0.25) should be [matrix(1, 1, 0, 0, 0, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 0 , 100 ) " but got "matrix ( 0.95 , 0.86 , - 0.01 , 0.08 , 59.37 , 65.62 ) "
</del><ins>+FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (0.25) should be [matrix(1, 1, 0, 0, 0, 100)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 0 , 100 ) " but got "matrix ( 0.95 , 0.86 , - 0.01 , 0.08 , 59.38 , 65.63 ) "
</ins><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (0.5) should be [matrix(1, 0, 0, 1, 300, 0)] assert_equals: expected "matrix ( 1 , 0 , 0 , 1 , 300 , 0 ) " but got "matrix ( 0.95 , 0.63 , - 0.03 , 0.3 , 87.5 , 62.5 ) "
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (0.75) should be [matrix(1, 0, 0, 1, 300, 0)] assert_equals: expected "matrix ( 1 , 0 , 0 , 1 , 300 , 0 ) " but got "matrix ( 0.97 , 0.32 , - 0.04 , 0.63 , 134.38 , 40.63 ) "
</span><span class="cx"> FAIL Compositing: property <transform> underlying [matrix(1, 0, 0, 1, 100, 0)] from accumulate [matrix(1, 1, 0, 0, 0, 100)] to accumulate [matrix(1, 0, 0, 1, 200, 0)] at (1) should be [matrix(1, 0, 0, 1, 300, 0)] assert_equals: expected "matrix ( 1 , 0 , 0 , 1 , 300 , 0 ) " but got "matrix ( 1 , 0 , 0 , 1 , 200 , 0 ) "
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesacosasinatanatan2serializeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-serialize-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,12 +1,12 @@
</span><span class="cx"> 
</span><span class="cx"> FAIL 'rotate(acos(0))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(acos(0))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(acos(0))"
</span><del>-PASS 'rotate(acos(0))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(acos(0))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(asin(1))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(asin(1))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(asin(1))"
</span><del>-PASS 'rotate(asin(1))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(asin(1))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(acos(pi - pi)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(acos(pi - pi)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(acos(pi - pi)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(asin(pi - pi + 1)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(asin(pi - pi + 1)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(asin(pi - pi + 1)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(atan(infinity)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(atan(infinity)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(atan(infinity)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluescalcnumbersexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-numbers-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-numbers-expected.txt       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-numbers-expected.txt  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> PASS testing tab-size: calc(2 * -4)
</span><span class="cx"> PASS testing opacity: calc(2 / 4)
</span><span class="cx"> PASS testing tab-size: calc(2 / 4)
</span><del>-FAIL testing opacity: calc(2 / 4) * 1px assert_equals: calc(2 / 4) * 1px should compute to 0.9 expected "0.9" but got "0.8999999761581421"
</del><ins>+PASS testing opacity: calc(2 / 4) * 1px
</ins><span class="cx"> PASS testing tab-size: calc(1 + 1px)
</span><span class="cx"> PASS testing tab-size: calc(1 + 100%)
</span><span class="cx"> PASS testing tab-size: calc(100%)
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvalueshypotpowsqrtinvalidexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx"> PASS e.style['opacity'] = "hypot(1 / )" should not set the property value
</span><span class="cx"> PASS e.style['opacity'] = "hypot(1 2)" should not set the property value
</span><span class="cx"> PASS e.style['opacity'] = "hypot(1, , 2)" should not set the property value
</span><del>-FAIL e.style['opacity'] = "hypot(1, 2)" should not set the property value assert_equals: expected "" but got "hypot(2.23606797749979)"
</del><ins>+FAIL e.style['opacity'] = "hypot(1, 2)" should not set the property value assert_equals: expected "" but got "hypot(2.236068)"
</ins><span class="cx"> PASS e.style['opacity'] = "sqrt()" should not set the property value
</span><span class="cx"> PASS e.style['opacity'] = "sqrt( )" should not set the property value
</span><span class="cx"> PASS e.style['opacity'] = "sqrt(,)" should not set the property value
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxangleserializeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,40 +1,40 @@
</span><span class="cx"> 
</span><span class="cx"> FAIL 'rotate(min(90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(.25turn))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(100grad))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(100grad))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(100grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(100grad))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(.25turn))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(100grad))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(100grad))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(100grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(100grad))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(90deg, 92deg, 93deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg, 92deg, 93deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(90deg, 92deg, 93deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(90deg, 92deg, 93deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(93deg, 92deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(93deg, 92deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(93deg, 92deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(93deg, 92deg, 90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(90deg, 1.58rad, 0.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg, 1.58rad, 0.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(90deg, 1.58rad, 0.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(90deg, 1.58rad, 0.25turn))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(min(0.25turn, 1.58rad, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(0.25turn, 1.58rad, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
</span><del>-PASS 'rotate(min(0.25turn, 1.58rad, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(min(0.25turn, 1.58rad, 90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(81deg, 82deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(81deg, 82deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(81deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(81deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(83deg, 82deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(83deg, 82deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(83deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(83deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(90deg, 1.57rad, 0.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(90deg, 1.57rad, 0.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(90deg, 1.57rad, 0.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(90deg, 1.57rad, 0.25turn))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> FAIL 'rotate(max(0.25turn, 1.57rad, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(0.25turn, 1.57rad, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
</span><del>-PASS 'rotate(max(0.25turn, 1.57rad, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(max(0.25turn, 1.57rad, 90deg))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(min(30deg) + max(60deg)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(min(30deg) + max(60deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(min(30deg) + max(60deg)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(50grad + min(45deg)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(50grad + min(45deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(50grad + min(45deg)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(min(45deg) + 50grad))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(min(45deg) + 50grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(min(45deg) + 50grad))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(50grad + max(45deg)))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(50grad + max(45deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(50grad + max(45deg)))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> PASS 'rotate(calc(max(45deg) + 50grad))' as a specified value should serialize as 'rotate(calc(90deg))'.
</span><del>-PASS 'rotate(calc(max(45deg) + 50grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'.
</del><ins>+PASS 'rotate(calc(max(45deg) + 50grad))' as a computed value should serialize as 'matrix(0, 1, -1, 0, 0, 0)'.
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxnumbercomputedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -3,12 +3,12 @@
</span><span class="cx"> PASS max(1) should be used-value-equivalent to 1
</span><span class="cx"> PASS min(0.2, max(0.1, 0.15)) should be used-value-equivalent to 0.15
</span><span class="cx"> PASS max(0.1, min(0.2, 0.15)) should be used-value-equivalent to 0.15
</span><del>-FAIL calc(min(0.1, 0.2) + 0.05) should be used-value-equivalent to 0.15 assert_equals: calc(min(0.1, 0.2) + 0.05) and 0.15 serialize to the same thing in used values. expected "matrix(0.15, 0, 0, 0.15, 0, 0)" but got "matrix(0.15000000000000002, 0, 0, 0.15000000000000002, 0, 0)"
</del><ins>+PASS calc(min(0.1, 0.2) + 0.05) should be used-value-equivalent to 0.15
</ins><span class="cx"> PASS calc(min(0.1, 0.2) - 0.05) should be used-value-equivalent to 0.05
</span><span class="cx"> PASS calc(min(0.1, 0.2) * 2) should be used-value-equivalent to 0.2
</span><span class="cx"> PASS calc(min(0.1, 0.2) / 2) should be used-value-equivalent to 0.05
</span><span class="cx"> PASS calc(max(0.1, 0.2) + 0.05) should be used-value-equivalent to 0.25
</span><del>-FAIL calc(max(0.1, 0.2) - 0.05) should be used-value-equivalent to 0.15 assert_equals: calc(max(0.1, 0.2) - 0.05) and 0.15 serialize to the same thing in used values. expected "matrix(0.15, 0, 0, 0.15, 0, 0)" but got "matrix(0.15000000000000002, 0, 0, 0.15000000000000002, 0, 0)"
</del><ins>+PASS calc(max(0.1, 0.2) - 0.05) should be used-value-equivalent to 0.15
</ins><span class="cx"> PASS calc(max(0.1, 0.2) * 2) should be used-value-equivalent to 0.4
</span><span class="cx"> PASS calc(max(0.1, 0.2) / 2) should be used-value-equivalent to 0.1
</span><span class="cx"> PASS calc(min(0.1, 0.2) + max(0.1, 0.05)) should be used-value-equivalent to 0.2
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvaluesminmaxnumberserializeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,42 +1,42 @@
</span><span class="cx"> 
</span><span class="cx"> FAIL 'min(.1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
</span><span class="cx"> FAIL 'scale(min(.1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
</span><del>-FAIL 'min(.1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
</del><ins>+PASS 'min(.1)' as a computed value should serialize as '0.1'.
</ins><span class="cx"> PASS 'scale(min(.1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'.
</span><span class="cx"> FAIL 'max(.1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'max(.1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "max(0.1)"
</span><span class="cx"> FAIL 'scale(max(.1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(max(.1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(max(0.1))"
</span><del>-FAIL 'max(.1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
</del><ins>+PASS 'max(.1)' as a computed value should serialize as '0.1'.
</ins><span class="cx"> PASS 'scale(max(.1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'.
</span><span class="cx"> FAIL 'min(.1, .2, .3)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.1, .2, .3)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
</span><span class="cx"> FAIL 'scale(min(.1, .2, .3))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.1, .2, .3))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
</span><del>-FAIL 'min(.1, .2, .3)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
</del><ins>+PASS 'min(.1, .2, .3)' as a computed value should serialize as '0.1'.
</ins><span class="cx"> PASS 'scale(min(.1, .2, .3))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'.
</span><span class="cx"> FAIL 'max(.1, .2, .3)' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'max(.1, .2, .3)' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "max(0.3)"
</span><span class="cx"> FAIL 'scale(max(.1, .2, .3))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(max(.1, .2, .3))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(max(0.3))"
</span><del>-FAIL 'max(.1, .2, .3)' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
</del><ins>+PASS 'max(.1, .2, .3)' as a computed value should serialize as '0.3'.
</ins><span class="cx"> PASS 'scale(max(.1, .2, .3))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'.
</span><span class="cx"> FAIL 'min(.3, .2, .1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.3, .2, .1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
</span><span class="cx"> FAIL 'scale(min(.3, .2, .1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.3, .2, .1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
</span><del>-FAIL 'min(.3, .2, .1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
</del><ins>+PASS 'min(.3, .2, .1)' as a computed value should serialize as '0.1'.
</ins><span class="cx"> PASS 'scale(min(.3, .2, .1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'.
</span><span class="cx"> FAIL 'max(.3, .2, .1)' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'max(.3, .2, .1)' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "max(0.3)"
</span><span class="cx"> FAIL 'scale(max(.3, .2, .1))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(max(.3, .2, .1))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(max(0.3))"
</span><del>-FAIL 'max(.3, .2, .1)' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
</del><ins>+PASS 'max(.3, .2, .1)' as a computed value should serialize as '0.3'.
</ins><span class="cx"> PASS 'scale(max(.3, .2, .1))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'.
</span><del>-FAIL 'calc(min(.1) + min(.2))' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'calc(min(.1) + min(.2))' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "calc(0.30000000000000004)"
-FAIL 'scale(calc(min(.1) + min(.2)))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(calc(min(.1) + min(.2)))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(calc(0.30000000000000004))"
-FAIL 'calc(min(.1) + min(.2))' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
-FAIL 'scale(calc(min(.1) + min(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. assert_equals: 'scale(calc(min(.1) + min(.2)))' and 'matrix(0.3, 0, 0, 0.3, 0, 0)' should serialize the same in computed values. expected "matrix(0.3, 0, 0, 0.3, 0, 0)" but got "matrix(0.30000000000000004, 0, 0, 0.30000000000000004, 0, 0)"
-FAIL 'calc(max(.1) + max(.2))' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'calc(max(.1) + max(.2))' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "calc(0.30000000000000004)"
-FAIL 'scale(calc(max(.1) + max(.2)))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(calc(max(.1) + max(.2)))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(calc(0.30000000000000004))"
-FAIL 'calc(max(.1) + max(.2))' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
-FAIL 'scale(calc(max(.1) + max(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. assert_equals: 'scale(calc(max(.1) + max(.2)))' and 'matrix(0.3, 0, 0, 0.3, 0, 0)' should serialize the same in computed values. expected "matrix(0.3, 0, 0, 0.3, 0, 0)" but got "matrix(0.30000000000000004, 0, 0, 0.30000000000000004, 0, 0)"
</del><ins>+PASS 'calc(min(.1) + min(.2))' as a specified value should serialize as 'calc(0.3)'.
+PASS 'scale(calc(min(.1) + min(.2)))' as a specified value should serialize as 'scale(calc(0.3))'.
+PASS 'calc(min(.1) + min(.2))' as a computed value should serialize as '0.3'.
+PASS 'scale(calc(min(.1) + min(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'.
+PASS 'calc(max(.1) + max(.2))' as a specified value should serialize as 'calc(0.3)'.
+PASS 'scale(calc(max(.1) + max(.2)))' as a specified value should serialize as 'scale(calc(0.3))'.
+PASS 'calc(max(.1) + max(.2))' as a computed value should serialize as '0.3'.
+PASS 'scale(calc(max(.1) + max(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'.
</ins><span class="cx"> PASS 'calc(.1 + min(.1))' as a specified value should serialize as 'calc(0.2)'.
</span><span class="cx"> PASS 'scale(calc(.1 + min(.1)))' as a specified value should serialize as 'scale(calc(0.2))'.
</span><del>-FAIL 'calc(.1 + min(.1))' as a computed value should serialize as '0.2'. assert_equals: '0.2' should round-trip exactly in computed values. expected "0.2" but got "0.20000000298023224"
</del><ins>+PASS 'calc(.1 + min(.1))' as a computed value should serialize as '0.2'.
</ins><span class="cx"> PASS 'scale(calc(.1 + min(.1)))' as a computed value should serialize as 'matrix(0.2, 0, 0, 0.2, 0, 0)'.
</span><span class="cx"> PASS 'calc(max(.1) + .1)' as a specified value should serialize as 'calc(0.2)'.
</span><span class="cx"> PASS 'scale(calc(max(.1) + .1))' as a specified value should serialize as 'scale(calc(0.2))'.
</span><del>-FAIL 'calc(max(.1) + .1)' as a computed value should serialize as '0.2'. assert_equals: '0.2' should round-trip exactly in computed values. expected "0.2" but got "0.20000000298023224"
</del><ins>+PASS 'calc(max(.1) + .1)' as a computed value should serialize as '0.2'.
</ins><span class="cx"> PASS 'scale(calc(max(.1) + .1))' as a computed value should serialize as 'matrix(0.2, 0, 0, 0.2, 0, 0)'.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssvariablesvariablepresentationattributeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-presentation-attribute-expected.txt    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -13,11 +13,11 @@
</span><span class="cx"> FAIL Testing 'display'. assert_equals: Value Test. expected "block" but got "inline"
</span><span class="cx"> FAIL Testing 'dominant-baseline'. assert_equals: Value Test. expected "use-script" but got "auto"
</span><span class="cx"> FAIL Testing 'fill'. assert_equals: Default value. expected "black" but got "rgb(0, 0, 0)"
</span><del>-FAIL Testing 'fill-opacity'. assert_equals: Value Test. expected "0.8" but got "0.800000011920929"
</del><ins>+PASS Testing 'fill-opacity'.
</ins><span class="cx"> PASS Testing 'fill-rule'.
</span><span class="cx"> PASS Testing 'filter'.
</span><span class="cx"> FAIL Testing 'flood-color'. assert_equals: Default value. expected "" but got "rgb(0, 0, 0)"
</span><del>-FAIL Testing 'flood-opacity'. assert_equals: Value Test. expected "0.7" but got "0.699999988079071"
</del><ins>+PASS Testing 'flood-opacity'.
</ins><span class="cx"> FAIL Testing 'font-family'. assert_equals: Default value. expected "Times New Roman" but got "-webkit-standard"
</span><span class="cx"> PASS Testing 'font-size'.
</span><span class="cx"> FAIL Testing 'font-size-adjust'. assert_equals: Default value. expected "none" but got ""
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx"> FAIL Testing 'kerning'. assert_equals: Default value. expected "auto" but got "0"
</span><span class="cx"> PASS Testing 'letter-spacing'.
</span><span class="cx"> FAIL Testing 'lighting-color'. assert_equals: Default value. expected "" but got "rgb(255, 255, 255)"
</span><del>-FAIL Testing 'opacity'. assert_equals: Value Test. expected "0.11" but got "0.10999999940395355"
</del><ins>+PASS Testing 'opacity'.
</ins><span class="cx"> FAIL Testing 'overflow'. assert_equals: Value Test. expected "hidden" but got "visible"
</span><span class="cx"> FAIL Testing 'pointer-events'. assert_equals: Default value. expected "visiblePainted" but got "auto"
</span><span class="cx"> FAIL Testing 'stop-color'. assert_equals: Default value. expected "" but got "rgb(0, 0, 0)"
</span><del>-FAIL Testing 'stop-opacity'. assert_equals: Value Test. expected "0.225" but got "0.22499999403953552"
</del><ins>+PASS Testing 'stop-opacity'.
</ins><span class="cx"> FAIL Testing 'stroke'. assert_equals: Default value. expected "" but got "none"
</span><span class="cx"> PASS Testing 'stroke-dasharray'.
</span><span class="cx"> PASS Testing 'stroke-dashoffset'.
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> PASS Testing 'stroke-linecap'.
</span><span class="cx"> PASS Testing 'stroke-linejoin'.
</span><span class="cx"> PASS Testing 'stroke-miterlimit'.
</span><del>-FAIL Testing 'stroke-opacity'. assert_equals: Value Test. expected "0.221" but got "0.22100000083446503"
</del><ins>+PASS Testing 'stroke-opacity'.
</ins><span class="cx"> PASS Testing 'stroke-width'.
</span><span class="cx"> PASS Testing 'text-anchor'.
</span><span class="cx"> FAIL Testing 'text-decoration'. assert_equals: Value Test. expected "underline" but got "none"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssomgetComputedStylelineheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -2,5 +2,5 @@
</span><span class="cx"> PASS line-height: normal
</span><span class="cx"> PASS line-height: 1
</span><span class="cx"> PASS line-height: 10px
</span><del>-FAIL line-height: 10% assert_equals: 10% should compute to 1.6px expected "1.6px" but got "1.600000023841858px"
</del><ins>+PASS line-height: 10%
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssmotionanimationoffsetrotateinterpolationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -303,10 +303,10 @@
</span><span class="cx"> PASS Web Animations: property <offset-rotate> from [10deg] to [50deg] at (0.6) should be [34deg]
</span><span class="cx"> PASS Web Animations: property <offset-rotate> from [10deg] to [50deg] at (1) should be [50deg]
</span><span class="cx"> PASS Web Animations: property <offset-rotate> from [10deg] to [50deg] at (1.5) should be [70deg]
</span><del>-PASS CSS Transitions: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg]
-PASS CSS Transitions with transition: all: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg]
-PASS CSS Animations: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg]
-PASS Web Animations: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg]
</del><ins>+FAIL CSS Transitions: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg] assert_equals: expected "- 340282001837565597733306976381245063168deg " but got "- 340282346638528859811704183484516925440deg "
+FAIL CSS Transitions with transition: all: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg] assert_equals: expected "- 340282001837565597733306976381245063168deg " but got "- 340282346638528859811704183484516925440deg "
+FAIL CSS Animations: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg] assert_equals: expected "- 340282001837565597733306976381245063168deg " but got "- 340282346638528859811704183484516925440deg "
+FAIL Web Animations: property <offset-rotate> from [800deg] to [900deg] at (-3.40282e+38) should be [-3.40282e+38deg] assert_equals: expected "- 340282001837565597733306976381245063168deg " but got "- 340282346638528859811704183484516925440deg "
</ins><span class="cx"> PASS CSS Transitions: property <offset-rotate> from [auto 10deg] to [auto 50deg] at (-0.3) should be [auto -2deg]
</span><span class="cx"> PASS CSS Transitions: property <offset-rotate> from [auto 10deg] to [auto 50deg] at (0) should be [auto 10deg]
</span><span class="cx"> PASS CSS Transitions: property <offset-rotate> from [auto 10deg] to [auto 50deg] at (0.3) should be [auto 22deg]
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlrenderingdimensionattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/dimension-attributes-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/dimension-attributes-expected.txt       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/dimension-attributes-expected.txt  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> PASS <hr width="1007"> mapping to width
</span><span class="cx"> PASS <hr width="   00523   "> mapping to width
</span><span class="cx"> PASS <hr width="200.25"> mapping to width
</span><del>-FAIL <hr width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <hr width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <hr width="200."> mapping to width
</span><span class="cx"> PASS <hr width="200in"> mapping to width
</span><span class="cx"> PASS <hr width="200.25in"> mapping to width
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> PASS <iframe width="1007"> mapping to width
</span><span class="cx"> PASS <iframe width="   00523   "> mapping to width
</span><span class="cx"> PASS <iframe width="200.25"> mapping to width
</span><del>-FAIL <iframe width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <iframe width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <iframe width="200."> mapping to width
</span><span class="cx"> PASS <iframe width="200in"> mapping to width
</span><span class="cx"> PASS <iframe width="200.25in"> mapping to width
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> PASS <iframe height="1007"> mapping to height
</span><span class="cx"> PASS <iframe height="   00523   "> mapping to height
</span><span class="cx"> PASS <iframe height="200.25"> mapping to height
</span><del>-FAIL <iframe height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <iframe height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <iframe height="200."> mapping to height
</span><span class="cx"> PASS <iframe height="200in"> mapping to height
</span><span class="cx"> PASS <iframe height="200.25in"> mapping to height
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> PASS <input width="1007"> mapping to width
</span><span class="cx"> PASS <input width="   00523   "> mapping to width
</span><span class="cx"> PASS <input width="200.25"> mapping to width
</span><del>-FAIL <input width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input width="200."> mapping to width
</span><span class="cx"> PASS <input width="200in"> mapping to width
</span><span class="cx"> PASS <input width="200.25in"> mapping to width
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> PASS <input height="1007"> mapping to height
</span><span class="cx"> PASS <input height="   00523   "> mapping to height
</span><span class="cx"> PASS <input height="200.25"> mapping to height
</span><del>-FAIL <input height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input height="200."> mapping to height
</span><span class="cx"> PASS <input height="200in"> mapping to height
</span><span class="cx"> PASS <input height="200.25in"> mapping to height
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> PASS <marquee width="1007"> mapping to width
</span><span class="cx"> PASS <marquee width="   00523   "> mapping to width
</span><span class="cx"> PASS <marquee width="200.25"> mapping to width
</span><del>-FAIL <marquee width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee width="200."> mapping to width
</span><span class="cx"> PASS <marquee width="200in"> mapping to width
</span><span class="cx"> PASS <marquee width="200.25in"> mapping to width
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx"> PASS <marquee height="1007"> mapping to height
</span><span class="cx"> PASS <marquee height="   00523   "> mapping to height
</span><span class="cx"> PASS <marquee height="200.25"> mapping to height
</span><del>-FAIL <marquee height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee height="200."> mapping to height
</span><span class="cx"> PASS <marquee height="200in"> mapping to height
</span><span class="cx"> PASS <marquee height="200.25in"> mapping to height
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx"> PASS <video width="1007"> mapping to width
</span><span class="cx"> PASS <video width="   00523   "> mapping to width
</span><span class="cx"> PASS <video width="200.25"> mapping to width
</span><del>-FAIL <video width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <video width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <video width="200."> mapping to width
</span><span class="cx"> PASS <video width="200in"> mapping to width
</span><span class="cx"> PASS <video width="200.25in"> mapping to width
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx"> PASS <video height="1007"> mapping to height
</span><span class="cx"> PASS <video height="   00523   "> mapping to height
</span><span class="cx"> PASS <video height="200.25"> mapping to height
</span><del>-FAIL <video height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <video height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <video height="200."> mapping to height
</span><span class="cx"> PASS <video height="200in"> mapping to height
</span><span class="cx"> PASS <video height="200.25in"> mapping to height
</span><span class="lines">@@ -363,7 +363,7 @@
</span><span class="cx"> PASS <object width="1007"> mapping to width
</span><span class="cx"> PASS <object width="   00523   "> mapping to width
</span><span class="cx"> PASS <object width="200.25"> mapping to width
</span><del>-FAIL <object width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object width="200."> mapping to width
</span><span class="cx"> PASS <object width="200in"> mapping to width
</span><span class="cx"> PASS <object width="200.25in"> mapping to width
</span><span class="lines">@@ -403,7 +403,7 @@
</span><span class="cx"> PASS <object height="1007"> mapping to height
</span><span class="cx"> PASS <object height="   00523   "> mapping to height
</span><span class="cx"> PASS <object height="200.25"> mapping to height
</span><del>-FAIL <object height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object height="200."> mapping to height
</span><span class="cx"> PASS <object height="200in"> mapping to height
</span><span class="cx"> PASS <object height="200.25in"> mapping to height
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> PASS <embed width="1007"> mapping to width
</span><span class="cx"> PASS <embed width="   00523   "> mapping to width
</span><span class="cx"> PASS <embed width="200.25"> mapping to width
</span><del>-FAIL <embed width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed width="200."> mapping to width
</span><span class="cx"> PASS <embed width="200in"> mapping to width
</span><span class="cx"> PASS <embed width="200.25in"> mapping to width
</span><span class="lines">@@ -483,7 +483,7 @@
</span><span class="cx"> PASS <embed height="1007"> mapping to height
</span><span class="cx"> PASS <embed height="   00523   "> mapping to height
</span><span class="cx"> PASS <embed height="200.25"> mapping to height
</span><del>-FAIL <embed height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed height="200."> mapping to height
</span><span class="cx"> PASS <embed height="200in"> mapping to height
</span><span class="cx"> PASS <embed height="200.25in"> mapping to height
</span><span class="lines">@@ -523,7 +523,7 @@
</span><span class="cx"> PASS <img width="1007"> mapping to width
</span><span class="cx"> PASS <img width="   00523   "> mapping to width
</span><span class="cx"> PASS <img width="200.25"> mapping to width
</span><del>-FAIL <img width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img width="200."> mapping to width
</span><span class="cx"> PASS <img width="200in"> mapping to width
</span><span class="cx"> PASS <img width="200.25in"> mapping to width
</span><span class="lines">@@ -563,7 +563,7 @@
</span><span class="cx"> PASS <img height="1007"> mapping to height
</span><span class="cx"> PASS <img height="   00523   "> mapping to height
</span><span class="cx"> PASS <img height="200.25"> mapping to height
</span><del>-FAIL <img height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img height="200."> mapping to height
</span><span class="cx"> PASS <img height="200in"> mapping to height
</span><span class="cx"> PASS <img height="200.25in"> mapping to height
</span><span class="lines">@@ -603,7 +603,7 @@
</span><span class="cx"> PASS <td width="1007"> mapping to width
</span><span class="cx"> PASS <td width="   00523   "> mapping to width
</span><span class="cx"> PASS <td width="200.25"> mapping to width
</span><del>-FAIL <td width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <td width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <td width="200."> mapping to width
</span><span class="cx"> PASS <td width="200in"> mapping to width
</span><span class="cx"> PASS <td width="200.25in"> mapping to width
</span><span class="lines">@@ -643,7 +643,7 @@
</span><span class="cx"> PASS <td height="1007"> mapping to height
</span><span class="cx"> PASS <td height="   00523   "> mapping to height
</span><span class="cx"> PASS <td height="200.25"> mapping to height
</span><del>-FAIL <td height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <td height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <td height="200."> mapping to height
</span><span class="cx"> PASS <td height="200in"> mapping to height
</span><span class="cx"> PASS <td height="200.25in"> mapping to height
</span><span class="lines">@@ -683,7 +683,7 @@
</span><span class="cx"> PASS <table width="1007"> mapping to width
</span><span class="cx"> PASS <table width="   00523   "> mapping to width
</span><span class="cx"> PASS <table width="200.25"> mapping to width
</span><del>-FAIL <table width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <table width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <table width="200."> mapping to width
</span><span class="cx"> PASS <table width="200in"> mapping to width
</span><span class="cx"> PASS <table width="200.25in"> mapping to width
</span><span class="lines">@@ -723,7 +723,7 @@
</span><span class="cx"> PASS <table height="1007"> mapping to height
</span><span class="cx"> PASS <table height="   00523   "> mapping to height
</span><span class="cx"> PASS <table height="200.25"> mapping to height
</span><del>-FAIL <table height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <table height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <table height="200."> mapping to height
</span><span class="cx"> PASS <table height="200in"> mapping to height
</span><span class="cx"> PASS <table height="200.25in"> mapping to height
</span><span class="lines">@@ -763,7 +763,7 @@
</span><span class="cx"> PASS <tr height="1007"> mapping to height
</span><span class="cx"> PASS <tr height="   00523   "> mapping to height
</span><span class="cx"> PASS <tr height="200.25"> mapping to height
</span><del>-FAIL <tr height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <tr height="200.7"> mapping to height assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <tr height="200."> mapping to height
</span><span class="cx"> PASS <tr height="200in"> mapping to height
</span><span class="cx"> PASS <tr height="200.25in"> mapping to height
</span><span class="lines">@@ -803,7 +803,7 @@
</span><span class="cx"> PASS <col width="1007"> mapping to width
</span><span class="cx"> PASS <col width="   00523   "> mapping to width
</span><span class="cx"> PASS <col width="200.25"> mapping to width
</span><del>-FAIL <col width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <col width="200.7"> mapping to width assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <col width="200."> mapping to width
</span><span class="cx"> PASS <col width="200in"> mapping to width
</span><span class="cx"> PASS <col width="200.25in"> mapping to width
</span><span class="lines">@@ -843,7 +843,7 @@
</span><span class="cx"> PASS <embed hspace="1007"> mapping to marginLeft
</span><span class="cx"> PASS <embed hspace="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <embed hspace="200.25"> mapping to marginLeft
</span><del>-FAIL <embed hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed hspace="200."> mapping to marginLeft
</span><span class="cx"> PASS <embed hspace="200in"> mapping to marginLeft
</span><span class="cx"> PASS <embed hspace="200.25in"> mapping to marginLeft
</span><span class="lines">@@ -883,7 +883,7 @@
</span><span class="cx"> PASS <embed hspace="1007"> mapping to marginRight
</span><span class="cx"> PASS <embed hspace="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <embed hspace="200.25"> mapping to marginRight
</span><del>-FAIL <embed hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed hspace="200."> mapping to marginRight
</span><span class="cx"> PASS <embed hspace="200in"> mapping to marginRight
</span><span class="cx"> PASS <embed hspace="200.25in"> mapping to marginRight
</span><span class="lines">@@ -923,7 +923,7 @@
</span><span class="cx"> PASS <embed vspace="1007"> mapping to marginTop
</span><span class="cx"> PASS <embed vspace="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <embed vspace="200.25"> mapping to marginTop
</span><del>-FAIL <embed vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed vspace="200."> mapping to marginTop
</span><span class="cx"> PASS <embed vspace="200in"> mapping to marginTop
</span><span class="cx"> PASS <embed vspace="200.25in"> mapping to marginTop
</span><span class="lines">@@ -963,7 +963,7 @@
</span><span class="cx"> PASS <embed vspace="1007"> mapping to marginBottom
</span><span class="cx"> PASS <embed vspace="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <embed vspace="200.25"> mapping to marginBottom
</span><del>-FAIL <embed vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <embed vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <embed vspace="200."> mapping to marginBottom
</span><span class="cx"> PASS <embed vspace="200in"> mapping to marginBottom
</span><span class="cx"> PASS <embed vspace="200.25in"> mapping to marginBottom
</span><span class="lines">@@ -1003,7 +1003,7 @@
</span><span class="cx"> PASS <img hspace="1007"> mapping to marginLeft
</span><span class="cx"> PASS <img hspace="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <img hspace="200.25"> mapping to marginLeft
</span><del>-FAIL <img hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img hspace="200."> mapping to marginLeft
</span><span class="cx"> PASS <img hspace="200in"> mapping to marginLeft
</span><span class="cx"> PASS <img hspace="200.25in"> mapping to marginLeft
</span><span class="lines">@@ -1043,7 +1043,7 @@
</span><span class="cx"> PASS <img hspace="1007"> mapping to marginRight
</span><span class="cx"> PASS <img hspace="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <img hspace="200.25"> mapping to marginRight
</span><del>-FAIL <img hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img hspace="200."> mapping to marginRight
</span><span class="cx"> PASS <img hspace="200in"> mapping to marginRight
</span><span class="cx"> PASS <img hspace="200.25in"> mapping to marginRight
</span><span class="lines">@@ -1083,7 +1083,7 @@
</span><span class="cx"> PASS <img vspace="1007"> mapping to marginTop
</span><span class="cx"> PASS <img vspace="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <img vspace="200.25"> mapping to marginTop
</span><del>-FAIL <img vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img vspace="200."> mapping to marginTop
</span><span class="cx"> PASS <img vspace="200in"> mapping to marginTop
</span><span class="cx"> PASS <img vspace="200.25in"> mapping to marginTop
</span><span class="lines">@@ -1123,7 +1123,7 @@
</span><span class="cx"> PASS <img vspace="1007"> mapping to marginBottom
</span><span class="cx"> PASS <img vspace="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <img vspace="200.25"> mapping to marginBottom
</span><del>-FAIL <img vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <img vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <img vspace="200."> mapping to marginBottom
</span><span class="cx"> PASS <img vspace="200in"> mapping to marginBottom
</span><span class="cx"> PASS <img vspace="200.25in"> mapping to marginBottom
</span><span class="lines">@@ -1163,7 +1163,7 @@
</span><span class="cx"> PASS <object hspace="1007"> mapping to marginLeft
</span><span class="cx"> PASS <object hspace="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <object hspace="200.25"> mapping to marginLeft
</span><del>-FAIL <object hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object hspace="200."> mapping to marginLeft
</span><span class="cx"> PASS <object hspace="200in"> mapping to marginLeft
</span><span class="cx"> PASS <object hspace="200.25in"> mapping to marginLeft
</span><span class="lines">@@ -1203,7 +1203,7 @@
</span><span class="cx"> PASS <object hspace="1007"> mapping to marginRight
</span><span class="cx"> PASS <object hspace="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <object hspace="200.25"> mapping to marginRight
</span><del>-FAIL <object hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object hspace="200."> mapping to marginRight
</span><span class="cx"> PASS <object hspace="200in"> mapping to marginRight
</span><span class="cx"> PASS <object hspace="200.25in"> mapping to marginRight
</span><span class="lines">@@ -1243,7 +1243,7 @@
</span><span class="cx"> PASS <object vspace="1007"> mapping to marginTop
</span><span class="cx"> PASS <object vspace="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <object vspace="200.25"> mapping to marginTop
</span><del>-FAIL <object vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object vspace="200."> mapping to marginTop
</span><span class="cx"> PASS <object vspace="200in"> mapping to marginTop
</span><span class="cx"> PASS <object vspace="200.25in"> mapping to marginTop
</span><span class="lines">@@ -1283,7 +1283,7 @@
</span><span class="cx"> PASS <object vspace="1007"> mapping to marginBottom
</span><span class="cx"> PASS <object vspace="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <object vspace="200.25"> mapping to marginBottom
</span><del>-FAIL <object vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <object vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <object vspace="200."> mapping to marginBottom
</span><span class="cx"> PASS <object vspace="200in"> mapping to marginBottom
</span><span class="cx"> PASS <object vspace="200.25in"> mapping to marginBottom
</span><span class="lines">@@ -1323,7 +1323,7 @@
</span><span class="cx"> PASS <input hspace="1007"> mapping to marginLeft
</span><span class="cx"> PASS <input hspace="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <input hspace="200.25"> mapping to marginLeft
</span><del>-FAIL <input hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input hspace="200."> mapping to marginLeft
</span><span class="cx"> PASS <input hspace="200in"> mapping to marginLeft
</span><span class="cx"> PASS <input hspace="200.25in"> mapping to marginLeft
</span><span class="lines">@@ -1363,7 +1363,7 @@
</span><span class="cx"> PASS <input hspace="1007"> mapping to marginRight
</span><span class="cx"> PASS <input hspace="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <input hspace="200.25"> mapping to marginRight
</span><del>-FAIL <input hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input hspace="200."> mapping to marginRight
</span><span class="cx"> PASS <input hspace="200in"> mapping to marginRight
</span><span class="cx"> PASS <input hspace="200.25in"> mapping to marginRight
</span><span class="lines">@@ -1403,7 +1403,7 @@
</span><span class="cx"> PASS <input vspace="1007"> mapping to marginTop
</span><span class="cx"> PASS <input vspace="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <input vspace="200.25"> mapping to marginTop
</span><del>-FAIL <input vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input vspace="200."> mapping to marginTop
</span><span class="cx"> PASS <input vspace="200in"> mapping to marginTop
</span><span class="cx"> PASS <input vspace="200.25in"> mapping to marginTop
</span><span class="lines">@@ -1443,7 +1443,7 @@
</span><span class="cx"> PASS <input vspace="1007"> mapping to marginBottom
</span><span class="cx"> PASS <input vspace="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <input vspace="200.25"> mapping to marginBottom
</span><del>-FAIL <input vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <input vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <input vspace="200."> mapping to marginBottom
</span><span class="cx"> PASS <input vspace="200in"> mapping to marginBottom
</span><span class="cx"> PASS <input vspace="200.25in"> mapping to marginBottom
</span><span class="lines">@@ -1483,7 +1483,7 @@
</span><span class="cx"> PASS <marquee hspace="1007"> mapping to marginLeft
</span><span class="cx"> PASS <marquee hspace="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <marquee hspace="200.25"> mapping to marginLeft
</span><del>-FAIL <marquee hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee hspace="200.7"> mapping to marginLeft assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee hspace="200."> mapping to marginLeft
</span><span class="cx"> PASS <marquee hspace="200in"> mapping to marginLeft
</span><span class="cx"> PASS <marquee hspace="200.25in"> mapping to marginLeft
</span><span class="lines">@@ -1523,7 +1523,7 @@
</span><span class="cx"> PASS <marquee hspace="1007"> mapping to marginRight
</span><span class="cx"> PASS <marquee hspace="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <marquee hspace="200.25"> mapping to marginRight
</span><del>-FAIL <marquee hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee hspace="200.7"> mapping to marginRight assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee hspace="200."> mapping to marginRight
</span><span class="cx"> PASS <marquee hspace="200in"> mapping to marginRight
</span><span class="cx"> PASS <marquee hspace="200.25in"> mapping to marginRight
</span><span class="lines">@@ -1563,7 +1563,7 @@
</span><span class="cx"> PASS <marquee vspace="1007"> mapping to marginTop
</span><span class="cx"> PASS <marquee vspace="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <marquee vspace="200.25"> mapping to marginTop
</span><del>-FAIL <marquee vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee vspace="200.7"> mapping to marginTop assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee vspace="200."> mapping to marginTop
</span><span class="cx"> PASS <marquee vspace="200in"> mapping to marginTop
</span><span class="cx"> PASS <marquee vspace="200.25in"> mapping to marginTop
</span><span class="lines">@@ -1603,7 +1603,7 @@
</span><span class="cx"> PASS <marquee vspace="1007"> mapping to marginBottom
</span><span class="cx"> PASS <marquee vspace="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <marquee vspace="200.25"> mapping to marginBottom
</span><del>-FAIL <marquee vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.6999969482422px"
</del><ins>+FAIL <marquee vspace="200.7"> mapping to marginBottom assert_equals: expected "200.7px" but got "200.699997px"
</ins><span class="cx"> PASS <marquee vspace="200."> mapping to marginBottom
</span><span class="cx"> PASS <marquee vspace="200in"> mapping to marginBottom
</span><span class="cx"> PASS <marquee vspace="200.25in"> mapping to marginBottom
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlrenderingpixellengthattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> PASS <body marginwidth="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <body marginwidth="200."> mapping to marginLeft
</span><span class="cx"> FAIL <body marginwidth="200.25"> mapping to marginLeft assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginwidth="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginwidth="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginwidth="0"> mapping to marginLeft
</span><span class="cx"> FAIL <body marginwidth="-0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginwidth="+0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx"> PASS <body marginwidth="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <body marginwidth="200."> mapping to marginRight
</span><span class="cx"> FAIL <body marginwidth="200.25"> mapping to marginRight assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginwidth="200.7"> mapping to marginRight assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginwidth="200.7"> mapping to marginRight assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginwidth="0"> mapping to marginRight
</span><span class="cx"> FAIL <body marginwidth="-0"> mapping to marginRight assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginwidth="+0"> mapping to marginRight assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx"> PASS <body leftmargin="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <body leftmargin="200."> mapping to marginLeft
</span><span class="cx"> FAIL <body leftmargin="200.25"> mapping to marginLeft assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body leftmargin="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body leftmargin="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body leftmargin="0"> mapping to marginLeft
</span><span class="cx"> FAIL <body leftmargin="-0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body leftmargin="+0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx"> PASS <body marginheight="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <body marginheight="200."> mapping to marginTop
</span><span class="cx"> FAIL <body marginheight="200.25"> mapping to marginTop assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginheight="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginheight="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginheight="0"> mapping to marginTop
</span><span class="cx"> FAIL <body marginheight="-0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginheight="+0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx"> PASS <body marginheight="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <body marginheight="200."> mapping to marginBottom
</span><span class="cx"> FAIL <body marginheight="200.25"> mapping to marginBottom assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginheight="200.7"> mapping to marginBottom assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginheight="200.7"> mapping to marginBottom assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginheight="0"> mapping to marginBottom
</span><span class="cx"> FAIL <body marginheight="-0"> mapping to marginBottom assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginheight="+0"> mapping to marginBottom assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx"> PASS <body topmargin="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <body topmargin="200."> mapping to marginTop
</span><span class="cx"> FAIL <body topmargin="200.25"> mapping to marginTop assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body topmargin="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body topmargin="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body topmargin="0"> mapping to marginTop
</span><span class="cx"> FAIL <body topmargin="-0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body topmargin="+0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -170,8 +170,8 @@
</span><span class="cx"> PASS empty-cells: "hide" onto "show"
</span><span class="cx"> PASS empty-cells: "show" onto "hide"
</span><span class="cx"> PASS fill-opacity (type: opacity) has testAccumulation function
</span><del>-FAIL fill-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS fill-opacity: [0, 1] number
+FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS filter (type: filterList) has testAccumulation function
</span><span class="cx"> FAIL filter: same ordered filter functions assert_equals: The value should be blur(30px) brightness(0) at 0ms expected "blur(30px) brightness(0)" but got "blur(30px) brightness(0.4)"
</span><span class="cx"> PASS filter: mismatched ordered filter functions
</span><span class="lines">@@ -194,9 +194,9 @@
</span><span class="cx"> PASS flex-direction: "row-reverse" onto "row"
</span><span class="cx"> PASS flex-direction: "row" onto "row-reverse"
</span><span class="cx"> PASS flex-grow (type: positiveNumber) has testAccumulation function
</span><del>-FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS flex-grow: positive number
</ins><span class="cx"> PASS flex-shrink (type: positiveNumber) has testAccumulation function
</span><del>-FAIL flex-shrink: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS flex-shrink: positive number
</ins><span class="cx"> PASS flex-wrap (type: discrete) has testAccumulation function
</span><span class="cx"> PASS flex-wrap: "wrap" onto "nowrap"
</span><span class="cx"> PASS flex-wrap: "nowrap" onto "wrap"
</span><span class="lines">@@ -208,8 +208,8 @@
</span><span class="cx"> PASS flood-color supports animating as color of rgba()
</span><span class="cx"> PASS flood-color supports animating as color of hsla()
</span><span class="cx"> PASS flood-opacity (type: opacity) has testAccumulation function
</span><del>-FAIL flood-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL flood-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS flood-opacity: [0, 1] number
+FAIL flood-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS font-stretch (type: percentage) has testAccumulation function
</span><span class="cx"> PASS font-stretch: percentage
</span><span class="cx"> PASS font-style (type: discrete) has testAccumulation function
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesaccumulationperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -121,8 +121,8 @@
</span><span class="cx"> PASS stop-color supports animating as color of rgba()
</span><span class="cx"> PASS stop-color supports animating as color of hsla()
</span><span class="cx"> PASS stop-opacity (type: opacity) has testAccumulation function
</span><del>-FAIL stop-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL stop-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS stop-opacity: [0, 1] number
+FAIL stop-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS stroke-dasharray (type: dasharray) has testAccumulation function
</span><span class="cx"> PASS stroke-dasharray: dasharray
</span><span class="cx"> PASS stroke-dasharray (type: discrete) has testAccumulation function
</span><span class="lines">@@ -129,10 +129,10 @@
</span><span class="cx"> PASS stroke-dasharray: "10px, 20px" onto "none"
</span><span class="cx"> PASS stroke-dasharray: "none" onto "10px, 20px"
</span><span class="cx"> PASS stroke-miterlimit (type: positiveNumber) has testAccumulation function
</span><del>-FAIL stroke-miterlimit: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS stroke-miterlimit: positive number
</ins><span class="cx"> PASS stroke-opacity (type: opacity) has testAccumulation function
</span><del>-FAIL stroke-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS stroke-opacity: [0, 1] number
+FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS table-layout (type: discrete) has testAccumulation function
</span><span class="cx"> PASS table-layout: "fixed" onto "auto"
</span><span class="cx"> PASS table-layout: "auto" onto "fixed"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -170,8 +170,8 @@
</span><span class="cx"> PASS empty-cells: "hide" onto "show"
</span><span class="cx"> PASS empty-cells: "show" onto "hide"
</span><span class="cx"> PASS fill-opacity (type: opacity) has testAddition function
</span><del>-FAIL fill-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS fill-opacity: [0, 1] number
+FAIL fill-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS filter (type: filterList) has testAddition function
</span><span class="cx"> FAIL filter: blur on blur assert_equals: The value should be blur(10px) blur(20px) at 0ms expected "blur(10px) blur(20px)" but got "blur(30px)"
</span><span class="cx"> FAIL filter: different filter functions assert_equals: The value should be blur(10px) brightness(0.8) at 0ms expected "blur(10px) brightness(0.8)" but got "brightness(0.8)"
</span><span class="lines">@@ -194,9 +194,9 @@
</span><span class="cx"> PASS flex-direction: "row-reverse" onto "row"
</span><span class="cx"> PASS flex-direction: "row" onto "row-reverse"
</span><span class="cx"> PASS flex-grow (type: positiveNumber) has testAddition function
</span><del>-FAIL flex-grow: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS flex-grow: positive number
</ins><span class="cx"> PASS flex-shrink (type: positiveNumber) has testAddition function
</span><del>-FAIL flex-shrink: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS flex-shrink: positive number
</ins><span class="cx"> PASS flex-wrap (type: discrete) has testAddition function
</span><span class="cx"> PASS flex-wrap: "wrap" onto "nowrap"
</span><span class="cx"> PASS flex-wrap: "nowrap" onto "wrap"
</span><span class="lines">@@ -208,8 +208,8 @@
</span><span class="cx"> PASS flood-color supports animating as color of rgba()
</span><span class="cx"> PASS flood-color supports animating as color of hsla()
</span><span class="cx"> PASS flood-opacity (type: opacity) has testAddition function
</span><del>-FAIL flood-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL flood-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS flood-opacity: [0, 1] number
+FAIL flood-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS font-stretch (type: percentage) has testAddition function
</span><span class="cx"> PASS font-stretch: percentage
</span><span class="cx"> PASS font-style (type: discrete) has testAddition function
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesadditionperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -121,8 +121,8 @@
</span><span class="cx"> PASS stop-color supports animating as color of rgba()
</span><span class="cx"> PASS stop-color supports animating as color of hsla()
</span><span class="cx"> PASS stop-opacity (type: opacity) has testAddition function
</span><del>-FAIL stop-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL stop-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS stop-opacity: [0, 1] number
+FAIL stop-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS stroke-dasharray (type: dasharray) has testAddition function
</span><span class="cx"> PASS stroke-dasharray: dasharray
</span><span class="cx"> PASS stroke-dasharray (type: discrete) has testAddition function
</span><span class="lines">@@ -129,10 +129,10 @@
</span><span class="cx"> PASS stroke-dasharray: "10px, 20px" onto "none"
</span><span class="cx"> PASS stroke-dasharray: "none" onto "10px, 20px"
</span><span class="cx"> PASS stroke-miterlimit (type: positiveNumber) has testAddition function
</span><del>-FAIL stroke-miterlimit: positive number assert_equals: The value should be 2.2 at 0ms expected "2.2" but got "2.200000047683716"
</del><ins>+PASS stroke-miterlimit: positive number
</ins><span class="cx"> PASS stroke-opacity (type: opacity) has testAddition function
</span><del>-FAIL stroke-opacity: [0, 1] number assert_equals: The value should be 0.6 at 0ms expected "0.6" but got "0.6000000238418579"
-FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.100000023841858"
</del><ins>+PASS stroke-opacity: [0, 1] number
+FAIL stroke-opacity: [0, 1] number (clamped) assert_equals: The value should be 1 at 0ms expected "1" but got "1.1"
</ins><span class="cx"> PASS table-layout (type: discrete) has testAddition function
</span><span class="cx"> PASS table-layout: "fixed" onto "auto"
</span><span class="cx"> PASS table-layout: "auto" onto "fixed"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty001expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -204,19 +204,19 @@
</span><span class="cx"> PASS empty-cells uses discrete animation when animating between "show" and "hide" with effect easing
</span><span class="cx"> PASS empty-cells uses discrete animation when animating between "show" and "hide" with keyframe easing
</span><span class="cx"> PASS fill-opacity (type: opacity) has testInterpolation function
</span><del>-FAIL fill-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</del><ins>+PASS fill-opacity supports animating as a [0, 1] number
</ins><span class="cx"> PASS filter (type: filterList) has testInterpolation function
</span><span class="cx"> PASS filter: blur function
</span><span class="cx"> PASS filter: hue-rotate function with same unit(deg)
</span><del>-FAIL filter: hue-rotate function with different unit(deg -> rad) assert_equals: The value should be hue-rotate(2869.79deg) at 500ms expected "hue-rotate(2869.79deg)" but got "hue-rotate(2869.7889756541163deg)"
</del><ins>+FAIL filter: hue-rotate function with different unit(deg -> rad) assert_equals: The value should be hue-rotate(2869.79deg) at 500ms expected "hue-rotate(2869.79deg)" but got "hue-rotate(2869.788976deg)"
</ins><span class="cx"> PASS filter: drop-shadow function
</span><del>-FAIL filter: percentage or numeric-specifiable functions (number value) assert_equals: The value should be brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3) at 500ms expected "brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3)" but got "brightness(0.30000000000000004) contrast(0.30000000000000004) grayscale(0.30000000000000004) invert(0.30000000000000004) opacity(0.30000000000000004) saturate(0.30000000000000004) sepia(0.30000000000000004)"
-FAIL filter: percentage or numeric-specifiable functions (percentage value) assert_equals: The value should be brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3) at 500ms expected "brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3)" but got "brightness(0.30000000000000004) contrast(0.30000000000000004) grayscale(0.30000000000000004) invert(0.30000000000000004) opacity(0.30000000000000004) saturate(0.30000000000000004) sepia(0.30000000000000004)"
</del><ins>+PASS filter: percentage or numeric-specifiable functions (number value)
+PASS filter: percentage or numeric-specifiable functions (percentage value)
</ins><span class="cx"> FAIL filter: interpolate different length of filter-function-list with function which lacuna value is 1 assert_equals: The value should be grayscale(0.5) brightness(0.5) contrast(0.5) opacity(0.5) saturate(0.5) at 500ms expected "grayscale(0.5) brightness(0.5) contrast(0.5) opacity(0.5) saturate(0.5)" but got "grayscale(1) brightness(0) contrast(0) opacity(0) saturate(0)"
</span><span class="cx"> FAIL filter: interpolate different length of filter-function-list with function which lacuna value is 0 assert_equals: The value should be opacity(0.5) grayscale(0.5) invert(0.5) sepia(0.5) blur(5px) at 500ms expected "opacity(0.5) grayscale(0.5) invert(0.5) sepia(0.5) blur(5px)" but got "opacity(0) grayscale(1) invert(1) sepia(1) blur(10px)"
</span><span class="cx"> FAIL filter: interpolate different length of filter-function-list with drop-shadow function assert_equals: The value should be blur(5px) drop-shadow(rgba(0, 0, 255, 0.4) 5px 5px 5px) at 500ms expected "blur(5px) drop-shadow(rgba(0, 0, 255, 0.4) 5px 5px 5px)" but got "blur(10px) drop-shadow(rgba(0, 0, 255, 0.8) 10px 10px 10px)"
</span><span class="cx"> PASS filter: interpolate from none
</span><del>-FAIL filter: url function (interpoalte as discrete) assert_equals: The value should be blur(0px) url("#f1") at 499ms expected "blur(0px) url(\"#f1\")" but got "blur(4.989999771118164px) url(\"#f1\")"
</del><ins>+FAIL filter: url function (interpoalte as discrete) assert_equals: The value should be blur(0px) url("#f1") at 499ms expected "blur(0px) url(\"#f1\")" but got "blur(4.99px) url(\"#f1\")"
</ins><span class="cx"> PASS flex-basis (type: lengthPercentageOrCalc) has testInterpolation function
</span><span class="cx"> PASS flex-basis supports animating as a length
</span><span class="cx"> PASS flex-basis supports animating as a length of rem
</span><span class="lines">@@ -235,9 +235,9 @@
</span><span class="cx"> PASS flex-direction uses discrete animation when animating between "row" and "row-reverse" with effect easing
</span><span class="cx"> PASS flex-direction uses discrete animation when animating between "row" and "row-reverse" with keyframe easing
</span><span class="cx"> PASS flex-grow (type: positiveNumber) has testInterpolation function
</span><del>-FAIL flex-grow supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</del><ins>+PASS flex-grow supports animating as a positive number
</ins><span class="cx"> PASS flex-shrink (type: positiveNumber) has testInterpolation function
</span><del>-FAIL flex-shrink supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</del><ins>+PASS flex-shrink supports animating as a positive number
</ins><span class="cx"> PASS flex-wrap (type: discrete) has testInterpolation function
</span><span class="cx"> PASS flex-wrap uses discrete animation when animating between "nowrap" and "wrap" with linear easing
</span><span class="cx"> PASS flex-wrap uses discrete animation when animating between "nowrap" and "wrap" with effect easing
</span><span class="lines">@@ -250,7 +250,7 @@
</span><span class="cx"> PASS flood-color supports animating as color of rgba()
</span><span class="cx"> PASS flood-color supports animating as color of hsla()
</span><span class="cx"> PASS flood-opacity (type: opacity) has testInterpolation function
</span><del>-FAIL flood-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</del><ins>+PASS flood-opacity supports animating as a [0, 1] number
</ins><span class="cx"> PASS font-stretch (type: percentage) has testInterpolation function
</span><span class="cx"> PASS font-stretch supports animating as a percentage
</span><span class="cx"> PASS font-style (type: discrete) has testInterpolation function
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelanimationtypesinterpolationperproperty002expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -141,10 +141,10 @@
</span><span class="cx"> PASS stop-color supports animating as color of rgba()
</span><span class="cx"> PASS stop-color supports animating as color of hsla()
</span><span class="cx"> PASS stop-opacity (type: opacity) has testInterpolation function
</span><del>-FAIL stop-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</del><ins>+PASS stop-opacity supports animating as a [0, 1] number
</ins><span class="cx"> PASS stroke-dasharray (type: dasharray) has testInterpolation function
</span><span class="cx"> PASS stroke-dasharray supports animating as a percentage
</span><del>-FAIL stroke-dasharray supports animating as a positive number assert_equals: The value should be 1.3px at 500ms expected "1.3px" but got "1.2999999523162842px"
</del><ins>+PASS stroke-dasharray supports animating as a positive number
</ins><span class="cx"> PASS stroke-dasharray supports animating as a dasharray (mismatched length)
</span><span class="cx"> PASS stroke-dasharray supports animating as a dasharray (mixed lengths and percentages)
</span><span class="cx"> PASS stroke-dasharray (type: discrete) has testInterpolation function
</span><span class="lines">@@ -152,9 +152,9 @@
</span><span class="cx"> PASS stroke-dasharray uses discrete animation when animating between "none" and "10px, 20px" with effect easing
</span><span class="cx"> PASS stroke-dasharray uses discrete animation when animating between "none" and "10px, 20px" with keyframe easing
</span><span class="cx"> PASS stroke-miterlimit (type: positiveNumber) has testInterpolation function
</span><del>-FAIL stroke-miterlimit supports animating as a positive number assert_equals: The value should be 1.3 at 500ms expected "1.3" but got "1.2999999523162842"
</del><ins>+PASS stroke-miterlimit supports animating as a positive number
</ins><span class="cx"> PASS stroke-opacity (type: opacity) has testInterpolation function
</span><del>-FAIL stroke-opacity supports animating as a [0, 1] number assert_equals: The value should be 0.55 at 500ms expected "0.55" but got "0.550000011920929"
</del><ins>+PASS stroke-opacity supports animating as a [0, 1] number
</ins><span class="cx"> PASS table-layout (type: discrete) has testInterpolation function
</span><span class="cx"> PASS table-layout uses discrete animation when animating between "auto" and "fixed" with linear easing
</span><span class="cx"> PASS table-layout uses discrete animation when animating between "auto" and "fixed" with effect easing
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestswebanimationsanimationmodelkeyframeeffectseffectvalueiterationcompositeoperationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> FAIL iteration composition of <shape> type animation assert_equals: Animated clip style at 0s of the third iteration expected "rect(20px, 20px, 20px, 20px)" but got "rect(0px, 0px, 0px, 0px)"
</span><span class="cx"> FAIL iteration composition of <calc()> value animation assert_equals: Animated calc width style at 0s of the third iteration expected "20px" but got "0px"
</span><span class="cx"> FAIL iteration composition of <calc()> value animation that the values can'tbe reduced assert_equals: Animated calc width style at 0s of the third iteration expected "40px" but got "0px"
</span><del>-FAIL iteration composition of opacity animation assert_equals: Animated opacity style at 50s of the first iteration expected "0.2" but got "0.20000000298023224"
</del><ins>+FAIL iteration composition of opacity animation assert_equals: Animated opacity style at 0s of the third iteration expected "0.8" but got "0"
</ins><span class="cx"> FAIL iteration composition of box-shadow animation assert_equals: Animated box-shadow style at 0s of the third iteration expected "rgb(240, 240, 240) 20px 20px 20px 0px" but got "rgb(0, 0, 0) 0px 0px 0px 0px"
</span><span class="cx"> FAIL iteration composition of filter blur animation assert_equals: Animated filter blur style at 0s of the third iteration expected "blur(20px)" but got "blur(0px)"
</span><span class="cx"> FAIL iteration composition of filter brightness for different unit animation assert_equals: Animated filter brightness style at 0s of the third iteration expected "brightness(2.6)" but got "brightness(1)"
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestylesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx"> PASS volumeSliderContainerStyle.top is "226px"
</span><span class="cx"> PASS volumeSliderContainerStyle.width is "94px"
</span><span class="cx"> PASS volumeSliderContainerStyle.height is "31px"
</span><del>-PASS volumeSliderContainerStyle.transform is "matrix(6.123233995736766e-17, -1, 1, 6.123233995736766e-17, -30, -26.000000000000004)"
</del><ins>+PASS volumeSliderContainerStyle.transform is "matrix(0, -1, 1, 0, -30, -26)"
</ins><span class="cx"> PASS volumeSliderStyle.marginLeft is "6px"
</span><span class="cx"> PASS volumeSliderStyle.width is "60px"
</span><span class="cx"> PASS volumeSliderStyle.height is "16px"
</span></span></pre></div>
<a id="trunkLayoutTestsmediamodernmediacontrolsmacosinlinemediacontrolsmacosinlinemediacontrolsvolumestyleshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx">     shouldBeEqualToString("volumeSliderContainerStyle.top", "226px");
</span><span class="cx">     shouldBeEqualToString("volumeSliderContainerStyle.width", "94px");
</span><span class="cx">     shouldBeEqualToString("volumeSliderContainerStyle.height", "31px");
</span><del>-    shouldBeEqualToString("volumeSliderContainerStyle.transform", "matrix(6.123233995736766e-17, -1, 1, 6.123233995736766e-17, -30, -26.000000000000004)");
</del><ins>+    shouldBeEqualToString("volumeSliderContainerStyle.transform", "matrix(0, -1, 1, 0, -30, -26)");
</ins><span class="cx"> 
</span><span class="cx">     volumeSliderStyle = window.getComputedStyle(mediaControls.volumeSlider.element);
</span><span class="cx">     shouldBeEqualToString("volumeSliderStyle.marginLeft", "6px");
</span></span></pre></div>
<a id="trunkLayoutTestsplatformglibimportedw3cwebplatformtestscsscsstransformsanimationtransforminterpolationinlinevalueexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -12,11 +12,11 @@
</span><span class="cx"> FAIL Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate3d(0px, 0px, 0px)" but got "matrix(1, 0, 0, 1, 0, 0)"
</span><span class="cx"> FAIL Interpolation between translate(50px, 0px) and translate(100px, 0px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate(75px)" but got "matrix(1, 0, 0, 1, 75, 0)"
</span><span class="cx"> FAIL Interpolation between translate(50px, -50px) and translate(100px, 50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate(75px)" but got "matrix(1, 0, 0, 1, 75, 0)"
</span><del>-FAIL Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate(60deg)" but got "matrix(0.5000000000000001, 0.8660254037844386, -0.8660254037844386, 0.5000000000000001, 0, 0)"
-FAIL Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateZ(60deg)" but got "matrix(0.5000000000000001, 0.8660254037844386, -0.8660254037844386, 0.5000000000000001, 0, 0)"
-FAIL Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(0, 0, 1, 45deg)" but got "matrix(0.7071067811865476, 0.7071067811865475, -0.7071067811865475, 0.7071067811865476, 0, 0)"
-FAIL Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateX(45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.7071067811865476, 0.7071067811865475, 0, 0, -0.7071067811865475, 0.7071067811865476, 0, 0, 0, 0, 1)"
-FAIL Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(1, 0, 0, 45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.5000000000000002, 0.4999999999999999, 0, 0, -0.4999999999999999, 0.5000000000000002, 0, 0, 0, 0, 1)"
</del><ins>+FAIL Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate(60deg)" but got "matrix(0.5, 0.866025, -0.866025, 0.5, 0, 0)"
+FAIL Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateZ(60deg)" but got "matrix(0.5, 0.866025, -0.866025, 0.5, 0, 0)"
+FAIL Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(0, 0, 1, 45deg)" but got "matrix(0.707107, 0.707107, -0.707107, 0.707107, 0, 0)"
+FAIL Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotateX(45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.707107, 0.707107, 0, 0, -0.707107, 0.707107, 0, 0, 0, 0, 1)"
+FAIL Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "rotate3d(1, 0, 0, 45deg)" but got "matrix3d(1, 0, 0, 0, 0, 0.5, 0.5, 0, 0, -0.5, 0.5, 0, 0, 0, 0, 1)"
</ins><span class="cx"> FAIL Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale(1.5)" but got "matrix(1.5, 0, 0, 1.5, 0, 0)"
</span><span class="cx"> FAIL Interpolation between scale(1, 3) and scale(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale(1.5, 2.5)" but got "matrix(1.5, 0, 0, 2.5, 0, 0)"
</span><span class="cx"> FAIL Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scaleX(1.5)" but got "matrix(1.5, 0, 0, 1, 0, 0)"
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx"> FAIL Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2.5, 3.5, 4.5)" but got "matrix3d(2.5, 0, 0, 0, 0, 3.5, 0, 0, 0, 0, 4.5, 0, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2.5, 3.5, 2)" but got "matrix3d(2.5, 0, 0, 0, 0, 3.5, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "scale3d(2, 3, 3)" but got "matrix3d(2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1)"
</span><del>-FAIL Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(30deg)" but got "matrix(1, 0, 0.5773502691896257, 1, 0, 0)"
-FAIL Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(45deg)" but got "matrix(1, 0, 0.9999999999999999, 1, 0, 0)"
</del><ins>+FAIL Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(30deg)" but got "matrix(1, 0, 0.57735, 1, 0, 0)"
+FAIL Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(45deg)" but got "matrix(1, 0, 1, 1, 0, 0)"
</ins><span class="cx"> FAIL Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skewX(90deg)" but got "matrix(1, 0, 16331239353195370, 1, 0, 0)"
</span><del>-FAIL Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(30deg, 30deg)" but got "matrix(1, 0.5773502691896257, 0.5773502691896257, 1, 0, 0)"
-FAIL Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(22.5deg, 22.5deg)" but got "matrix(1, 0.41421356237309503, 0.41421356237309503, 1, 0, 0)"
</del><ins>+FAIL Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(30deg, 30deg)" but got "matrix(1, 0.57735, 0.57735, 1, 0, 0)"
+FAIL Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "skew(22.5deg, 22.5deg)" but got "matrix(1, 0.414214, 0.414214, 1, 0, 0)"
</ins><span class="cx"> FAIL Interpolation between perspective(10px) and perspective(2.5px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(4px)" but got "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.25, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between perspective(10px) and perspective(none) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(20px)" but got "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.05, 0, 0, 0, 1)"
</span><span class="cx"> FAIL Interpolation between perspective(none) and perspective(none) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "perspective(none)" but got "matrix(1, 0, 0, 1, 0, 0)"
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiosfastformssearchsearchzoomcomputedstyleheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt  2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt     2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -7,4 +7,4 @@
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span><span class="cx"> 
</span><del>-Computed style height: 20.9921875px
</del><ins>+Computed style height: 20.992188px
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformioswk2importedw3cwebplatformtestshtmlrenderingpixellengthattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> PASS <body marginwidth="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <body marginwidth="200."> mapping to marginLeft
</span><span class="cx"> FAIL <body marginwidth="200.25"> mapping to marginLeft assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginwidth="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginwidth="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginwidth="0"> mapping to marginLeft
</span><span class="cx"> FAIL <body marginwidth="-0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginwidth="+0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx"> PASS <body marginwidth="   00523   "> mapping to marginRight
</span><span class="cx"> PASS <body marginwidth="200."> mapping to marginRight
</span><span class="cx"> FAIL <body marginwidth="200.25"> mapping to marginRight assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginwidth="200.7"> mapping to marginRight assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginwidth="200.7"> mapping to marginRight assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginwidth="0"> mapping to marginRight
</span><span class="cx"> FAIL <body marginwidth="-0"> mapping to marginRight assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginwidth="+0"> mapping to marginRight assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx"> PASS <body leftmargin="   00523   "> mapping to marginLeft
</span><span class="cx"> PASS <body leftmargin="200."> mapping to marginLeft
</span><span class="cx"> FAIL <body leftmargin="200.25"> mapping to marginLeft assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body leftmargin="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body leftmargin="200.7"> mapping to marginLeft assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body leftmargin="0"> mapping to marginLeft
</span><span class="cx"> FAIL <body leftmargin="-0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body leftmargin="+0"> mapping to marginLeft assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx"> PASS <body marginheight="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <body marginheight="200."> mapping to marginTop
</span><span class="cx"> FAIL <body marginheight="200.25"> mapping to marginTop assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginheight="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginheight="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginheight="0"> mapping to marginTop
</span><span class="cx"> FAIL <body marginheight="-0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginheight="+0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx"> PASS <body marginheight="   00523   "> mapping to marginBottom
</span><span class="cx"> PASS <body marginheight="200."> mapping to marginBottom
</span><span class="cx"> FAIL <body marginheight="200.25"> mapping to marginBottom assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body marginheight="200.7"> mapping to marginBottom assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body marginheight="200.7"> mapping to marginBottom assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body marginheight="0"> mapping to marginBottom
</span><span class="cx"> FAIL <body marginheight="-0"> mapping to marginBottom assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body marginheight="+0"> mapping to marginBottom assert_equals: expected "0px" but got "8px"
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx"> PASS <body topmargin="   00523   "> mapping to marginTop
</span><span class="cx"> PASS <body topmargin="200."> mapping to marginTop
</span><span class="cx"> FAIL <body topmargin="200.25"> mapping to marginTop assert_equals: expected "200px" but got "200.25px"
</span><del>-FAIL <body topmargin="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.6999969482422px"
</del><ins>+FAIL <body topmargin="200.7"> mapping to marginTop assert_equals: expected "200px" but got "200.699997px"
</ins><span class="cx"> PASS <body topmargin="0"> mapping to marginTop
</span><span class="cx"> FAIL <body topmargin="-0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span><span class="cx"> FAIL <body topmargin="+0"> mapping to marginTop assert_equals: expected "0px" but got "8px"
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssparseheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/parse-height-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/parse-height-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/svg/css/parse-height-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx"> PASS computedStyle("height", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("height", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("height", "1em") is "16px"
</span><del>-PASS computedStyle("height", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("height", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("height", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("height", "100   px") is "auto"
</span><span class="cx"> PASS computedStyle("height", "100px;") is "auto"
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssparseheighthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/parse-height.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/parse-height.html      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/svg/css/parse-height.html 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> testComputed("height", "100   ", "100px");
</span><span class="cx"> testComputed("height", "100px", "100px");
</span><span class="cx"> testComputed("height", "1em", "16px");
</span><del>-testComputed("height", "1ex", "12.800000190734863px");
</del><ins>+testComputed("height", "1ex", "12.8px");
</ins><span class="cx"> testComputed("height", "20%", "20%");
</span><span class="cx"> // FIXME: Vieport units not implemented for SVG at the moment.
</span><span class="cx"> // testComputed("height", "1vh", "7.869999885559082px");
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssparselengthexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/parse-length-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/parse-length-expected.txt      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/svg/css/parse-length-expected.txt 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> PASS computedStyle("cx", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("cx", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("cx", "1em") is "16px"
</span><del>-PASS computedStyle("cx", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("cx", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("cx", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("cx", "-200px") is "-200px"
</span><span class="cx"> PASS computedStyle("cy", "  100") is "100px"
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> PASS computedStyle("cy", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("cy", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("cy", "1em") is "16px"
</span><del>-PASS computedStyle("cy", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("cy", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("cy", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("cy", "-200px") is "-200px"
</span><span class="cx"> PASS computedStyle("r", "  100") is "100px"
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> PASS computedStyle("r", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("r", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("r", "1em") is "16px"
</span><del>-PASS computedStyle("r", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("r", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("r", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("r", "-200px") is "0px"
</span><span class="cx"> PASS computedStyle("rx", "  100") is "100px"
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> PASS computedStyle("rx", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("rx", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("rx", "1em") is "16px"
</span><del>-PASS computedStyle("rx", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("rx", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("rx", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("rx", "-200px") is "auto"
</span><span class="cx"> PASS computedStyle("ry", "  100") is "100px"
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> PASS computedStyle("ry", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("ry", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("ry", "1em") is "16px"
</span><del>-PASS computedStyle("ry", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("ry", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("ry", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("ry", "-200px") is "auto"
</span><span class="cx"> PASS computedStyle("width", "auto") is "auto"
</span><span class="lines">@@ -81,13 +81,13 @@
</span><span class="cx"> PASS computedStyle("width", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("width", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("width", "1em") is "16px"
</span><del>-PASS computedStyle("width", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("width", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("width", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("x", "  100") is "100px"
</span><span class="cx"> PASS computedStyle("x", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("x", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("x", "1em") is "16px"
</span><del>-PASS computedStyle("x", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("x", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("x", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("x", "-200px") is "-200px"
</span><span class="cx"> PASS computedStyle("y", "  100") is "100px"
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> PASS computedStyle("y", "100   ") is "100px"
</span><span class="cx"> PASS computedStyle("y", "100px") is "100px"
</span><span class="cx"> PASS computedStyle("y", "1em") is "16px"
</span><del>-PASS computedStyle("y", "1ex") is "12.800000190734863px"
</del><ins>+PASS computedStyle("y", "1ex") is "12.8px"
</ins><span class="cx"> PASS computedStyle("y", "20%") is "20%"
</span><span class="cx"> PASS computedStyle("y", "-200px") is "-200px"
</span><span class="cx"> PASS computedStyle("cx", "auto") is "0px"
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssparselengthhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/parse-length.html (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/parse-length.html      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/svg/css/parse-length.html 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> testComputed("cx", "100   ", "100px");
</span><span class="cx"> testComputed("cx", "100px", "100px");
</span><span class="cx"> testComputed("cx", "1em", "16px");
</span><del>-testComputed("cx", "1ex", "12.800000190734863px");
</del><ins>+testComputed("cx", "1ex", "12.8px");
</ins><span class="cx"> testComputed("cx", "20%", "20%");
</span><span class="cx"> testComputed("cx", "-200px", "-200px");
</span><span class="cx"> 
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> testComputed("cy", "100   ", "100px");
</span><span class="cx"> testComputed("cy", "100px", "100px");
</span><span class="cx"> testComputed("cy", "1em", "16px");
</span><del>-testComputed("cy", "1ex", "12.800000190734863px");
</del><ins>+testComputed("cy", "1ex", "12.8px");
</ins><span class="cx"> testComputed("cy", "20%", "20%");
</span><span class="cx"> testComputed("cy", "-200px", "-200px");
</span><span class="cx"> 
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> testComputed("r", "100   ", "100px");
</span><span class="cx"> testComputed("r", "100px", "100px");
</span><span class="cx"> testComputed("r", "1em", "16px");
</span><del>-testComputed("r", "1ex", "12.800000190734863px");
</del><ins>+testComputed("r", "1ex", "12.8px");
</ins><span class="cx"> testComputed("r", "20%", "20%");
</span><span class="cx"> testComputed("r", "-200px", "0px");
</span><span class="cx"> 
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> testComputed("rx", "100   ", "100px");
</span><span class="cx"> testComputed("rx", "100px", "100px");
</span><span class="cx"> testComputed("rx", "1em", "16px");
</span><del>-testComputed("rx", "1ex", "12.800000190734863px");
</del><ins>+testComputed("rx", "1ex", "12.8px");
</ins><span class="cx"> testComputed("rx", "20%", "20%");
</span><span class="cx"> testComputed("rx", "-200px", "auto");
</span><span class="cx"> 
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> testComputed("ry", "100   ", "100px");
</span><span class="cx"> testComputed("ry", "100px", "100px");
</span><span class="cx"> testComputed("ry", "1em", "16px");
</span><del>-testComputed("ry", "1ex", "12.800000190734863px");
</del><ins>+testComputed("ry", "1ex", "12.8px");
</ins><span class="cx"> testComputed("ry", "20%", "20%");
</span><span class="cx"> testComputed("ry", "-200px", "auto");
</span><span class="cx"> 
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> testComputed("width", "100   ", "100px");
</span><span class="cx"> testComputed("width", "100px", "100px");
</span><span class="cx"> testComputed("width", "1em", "16px");
</span><del>-testComputed("width", "1ex", "12.800000190734863px");
</del><ins>+testComputed("width", "1ex", "12.8px");
</ins><span class="cx"> testComputed("width", "20%", "20%");
</span><span class="cx"> // FIXME: Vieport units not implemented for SVG at the moment.
</span><span class="cx"> // testComputed("width", "1vh", "7.869999885559082px");
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> testComputed("x", "100   ", "100px");
</span><span class="cx"> testComputed("x", "100px", "100px");
</span><span class="cx"> testComputed("x", "1em", "16px");
</span><del>-testComputed("x", "1ex", "12.800000190734863px");
</del><ins>+testComputed("x", "1ex", "12.8px");
</ins><span class="cx"> testComputed("x", "20%", "20%");
</span><span class="cx"> testComputed("x", "-200px", "-200px");
</span><span class="cx"> 
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> testComputed("y", "100   ", "100px");
</span><span class="cx"> testComputed("y", "100px", "100px");
</span><span class="cx"> testComputed("y", "1em", "16px");
</span><del>-testComputed("y", "1ex", "12.800000190734863px");
</del><ins>+testComputed("y", "1ex", "12.8px");
</ins><span class="cx"> testComputed("y", "20%", "20%");
</span><span class="cx"> testComputed("y", "-200px", "-200px");
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTeststransitionsframestimingfunctionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/transitions/frames-timing-function-expected.txt (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transitions/frames-timing-function-expected.txt        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/LayoutTests/transitions/frames-timing-function-expected.txt   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> The box should move horizontally 200px over 1s, in 4 equal increments.
</span><span class="cx"> 
</span><del>-FAIL - "-webkit-transform.4" property for "box" element at 0.25s expected: 50 but saw: matrix(1, 0, 0, 1, 81.71330261230469, 0)
-FAIL - "-webkit-transform.4" property for "box" element at 0.5s expected: 100 but saw: matrix(1, 0, 0, 1, 160.4827880859375, 0)
-FAIL - "-webkit-transform.4" property for "box" element at 0.75s expected: 150 but saw: matrix(1, 0, 0, 1, 192.13755798339844, 0)
</del><ins>+FAIL - "-webkit-transform.4" property for "box" element at 0.25s expected: 50 but saw: matrix(1, 0, 0, 1, 81.713303, 0)
+FAIL - "-webkit-transform.4" property for "box" element at 0.5s expected: 100 but saw: matrix(1, 0, 0, 1, 160.482788, 0)
+FAIL - "-webkit-transform.4" property for "box" element at 0.75s expected: 150 but saw: matrix(1, 0, 0, 1, 192.137558, 0)
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/ChangeLog  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2021-11-29 Simon Fraser  <simon.fraser@apple.com>
+
+        Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec
+        https://bugs.webkit.org/show_bug.cgi?id=218880 
+
+        Reviewed by Darin Adler.
+
+        Add new numberToCSSString and FormattedCSSNumber that handle converting a double into the format required by
+        CSS (unlimited number of digits before the decimal place, up to 6 decimal places, no trailing zeros.
+
+        * wtf/dtoa.cpp:
+        (WTF::truncateTrailingZeros):
+        (WTF::numberToFixedPrecisionString):
+        (WTF::numberToCSSString):
+        * wtf/dtoa.h:
+        * wtf/dtoa/double-conversion.cc:
+        * wtf/dtoa/double-conversion.h:
+        * wtf/text/StringConcatenateNumbers.h:
+        (WTF::FormattedCSSNumber::create):
+        (WTF::FormattedCSSNumber::length const):
+        (WTF::FormattedCSSNumber::buffer const):
+        (WTF::StringTypeAdapter<FormattedCSSNumber>::StringTypeAdapter):
+        (WTF::StringTypeAdapter<FormattedCSSNumber>::length const):
+        (WTF::StringTypeAdapter<FormattedCSSNumber>::is8Bit const):
+        (WTF::StringTypeAdapter<FormattedCSSNumber>::writeTo const):
+
</ins><span class="cx"> 2022-01-11  Mark Lam  <mark.lam@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Update hashThreadState() to exclude __opaque_flags.
</span></span></pre></div>
<a id="trunkSourceWTFwtfdtoadoubleconversioncc"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/dtoa/double-conversion.cc (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/dtoa/double-conversion.cc   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/wtf/dtoa/double-conversion.cc      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -56,7 +56,18 @@
</span><span class="cx">   return converter;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+const DoubleToStringConverter& DoubleToStringConverter::CSSConverter() {
+  int flags = UNIQUE_ZERO | EMIT_POSITIVE_EXPONENT_SIGN;
+  static DoubleToStringConverter converter(flags,
+                                           "infinity",
+                                           "NaN",
+                                           'e',
+                                           -6, 21,
+                                           6, 0);
+  return converter;
+}
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> bool DoubleToStringConverter::HandleSpecialValues(
</span><span class="cx">     double value,
</span><span class="cx">     StringBuilder* result_builder) const {
</span><span class="lines">@@ -201,7 +212,30 @@
</span><span class="cx">   return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool DoubleToStringConverter::ToFixedInternal(double value,
+                                              int requested_digits,
+                                              char* buffer,
+                                              int buffer_length, 
+                                              StringBuilder* result_builder) const {
+  // Find a sufficiently precise decimal representation of n.
+  int decimal_point;
+  bool sign;
+  int decimal_rep_length;
+  DoubleToAscii(value, FIXED, requested_digits,
+                buffer, buffer_length,
+                &sign, &decimal_rep_length, &decimal_point);
</ins><span class="cx"> 
</span><ins>+  bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0);
+  if (sign && (value != 0.0 || !unique_zero)) {
+    result_builder->AddCharacter('-');
+  }
+
+  CreateDecimalRepresentation(buffer, decimal_rep_length, decimal_point,
+                              requested_digits, result_builder);
+  return true;
+}
+
+
</ins><span class="cx"> bool DoubleToStringConverter::ToFixed(double value,
</span><span class="cx">                                       int requested_digits,
</span><span class="cx">                                       StringBuilder* result_builder) const {
</span><span class="lines">@@ -215,26 +249,30 @@
</span><span class="cx">   if (requested_digits > kMaxFixedDigitsAfterPoint) return false;
</span><span class="cx">   if (value >= kFirstNonFixed || value <= -kFirstNonFixed) return false;
</span><span class="cx"> 
</span><del>-  // Find a sufficiently precise decimal representation of n.
-  int decimal_point;
-  bool sign;
</del><span class="cx">   // Add space for the '\0' byte.
</span><span class="cx">   const int kDecimalRepCapacity =
</span><span class="cx">       kMaxFixedDigitsBeforePoint + kMaxFixedDigitsAfterPoint + 1;
</span><span class="cx">   char decimal_rep[kDecimalRepCapacity];
</span><del>-  int decimal_rep_length;
-  DoubleToAscii(value, FIXED, requested_digits,
-                decimal_rep, kDecimalRepCapacity,
-                &sign, &decimal_rep_length, &decimal_point);
</del><ins>+  return ToFixedInternal(value, requested_digits, decimal_rep, kDecimalRepCapacity, result_builder);
+}
</ins><span class="cx"> 
</span><del>-  bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0);
-  if (sign && (value != 0.0 || !unique_zero)) {
-    result_builder->AddCharacter('-');
</del><ins>+bool DoubleToStringConverter::ToFixedUncapped(double value,
+                                              int requested_digits,
+                                              StringBuilder* result_builder) const {
+  // Max double is 1e308, so we could have 310 digits including a negative sign.
+  const int kMaxPossibleDigitsBeforePoint = 310;
+
+  if (Double(value).IsSpecial()) {
+    return HandleSpecialValues(value, result_builder);
</ins><span class="cx">   }
</span><span class="cx"> 
</span><del>-  CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point,
-                              requested_digits, result_builder);
-  return true;
</del><ins>+  if (requested_digits > kMaxFixedDigitsAfterPoint) return false;
+
+  // Add space for the '\0' byte.
+  const int kDecimalRepCapacity =
+      kMaxPossibleDigitsBeforePoint + kMaxFixedDigitsAfterPoint + 1;
+  char decimal_rep[kDecimalRepCapacity];
+  return ToFixedInternal(value, requested_digits, decimal_rep, kDecimalRepCapacity, result_builder);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtfdtoadoubleconversionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/dtoa/double-conversion.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/dtoa/double-conversion.h    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/wtf/dtoa/double-conversion.h       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -132,6 +132,8 @@
</span><span class="cx">   // Returns a converter following the EcmaScript specification.
</span><span class="cx">   WTF_EXPORT_PRIVATE static const DoubleToStringConverter& EcmaScriptConverter();
</span><span class="cx"> 
</span><ins>+  WTF_EXPORT_PRIVATE static const DoubleToStringConverter& CSSConverter();
+
</ins><span class="cx">   // Computes the shortest string of digits that correctly represent the input
</span><span class="cx">   // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high
</span><span class="cx">   // (see constructor) it then either returns a decimal representation, or an
</span><span class="lines">@@ -201,6 +203,11 @@
</span><span class="cx">   bool ToFixed(double value,
</span><span class="cx">                int requested_digits,
</span><span class="cx">                StringBuilder* result_builder) const;
</span><ins>+  // The same as ToFixed, except without a limit on the maximum number
+  // of digits before the decimal point.
+  bool ToFixedUncapped(double value,
+                       int requested_digits,
+                       StringBuilder* result_builder) const;
</ins><span class="cx"> 
</span><span class="cx">   // Computes a representation in exponential format with requested_digits
</span><span class="cx">   // after the decimal point. The last emitted digit is rounded.
</span><span class="lines">@@ -370,6 +377,11 @@
</span><span class="cx">                                    int decimal_point,
</span><span class="cx">                                    int digits_after_point,
</span><span class="cx">                                    StringBuilder* result_builder) const;
</span><ins>+  bool ToFixedInternal(double value,
+                       int requested_digits,
+                       char* buffer,
+                       int buffer_length, 
+                       StringBuilder* result_builder) const;
</ins><span class="cx"> 
</span><span class="cx">   const int flags_;
</span><span class="cx">   const char* const infinity_symbol_;
</span></span></pre></div>
<a id="trunkSourceWTFwtfdtoacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/dtoa.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/dtoa.cpp    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/wtf/dtoa.cpp       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     return builder.Finalize();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline void truncateTrailingZeros(NumberToStringBuffer& buffer, double_conversion::StringBuilder& builder)
</del><ins>+static inline void truncateTrailingZeros(char* buffer, double_conversion::StringBuilder& builder)
</ins><span class="cx"> {
</span><span class="cx">     size_t length = builder.position();
</span><span class="cx">     size_t decimalPointPosition = 0;
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     auto& converter = double_conversion::DoubleToStringConverter::EcmaScriptConverter();
</span><span class="cx">     converter.ToPrecision(d, significantFigures, &builder);
</span><span class="cx">     if (shouldTruncateTrailingZeros)
</span><del>-        truncateTrailingZeros(buffer, builder);
</del><ins>+        truncateTrailingZeros(buffer.data(), builder);
</ins><span class="cx">     return builder.Finalize();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -119,6 +119,25 @@
</span><span class="cx">     return builder.Finalize();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+const char* numberToCSSString(double d, NumberToCSSStringBuffer& buffer)
+{
+    // Mimic sprintf("%.[precision]f", ...).
+    // "f": Signed value having the form [ – ]dddd.dddd, where dddd is one or more decimal digits.
+    // The number of digits before the decimal point depends on the magnitude of the number, and
+    // the number of digits after the decimal point depends on the requested precision.
+    // "precision": The precision value specifies the number of digits after the decimal point.
+    // If a decimal point appears, at least one digit appears before it.
+    // The value is rounded to the appropriate number of digits.
+    double_conversion::StringBuilder builder(&buffer[0], sizeof(buffer));
+    auto& converter = double_conversion::DoubleToStringConverter::CSSConverter();
+    converter.ToFixedUncapped(d, 6, &builder);
+    truncateTrailingZeros(buffer.data(), builder);
+    // If we've truncated the trailing zeros and a trailing decimal, we may have a -0. Remove the negative sign in this case.
+    if (builder.position() == 2 && buffer[0] == '-' && buffer[1] == '0')
+        builder.RemoveCharacters(0, 1);
+    return builder.Finalize();
+}
+
</ins><span class="cx"> namespace Internal {
</span><span class="cx"> 
</span><span class="cx"> double parseDoubleFromLongString(const UChar* string, size_t length, size_t& parsedLength)
</span></span></pre></div>
<a id="trunkSourceWTFwtfdtoah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/dtoa.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/dtoa.h      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/wtf/dtoa.h 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -31,6 +31,10 @@
</span><span class="cx"> // <-> + <21 digits> + decimal point + <100 digits> + null char = 124.
</span><span class="cx"> using NumberToStringBuffer = std::array<char, 124>;
</span><span class="cx"> 
</span><ins>+
+// <-> + <320 digits> + decimal point + <6 digits> + null char = 329
+using NumberToCSSStringBuffer = std::array<char, 329>;
+
</ins><span class="cx"> WTF_EXPORT_PRIVATE const char* numberToString(float, NumberToStringBuffer&);
</span><span class="cx"> WTF_EXPORT_PRIVATE const char* numberToFixedPrecisionString(float, unsigned significantFigures, NumberToStringBuffer&, bool truncateTrailingZeros = false);
</span><span class="cx"> WTF_EXPORT_PRIVATE const char* numberToFixedWidthString(float, unsigned decimalPlaces, NumberToStringBuffer&);
</span><span class="lines">@@ -39,6 +43,9 @@
</span><span class="cx"> WTF_EXPORT_PRIVATE const char* numberToFixedPrecisionString(double, unsigned significantFigures, NumberToStringBuffer&, bool truncateTrailingZeros = false);
</span><span class="cx"> WTF_EXPORT_PRIVATE const char* numberToFixedWidthString(double, unsigned decimalPlaces, NumberToStringBuffer&);
</span><span class="cx"> 
</span><ins>+// Fixed width with up to 6 decimal places, trailing zeros truncated.
+WTF_EXPORT_PRIVATE const char* numberToCSSString(double, NumberToCSSStringBuffer&);
+
</ins><span class="cx"> double parseDouble(const LChar* string, size_t length, size_t& parsedLength);
</span><span class="cx"> double parseDouble(const UChar* string, size_t length, size_t& parsedLength);
</span><span class="cx"> double parseDouble(StringView, size_t& parsedLength);
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringConcatenateNumbersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringConcatenateNumbers.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringConcatenateNumbers.h     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WTF/wtf/text/StringConcatenateNumbers.h        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -128,6 +128,41 @@
</span><span class="cx">     const FormattedNumber& m_number;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+class FormattedCSSNumber {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    static FormattedCSSNumber create(double number)
+    {
+        FormattedCSSNumber numberFormatter;
+        numberToCSSString(number, numberFormatter.m_buffer);
+        numberFormatter.m_length = std::strlen(&numberFormatter.m_buffer[0]);
+        return numberFormatter;
+    } 
+
+    unsigned length() const { return m_length; }
+    const LChar* buffer() const { return reinterpret_cast<const LChar*>(&m_buffer[0]); }
+
+private:
+    NumberToCSSStringBuffer m_buffer;
+    unsigned m_length;
+};
+
+template<> class StringTypeAdapter<FormattedCSSNumber> {
+public:
+    StringTypeAdapter(const FormattedCSSNumber& number)
+        : m_number { number }
+    {
+    }
+
+    unsigned length() const { return m_number.length(); }
+    bool is8Bit() const { return true; }
+    template<typename CharacterType> void writeTo(CharacterType* destination) const { StringImpl::copyCharacters(destination, m_number.buffer(), m_number.length()); }
+
+private:
+    const FormattedCSSNumber& m_number;
+};
+
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> using WTF::FormattedNumber;
</span><ins>+using WTF::FormattedCSSNumber;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/ChangeLog      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1,3 +1,77 @@
</span><ins>+2021-11-29 Simon Fraser  <simon.fraser@apple.com> 
+
+        Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec
+        https://bugs.webkit.org/show_bug.cgi?id=218880
+
+        Reviewed by Darin Adler.
+
+        Serializes CSS numbers with up to a maximum of 6 decimal places, as required by CSSOM-1
+        https://www.w3.org/TR/cssom-1/#serialize-a-css-component-value
+
+        Introduces CSSUnitType::CSS_INTEGER to differentiate types that are explicitly integers, and uses the
+        new <number> serialization for CSS_NUMBER.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::valueForGridPosition):
+        (WebCore::counterToCSSValue):
+        (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
+        * css/CSSPrimitiveValue.cpp:
+        (WebCore::isValidCSSUnitTypeForDoubleConversion):
+        (WebCore::isStringType):
+        (WebCore::CSSPrimitiveValue::cleanup):
+        (WebCore::CSSPrimitiveValue::doubleValueInternal const):
+        (WebCore::CSSPrimitiveValue::formatNumberValue const):
+        (WebCore::CSSPrimitiveValue::formatIntegerValue const):
+        (WebCore::CSSPrimitiveValue::unitTypeString):
+        (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
+        (WebCore::CSSPrimitiveValue::equals const):
+        * css/CSSPrimitiveValue.h:
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::operator short const):
+        (WebCore::CSSPrimitiveValue::operator unsigned short const):
+        (WebCore::CSSPrimitiveValue::operator int const):
+        (WebCore::CSSPrimitiveValue::operator unsigned const):
+        (WebCore::CSSPrimitiveValue::operator float const):
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+        (WebCore::CSSPrimitiveValue::operator LineClampValue const):
+        (WebCore::CSSPrimitiveValue::operator ColumnSpan const):
+        * css/CSSUnits.cpp:
+        (WebCore::unitCategory):
+        (WebCore::operator<<):
+        * css/CSSUnits.h:
+        * css/DeprecatedCSSOMPrimitiveValue.cpp:
+        (WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType const):
+        * css/MediaQueryEvaluator.cpp:
+        (WebCore::doubleValue):
+        (WebCore::evaluateResolution):
+        (WebCore::devicePixelRatioEvaluate):
+        (WebCore::computeLength):
+        * css/MediaQueryExpression.cpp:
+        (WebCore::featureWithValidPositiveLength):
+        (WebCore::featureWithPositiveInteger):
+        (WebCore::featureWithPositiveNumber):
+        (WebCore::featureWithZeroOrOne):
+        (WebCore::MediaQueryExpression::MediaQueryExpression):
+        * css/StyleProperties.cpp:
+        (WebCore::StyleProperties::getPropertyValue const):
+        * css/calc/CSSCalcCategoryMapping.cpp:
+        (WebCore::calcUnitCategory):
+        (WebCore::calculationCategoryForCombination):
+        (WebCore::hasDoubleValue):
+        * css/calc/CSSCalcPrimitiveValueNode.cpp:
+        (WebCore::CSSCalcPrimitiveValueNode::isNumericValue const):
+        * css/parser/CSSParserImpl.cpp:
+        (WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::consumeCounter):
+        (WebCore::consumeCounterStyleRange):
+        * css/parser/CSSPropertyParserHelpers.cpp:
+        (WebCore::CSSPropertyParserHelpers::CalcParser::consumeInteger):
+        (WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
+        (WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
+        * style/StyleBuilderConverter.h:
+        (WebCore::Style::BuilderConverter::createGridPosition):
+
</ins><span class="cx"> 2022-01-11  Peng Liu  <peng.liu6@apple.com>
</span><span class="cx"> 
</span><span class="cx">         DataURLResourceMediaLoader decodes the URL repeatedly during a video playback
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1069,9 +1069,9 @@
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     if (position.isSpan()) {
</span><span class="cx">         list->append(cssValuePool.createIdentifierValue(CSSValueSpan));
</span><del>-        list->append(cssValuePool.createValue(position.spanPosition(), CSSUnitType::CSS_NUMBER));
</del><ins>+        list->append(cssValuePool.createValue(position.spanPosition(), CSSUnitType::CSS_INTEGER));
</ins><span class="cx">     } else
</span><del>-        list->append(cssValuePool.createValue(position.integerPosition(), CSSUnitType::CSS_NUMBER));
</del><ins>+        list->append(cssValuePool.createValue(position.integerPosition(), CSSUnitType::CSS_INTEGER));
</ins><span class="cx"> 
</span><span class="cx">     if (!position.namedGridLine().isNull())
</span><span class="cx">         list->append(cssValuePool.createCustomIdent(position.namedGridLine()));
</span><span class="lines">@@ -1940,8 +1940,8 @@
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx">     for (auto& keyValue : *map) {
</span><span class="cx">         list->append(cssValuePool.createCustomIdent(keyValue.key));
</span><del>-        double number = (propertyID == CSSPropertyCounterIncrement ? keyValue.value.incrementValue : keyValue.value.resetValue).value_or(0);
-        list->append(cssValuePool.createValue(number, CSSUnitType::CSS_NUMBER));
</del><ins>+        int number = (propertyID == CSSPropertyCounterIncrement ? keyValue.value.incrementValue : keyValue.value.resetValue).value_or(0);
+        list->append(cssValuePool.createValue(number, CSSUnitType::CSS_INTEGER));
</ins><span class="cx">     }
</span><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="lines">@@ -2976,11 +2976,11 @@
</span><span class="cx">         case CSSPropertyWebkitBoxFlex:
</span><span class="cx">             return cssValuePool.createValue(style.boxFlex(), CSSUnitType::CSS_NUMBER);
</span><span class="cx">         case CSSPropertyWebkitBoxFlexGroup:
</span><del>-            return cssValuePool.createValue(style.boxFlexGroup(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.boxFlexGroup(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyWebkitBoxLines:
</span><span class="cx">             return cssValuePool.createValue(style.boxLines());
</span><span class="cx">         case CSSPropertyWebkitBoxOrdinalGroup:
</span><del>-            return cssValuePool.createValue(style.boxOrdinalGroup(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.boxOrdinalGroup(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyWebkitBoxOrient:
</span><span class="cx">             return cssValuePool.createValue(style.boxOrient());
</span><span class="cx">         case CSSPropertyWebkitBoxPack:
</span><span class="lines">@@ -3097,7 +3097,7 @@
</span><span class="cx">         case CSSPropertyPlaceSelf:
</span><span class="cx">             return getCSSPropertyValuesForShorthandProperties(placeSelfShorthand());
</span><span class="cx">         case CSSPropertyOrder:
</span><del>-            return cssValuePool.createValue(style.order(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.order(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyFloat:
</span><span class="cx">             if (style.display() != DisplayType::None && style.hasOutOfFlowPosition())
</span><span class="cx">                 return cssValuePool.createIdentifierValue(CSSValueNone);
</span><span class="lines">@@ -3249,7 +3249,7 @@
</span><span class="cx">         case CSSPropertyWebkitLineClamp:
</span><span class="cx">             if (style.lineClamp().isNone())
</span><span class="cx">                 return cssValuePool.createIdentifierValue(CSSValueNone);
</span><del>-            return cssValuePool.createValue(style.lineClamp().value(), style.lineClamp().isPercentage() ? CSSUnitType::CSS_PERCENTAGE : CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.lineClamp().value(), style.lineClamp().isPercentage() ? CSSUnitType::CSS_PERCENTAGE : CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyLineHeight:
</span><span class="cx">             return lineHeightFromStyle(style);
</span><span class="cx">         case CSSPropertyListStyleImage:
</span><span class="lines">@@ -3335,7 +3335,7 @@
</span><span class="cx">         case CSSPropertyOrphans:
</span><span class="cx">             if (style.hasAutoOrphans())
</span><span class="cx">                 return cssValuePool.createIdentifierValue(CSSValueAuto);
</span><del>-            return cssValuePool.createValue(style.orphans(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.orphans(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyOutlineColor:
</span><span class="cx">             return m_allowVisitedStyle ? cssValuePool.createColorValue(style.visitedDependentColor(CSSPropertyOutlineColor)) : currentColorOrValidColor(&style, style.outlineColor());
</span><span class="cx">         case CSSPropertyOutlineOffset:
</span><span class="lines">@@ -3527,7 +3527,7 @@
</span><span class="cx">         case CSSPropertyWidows:
</span><span class="cx">             if (style.hasAutoWidows())
</span><span class="cx">                 return cssValuePool.createIdentifierValue(CSSValueAuto);
</span><del>-            return cssValuePool.createValue(style.widows(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.widows(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyWidth:
</span><span class="cx">             if (renderer && !renderer->isRenderOrLegacyRenderSVGModelObject()) {
</span><span class="cx">                 // According to http://www.w3.org/TR/CSS2/visudet.html#the-width-property,
</span><span class="lines">@@ -3569,7 +3569,7 @@
</span><span class="cx">         case CSSPropertyZIndex:
</span><span class="cx">             if (style.hasAutoSpecifiedZIndex())
</span><span class="cx">                 return cssValuePool.createIdentifierValue(CSSValueAuto);
</span><del>-            return cssValuePool.createValue(style.specifiedZIndex(), CSSUnitType::CSS_NUMBER);
</del><ins>+            return cssValuePool.createValue(style.specifiedZIndex(), CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         case CSSPropertyZoom:
</span><span class="cx">             return cssValuePool.createValue(style.zoom(), CSSUnitType::CSS_NUMBER);
</span><span class="cx">         case CSSPropertyBoxSizing:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValue.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValue.cpp   2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSPrimitiveValue.cpp      2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -78,6 +78,7 @@
</span><span class="cx">     case CSSUnitType::CSS_MM:
</span><span class="cx">     case CSSUnitType::CSS_MS:
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">     case CSSUnitType::CSS_PC:
</span><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">     case CSSUnitType::CSS_PT:
</span><span class="lines">@@ -186,6 +187,7 @@
</span><span class="cx">     case CSSUnitType::CSS_MM:
</span><span class="cx">     case CSSUnitType::CSS_MS:
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">     case CSSUnitType::CSS_PAIR:
</span><span class="cx">     case CSSUnitType::CSS_PC:
</span><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="lines">@@ -545,6 +547,7 @@
</span><span class="cx">         break;
</span><span class="cx">     case CSSUnitType::CSS_DIMENSION:
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">     case CSSUnitType::CSS_EMS:
</span><span class="cx">     case CSSUnitType::CSS_QUIRKY_EMS:
</span><span class="lines">@@ -1103,7 +1106,7 @@
</span><span class="cx">             return std::nullopt;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (sourceUnitType == CSSUnitType::CSS_NUMBER) {
</del><ins>+    if (sourceUnitType == CSSUnitType::CSS_NUMBER || sourceUnitType == CSSUnitType::CSS_INTEGER) {
</ins><span class="cx">         // We interpret conversion from CSSUnitType::CSS_NUMBER in the same way as CSSParser::validUnit() while using non-strict mode.
</span><span class="cx">         sourceUnitType = canonicalUnitTypeForCategory(targetCategory);
</span><span class="cx">         if (sourceUnitType == CSSUnitType::CSS_UNKNOWN)
</span><span class="lines">@@ -1144,6 +1147,11 @@
</span><span class="cx"> 
</span><span class="cx"> NEVER_INLINE String CSSPrimitiveValue::formatNumberValue(StringView suffix) const
</span><span class="cx"> {
</span><ins>+    return makeString(FormattedCSSNumber::create(m_value.num), suffix);
+}
+
+NEVER_INLINE String CSSPrimitiveValue::formatIntegerValue(StringView suffix) const
+{
</ins><span class="cx">     if (m_value.num == std::numeric_limits<double>::infinity())
</span><span class="cx">         return makeString("infinity", suffix);
</span><span class="cx">     if (m_value.num == -1 * std::numeric_limits<double>::infinity())
</span><span class="lines">@@ -1210,6 +1218,7 @@
</span><span class="cx"> 
</span><span class="cx">         case CSSUnitType::CSS_UNKNOWN:
</span><span class="cx">         case CSSUnitType::CSS_NUMBER:
</span><ins>+        case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">         case CSSUnitType::CSS_DIMENSION:
</span><span class="cx">         case CSSUnitType::CSS_STRING:
</span><span class="cx">         case CSSUnitType::CSS_URI:
</span><span class="lines">@@ -1244,6 +1253,8 @@
</span><span class="cx">         return String();
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><span class="cx">         return formatNumberValue("");
</span><ins>+    case CSSUnitType::CSS_INTEGER:
+        return formatIntegerValue("");
</ins><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">         return formatNumberValue("%");
</span><span class="cx">     case CSSUnitType::CSS_EMS:
</span><span class="lines">@@ -1435,6 +1446,7 @@
</span><span class="cx">     case CSSUnitType::CSS_UNKNOWN:
</span><span class="cx">         return false;
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">     case CSSUnitType::CSS_EMS:
</span><span class="cx">     case CSSUnitType::CSS_QUIRKY_EMS:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValue.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValue.h     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSPrimitiveValue.h        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -90,6 +90,8 @@
</span><span class="cx">     bool isQuirkyEms() const { return primitiveType() == CSSUnitType::CSS_QUIRKY_EMS; }
</span><span class="cx">     bool isLength() const { return isLength(static_cast<CSSUnitType>(primitiveType())); }
</span><span class="cx">     bool isNumber() const { return primitiveType() == CSSUnitType::CSS_NUMBER; }
</span><ins>+    bool isInteger() const { return primitiveType() == CSSUnitType::CSS_INTEGER; }
+    bool isNumberOrInteger() const { return isNumber() || isInteger(); }
</ins><span class="cx">     bool isPercentage() const { return primitiveType() == CSSUnitType::CSS_PERCENTAGE; }
</span><span class="cx">     bool isPx() const { return primitiveType() == CSSUnitType::CSS_PX; }
</span><span class="cx">     bool isRect() const { return primitiveUnitType() == CSSUnitType::CSS_RECT; }
</span><span class="lines">@@ -252,6 +254,7 @@
</span><span class="cx"> 
</span><span class="cx">     ALWAYS_INLINE String formatNumberForCustomCSSText() const;
</span><span class="cx">     NEVER_INLINE String formatNumberValue(StringView) const;
</span><ins>+    NEVER_INLINE String formatIntegerValue(StringView) const;
</ins><span class="cx">     static constexpr bool isFontIndependentLength(CSSUnitType);
</span><span class="cx">     static constexpr bool isFontRelativeLength(CSSUnitType);
</span><span class="cx">     static constexpr bool isResolution(CSSUnitType);
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueMappingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator short() const
</span><span class="cx"> {
</span><del>-    if (primitiveUnitType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_NUMBER || primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return clampTo<short>(m_value.num);
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator unsigned short() const
</span><span class="cx"> {
</span><del>-    if (primitiveType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_NUMBER || primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return value<unsigned short>();
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator int() const
</span><span class="cx"> {
</span><del>-    if (primitiveType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_NUMBER || primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return value<int>();
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator unsigned() const
</span><span class="cx"> {
</span><del>-    if (primitiveType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_NUMBER || primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return value<unsigned>();
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator float() const
</span><span class="cx"> {
</span><del>-    if (primitiveType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_NUMBER || primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return value<float>();
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -120,13 +120,13 @@
</span><span class="cx"> template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineClampValue i)
</span><span class="cx">     : CSSValue(PrimitiveClass)
</span><span class="cx"> {
</span><del>-    setPrimitiveUnitType(i.isPercentage() ? CSSUnitType::CSS_PERCENTAGE : CSSUnitType::CSS_NUMBER);
</del><ins>+    setPrimitiveUnitType(i.isPercentage() ? CSSUnitType::CSS_PERCENTAGE : CSSUnitType::CSS_INTEGER);
</ins><span class="cx">     m_value.num = static_cast<double>(i.value());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator LineClampValue() const
</span><span class="cx"> {
</span><del>-    if (primitiveType() == CSSUnitType::CSS_NUMBER)
</del><ins>+    if (primitiveType() == CSSUnitType::CSS_INTEGER)
</ins><span class="cx">         return LineClampValue(value<int>(), LineClamp::LineCount);
</span><span class="cx"> 
</span><span class="cx">     if (primitiveType() == CSSUnitType::CSS_PERCENTAGE)
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx"> template<> inline CSSPrimitiveValue::operator ColumnSpan() const
</span><span class="cx"> {
</span><span class="cx">     // Map 1 to none for compatibility reasons.
</span><del>-    if (primitiveUnitType() == CSSUnitType::CSS_NUMBER && m_value.num == 1)
</del><ins>+    if ((primitiveUnitType() == CSSUnitType::CSS_NUMBER || primitiveUnitType() == CSSUnitType::CSS_INTEGER) && m_value.num == 1)
</ins><span class="cx">         return ColumnSpan::None;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(isValueID());
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSUnitscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSUnits.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSUnits.cpp    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSUnits.cpp       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">         return CSSUnitCategory::Number;
</span><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">         return CSSUnitCategory::Percent;
</span><span class="lines">@@ -109,6 +110,7 @@
</span><span class="cx">     switch (unitType) {
</span><span class="cx">     case CSSUnitType::CSS_UNKNOWN: ts << "unknown"; break;
</span><span class="cx">     case CSSUnitType::CSS_NUMBER: ts << "number"; break;
</span><ins>+    case CSSUnitType::CSS_INTEGER: ts << "integer"; break;
</ins><span class="cx">     case CSSUnitType::CSS_PERCENTAGE: ts << "percentage"; break;
</span><span class="cx">     case CSSUnitType::CSS_EMS: ts << "ems"; break;
</span><span class="cx">     case CSSUnitType::CSS_EXS: ts << "exs"; break;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSUnitsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSUnits.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSUnits.h      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/CSSUnits.h 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> enum class CSSUnitType : uint8_t {
</span><span class="cx">     CSS_UNKNOWN,
</span><span class="cx">     CSS_NUMBER,
</span><ins>+    CSS_INTEGER,
</ins><span class="cx">     CSS_PERCENTAGE,
</span><span class="cx">     CSS_EMS,
</span><span class="cx">     CSS_EXS,
</span></span></pre></div>
<a id="trunkSourceWebCorecssDeprecatedCSSOMPrimitiveValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx">     case CSSUnitType::CSS_GRAD:                         return CSS_GRAD;
</span><span class="cx">     case CSSUnitType::CSS_HZ:                           return CSS_HZ;
</span><span class="cx">     case CSSUnitType::CSS_IDENT:                        return CSS_IDENT;
</span><ins>+    case CSSUnitType::CSS_INTEGER:                      return CSS_NUMBER;
</ins><span class="cx">     case CSSUnitType::CustomIdent:                      return CSS_IDENT;
</span><span class="cx">     case CSSUnitType::CSS_IN:                           return CSS_IN;
</span><span class="cx">     case CSSUnitType::CSS_KHZ:                          return CSS_KHZ;
</span></span></pre></div>
<a id="trunkSourceWebCorecssMediaQueryEvaluatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/MediaQueryEvaluator.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/MediaQueryEvaluator.cpp 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/MediaQueryEvaluator.cpp    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx"> 
</span><span class="cx"> static std::optional<double> doubleValue(CSSValue* value)
</span><span class="cx"> {
</span><del>-    if (!is<CSSPrimitiveValue>(value) || !downcast<CSSPrimitiveValue>(*value).isNumber())
</del><ins>+    if (!is<CSSPrimitiveValue>(value) || !downcast<CSSPrimitiveValue>(*value).isNumberOrInteger())
</ins><span class="cx">         return std::nullopt;
</span><span class="cx">     return downcast<CSSPrimitiveValue>(*value).doubleValue(CSSUnitType::CSS_NUMBER);
</span><span class="cx"> }
</span><span class="lines">@@ -435,7 +435,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     auto& resolution = downcast<CSSPrimitiveValue>(*value);
</span><del>-    float resolutionValue = resolution.isNumber() ? resolution.floatValue() : resolution.floatValue(CSSUnitType::CSS_DPPX);
</del><ins>+    float resolutionValue = resolution.isNumberOrInteger() ? resolution.floatValue() : resolution.floatValue(CSSUnitType::CSS_DPPX);
</ins><span class="cx">     bool result = compareValue(deviceScaleFactor, resolutionValue, op);
</span><span class="cx">     LOG_WITH_STREAM(MediaQueries, stream << "  evaluateResolution: " << op << " " << resolutionValue << " device scale factor " << deviceScaleFactor << ": " << result);
</span><span class="cx">     return result;
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> 
</span><span class="cx"> static bool devicePixelRatioEvaluate(CSSValue* value, const CSSToLengthConversionData&, Frame& frame, MediaFeaturePrefix op)
</span><span class="cx"> {
</span><del>-    return (!value || (is<CSSPrimitiveValue>(*value) && downcast<CSSPrimitiveValue>(*value).isNumber())) && evaluateResolution(value, frame, op);
</del><ins>+    return (!value || (is<CSSPrimitiveValue>(*value) && downcast<CSSPrimitiveValue>(*value).isNumberOrInteger())) && evaluateResolution(value, frame, op);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool resolutionEvaluate(CSSValue* value, const CSSToLengthConversionData&, Frame& frame, MediaFeaturePrefix op)
</span><span class="lines">@@ -492,7 +492,7 @@
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="cx">     auto& primitiveValue = downcast<CSSPrimitiveValue>(*value);
</span><del>-    if (primitiveValue.isNumber()) {
</del><ins>+    if (primitiveValue.isNumberOrInteger()) {
</ins><span class="cx">         double value = primitiveValue.doubleValue();
</span><span class="cx">         // The only unitless number value allowed in strict mode is zero.
</span><span class="cx">         if (strict && value)
</span></span></pre></div>
<a id="trunkSourceWebCorecssMediaQueryExpressioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/MediaQueryExpression.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/MediaQueryExpression.cpp        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/MediaQueryExpression.cpp   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline bool featureWithValidPositiveLength(const String& mediaFeature, const CSSPrimitiveValue& value)
</span><span class="cx"> {
</span><del>-    if (!(value.isLength() || (value.isNumber() && !value.doubleValue())) || value.doubleValue() < 0)
</del><ins>+    if (!(value.isLength() || (value.isNumberOrInteger() && !value.doubleValue())) || value.doubleValue() < 0)
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     return mediaFeature == MediaFeatureNames::height
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline bool featureWithPositiveInteger(const String& mediaFeature, const CSSPrimitiveValue& value)
</span><span class="cx"> {
</span><del>-    if (!value.isNumber())
</del><ins>+    if (!value.isInteger())
</ins><span class="cx">         return false;
</span><span class="cx">     return featureExpectingPositiveInteger(mediaFeature);
</span><span class="cx"> }
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline bool featureWithPositiveNumber(const String& mediaFeature, const CSSPrimitiveValue& value)
</span><span class="cx"> {
</span><del>-    if (!value.isNumber())
</del><ins>+    if (!value.isNumberOrInteger())
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     return mediaFeature == MediaFeatureNames::transform3d
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline bool featureWithZeroOrOne(const String& mediaFeature, const CSSPrimitiveValue& value)
</span><span class="cx"> {
</span><del>-    if (!value.isNumber() || !(value.doubleValue() == 1 || !value.doubleValue()))
</del><ins>+    if (!value.isNumberOrInteger() || !(value.doubleValue() == 1 || !value.doubleValue()))
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     return mediaFeature == MediaFeatureNames::grid;
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx">     }
</span><span class="cx">     // Create value for media query expression that must have 1 or more values.
</span><span class="cx">     if (isAspectRatioFeature(m_mediaFeature)) {
</span><del>-        if (!firstValue->isNumber() || !firstValue->doubleValue())
</del><ins>+        if (!firstValue->isNumberOrInteger() || !firstValue->doubleValue())
</ins><span class="cx">             return;
</span><span class="cx">         if (!CSSPropertyParserHelpers::consumeSlashIncludingWhitespace(range))
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.cpp     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/StyleProperties.cpp        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">         case CSSPropertyOpacity:
</span><span class="cx">         case CSSPropertyStopOpacity:
</span><span class="cx">         case CSSPropertyStrokeOpacity:
</span><del>-            // Opacity percentage values serialize as a fraction in the range 0-1, no "%".
</del><ins>+            // Opacity percentage values serialize as a fraction in the range 0-1, not "%".
</ins><span class="cx">             if (is<CSSPrimitiveValue>(*value) && downcast<CSSPrimitiveValue>(*value).isPercentage())
</span><span class="cx">                 return makeString(downcast<CSSPrimitiveValue>(*value).doubleValue() / 100);
</span><span class="cx">             FALLTHROUGH;
</span></span></pre></div>
<a id="trunkSourceWebCorecsscalcCSSCalcCategoryMappingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp 2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp    2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">         return CalculationCategory::Number;
</span><span class="cx">     case CSSUnitType::CSS_EMS:
</span><span class="cx">     case CSSUnitType::CSS_EXS:
</span><span class="lines">@@ -97,6 +98,7 @@
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">         return CalculationCategory::Number;
</span><span class="cx">     case CSSUnitType::CSS_PX:
</span><span class="cx">     case CSSUnitType::CSS_CM:
</span><span class="lines">@@ -177,6 +179,7 @@
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case CSSUnitType::CSS_NUMBER:
</span><ins>+    case CSSUnitType::CSS_INTEGER:
</ins><span class="cx">     case CSSUnitType::CSS_PERCENTAGE:
</span><span class="cx">     case CSSUnitType::CSS_EMS:
</span><span class="cx">     case CSSUnitType::CSS_EXS:
</span></span></pre></div>
<a id="trunkSourceWebCorecsscalcCSSCalcPrimitiveValueNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp      2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp 2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> // FIXME: Use calcUnitCategory?
</span><span class="cx"> bool CSSCalcPrimitiveValueNode::isNumericValue() const
</span><span class="cx"> {
</span><del>-    return m_value->isLength() || m_value->isNumber() || m_value->isPercentage() || m_value->isAngle()
</del><ins>+    return m_value->isLength() || m_value->isNumber() || m_value->isInteger() || m_value->isPercentage() || m_value->isAngle()
</ins><span class="cx">         || m_value->isTime() || m_value->isResolution() || m_value->isFlex() || m_value->isFrequency();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParserImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParserImpl.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParserImpl.cpp        2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/parser/CSSParserImpl.cpp   2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -694,7 +694,7 @@
</span><span class="cx">     std::optional<FontPaletteIndex> basePalette;
</span><span class="cx">     if (auto basePaletteValue = properties->getPropertyCSSValue(CSSPropertyBasePalette)) {
</span><span class="cx">         const auto& primitiveValue = downcast<CSSPrimitiveValue>(*basePaletteValue);
</span><del>-        if (primitiveValue.isNumber())
</del><ins>+        if (primitiveValue.isInteger())
</ins><span class="cx">             basePalette = FontPaletteIndex(primitiveValue.value<unsigned>());
</span><span class="cx">         else if (primitiveValue.valueID() == CSSValueLight)
</span><span class="cx">             basePalette = FontPaletteIndex(FontPaletteIndex::Type::Light);
</span><span class="lines">@@ -707,7 +707,7 @@
</span><span class="cx">         const auto& list = downcast<CSSValueList>(*overrideColorsValue);
</span><span class="cx">         for (const auto& item : list) {
</span><span class="cx">             const auto& pair = downcast<CSSFontPaletteValuesOverrideColorsValue>(item.get());
</span><del>-            if (!pair.key().isNumber())
</del><ins>+            if (!pair.key().isInteger())
</ins><span class="cx">                 continue;
</span><span class="cx">             unsigned key = pair.key().value<unsigned>();
</span><span class="cx">             Color color = pair.color().isRGBColor() ? pair.color().color() : StyleColor::colorFromKeyword(pair.color().valueID(), { });
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp    2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp       2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1111,7 +1111,7 @@
</span><span class="cx">         int i = defaultValue;
</span><span class="cx">         if (auto counterValue = consumeIntegerRaw(range))
</span><span class="cx">             i = *counterValue;
</span><del>-        list->append(createPrimitiveValuePair(counterName.releaseNonNull(), CSSPrimitiveValue::create(i, CSSUnitType::CSS_NUMBER), Pair::IdenticalValueEncoding::Coalesce));
</del><ins>+        list->append(createPrimitiveValuePair(counterName.releaseNonNull(), CSSPrimitiveValue::create(i, CSSUnitType::CSS_INTEGER), Pair::IdenticalValueEncoding::Coalesce));
</ins><span class="cx">     } while (!range.atEnd());
</span><span class="cx">     return list;
</span><span class="cx"> }
</span><span class="lines">@@ -4801,7 +4801,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If the lower bound of any range is higher than the upper bound, the entire descriptor is invalid and must be
</span><span class="cx">         // ignored.
</span><del>-        if (lowerBound->isNumber() && upperBound->isNumber() && lowerBound->intValue() > upperBound->intValue())
</del><ins>+        if (lowerBound->isInteger() && upperBound->isInteger() && lowerBound->intValue() > upperBound->intValue())
</ins><span class="cx">             return nullptr;
</span><span class="cx">         rangeList->append(createPrimitiveValuePair(lowerBound.releaseNonNull(), upperBound.releaseNonNull(), Pair::IdenticalValueEncoding::DoNotCoalesce));
</span><span class="cx">     } while (consumeCommaIncludingWhitespace(range));
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParserHelperscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp     2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp        2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx">         ASSERT(range.peek().type() == FunctionToken);
</span><span class="cx"> 
</span><span class="cx">         if (auto integer = IntegerTypeRawKnownTokenTypeFunctionConsumer<IntType, integerRange>::consume(range, symbolTable, valueRange, parserMode, unitless, unitlessZero))
</span><del>-            return pool.createValue(*integer, CSSUnitType::CSS_NUMBER);
</del><ins>+            return pool.createValue(*integer, CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">         ASSERT(range.peek().type() == NumberToken);
</span><span class="cx">         
</span><span class="cx">         if (auto integer = IntegerTypeRawKnownTokenTypeNumberConsumer<IntType, integerRange>::consume(range, symbolTable, valueRange, parserMode, unitless, unitlessZero))
</span><del>-            return pool.createValue(*integer, CSSUnitType::CSS_NUMBER);
</del><ins>+            return pool.createValue(*integer, CSSUnitType::CSS_INTEGER);
</ins><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleBuilderConverterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleBuilderConverter.h (287908 => 287909)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleBuilderConverter.h       2022-01-12 04:03:20 UTC (rev 287908)
+++ trunk/Source/WebCore/style/StyleBuilderConverter.h  2022-01-12 04:08:49 UTC (rev 287909)
</span><span class="lines">@@ -1089,7 +1089,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     int gridLineNumber = 0;
</span><del>-    if (currentValue && currentValue->isNumber()) {
</del><ins>+    if (currentValue && currentValue->isInteger()) {
</ins><span class="cx">         gridLineNumber = currentValue->intValue();
</span><span class="cx">         ++it;
</span><span class="cx">         currentValue = it != values.end() ? &downcast<CSSPrimitiveValue>(it->get()) : nullptr;
</span></span></pre>
</div>
</div>

</body>
</html>