Bug 1449075 - comma and/or whitespace should be mandatory to separate transform values r=dholbert

This commit is contained in:
Robert Longson 2018-03-28 19:05:39 +01:00
Родитель 37cb72e227
Коммит 46442efe5d
3 изменённых файлов: 21 добавлений и 1 удалений

Просмотреть файл

@ -114,7 +114,11 @@ SVGTransformListParser::ParseArguments(float* aResult,
}
*aParsedCount = 1;
while (SkipWsp()) {
while (true) {
RangedPtr<const char16_t> iter(mIter);
if (!SkipWsp()) {
return false;
}
if (*mIter == ')') {
++mIter;
return true;
@ -123,6 +127,10 @@ SVGTransformListParser::ParseArguments(float* aResult,
return false;
}
SkipCommaWsp();
if (iter == mIter) {
// There must be either whitespace or a comma between values
return false;
}
if (!SVGContentUtils::ParseNumber(mIter, mEnd, aResult[(*aParsedCount)++])) {
return false;
}

Просмотреть файл

@ -483,6 +483,7 @@ fuzzy-if(skiaContent,1,610) == textPath-03.svg pass.svg
== thin-stroke-01.svg pass.svg
== transform-01.svg pass.svg
== transform-outer-svg-01.svg transform-outer-svg-01-ref.svg
== tspan-dxdy-01.svg tspan-dxdy-ref.svg

Просмотреть файл

@ -0,0 +1,11 @@
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg xmlns="http://www.w3.org/2000/svg">
<rect width="100%" height="100%" fill="lime"/>
<rect x="25" y="25" width="50" height="50" fill="red"/>
<g transform="translate(-100-100)">
<rect x="24" y="24" width="52" height="52" fill="lime"/>
</g>
</svg>

После

Ширина:  |  Высота:  |  Размер: 379 B