mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1512745 - Allow leading and trailing spaces for pairs as well r=longsonr
We also allow leading and trailing spaces for pair to be consistent with length, number, etc. Differential Revision: https://phabricator.services.mozilla.com/D25050 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
032362875a
commit
38c5f25215
@ -29,10 +29,6 @@ static nsresult ParseIntegerOptionalInteger(const nsAString& aValue,
|
||||
int32_t aValues[2]) {
|
||||
nsCharSeparatedTokenizerTemplate<nsContentUtils::IsHTMLWhitespace> tokenizer(
|
||||
aValue, ',', nsCharSeparatedTokenizer::SEPARATOR_OPTIONAL);
|
||||
if (tokenizer.whitespaceBeforeFirstToken()) {
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
}
|
||||
|
||||
uint32_t i;
|
||||
for (i = 0; i < 2 && tokenizer.hasMoreTokens(); ++i) {
|
||||
if (!SVGContentUtils::ParseInteger(tokenizer.nextToken(), aValues[i])) {
|
||||
@ -43,10 +39,9 @@ static nsresult ParseIntegerOptionalInteger(const nsAString& aValue,
|
||||
aValues[1] = aValues[0];
|
||||
}
|
||||
|
||||
if (i == 0 || // Too few values.
|
||||
tokenizer.hasMoreTokens() || // Too many values.
|
||||
tokenizer.whitespaceAfterCurrentToken() || // Trailing whitespace.
|
||||
tokenizer.separatorAfterCurrentToken()) { // Trailing comma.
|
||||
if (i == 0 || // Too few values.
|
||||
tokenizer.hasMoreTokens() || // Too many values.
|
||||
tokenizer.separatorAfterCurrentToken()) { // Trailing comma.
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
}
|
||||
|
||||
|
@ -25,10 +25,6 @@ static nsresult ParseNumberOptionalNumber(const nsAString& aValue,
|
||||
float aValues[2]) {
|
||||
nsCharSeparatedTokenizerTemplate<nsContentUtils::IsHTMLWhitespace> tokenizer(
|
||||
aValue, ',', nsCharSeparatedTokenizer::SEPARATOR_OPTIONAL);
|
||||
if (tokenizer.whitespaceBeforeFirstToken()) {
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
}
|
||||
|
||||
uint32_t i;
|
||||
for (i = 0; i < 2 && tokenizer.hasMoreTokens(); ++i) {
|
||||
if (!SVGContentUtils::ParseNumber(tokenizer.nextToken(), aValues[i])) {
|
||||
@ -39,10 +35,9 @@ static nsresult ParseNumberOptionalNumber(const nsAString& aValue,
|
||||
aValues[1] = aValues[0];
|
||||
}
|
||||
|
||||
if (i == 0 || // Too few values.
|
||||
tokenizer.hasMoreTokens() || // Too many values.
|
||||
tokenizer.whitespaceAfterCurrentToken() || // Trailing whitespace.
|
||||
tokenizer.separatorAfterCurrentToken()) { // Trailing comma.
|
||||
if (i == 0 || // Too few values.
|
||||
tokenizer.hasMoreTokens() || // Too many values.
|
||||
tokenizer.separatorAfterCurrentToken()) { // Trailing comma.
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
}
|
||||
|
||||
|
@ -56,6 +56,7 @@ skip-if = true # disabled-for-intermittent-failures--bug-701060
|
||||
[test_non-scaling-stroke.html]
|
||||
[test_object-delayed-intrinsic-size.html]
|
||||
[test_onerror.xhtml]
|
||||
[test_pairParsing.html]
|
||||
[test_pathAnimInterpolation.xhtml]
|
||||
skip-if = true # We need to polyfill the SVG DOM for path data
|
||||
[test_pointAtLength.xhtml]
|
||||
|
43
dom/svg/test/test_pairParsing.html
Normal file
43
dom/svg/test/test_pairParsing.html
Normal file
@ -0,0 +1,43 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1512745
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test pair parsing</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1512745">Mozilla Bug 1512745</a>
|
||||
|
||||
<svg width="230" height="120"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<filter><feGaussianBlur id="x1" stdDeviation=" 5 " /></filter>
|
||||
<filter><feGaussianBlur id="x2" stdDeviation=" 5 10 " /></filter>
|
||||
<filter><feGaussianBlur id="x3" stdDeviation="5 10 " /></filter>
|
||||
<filter><feGaussianBlur id="x4" stdDeviation=" 5,10 " /></filter>
|
||||
</svg>
|
||||
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
function checkValue(id, x, y) {
|
||||
if (y === undefined) {
|
||||
y = x;
|
||||
}
|
||||
let e = document.getElementById(id);
|
||||
is(e.stdDeviationX.baseVal, x, "Wrong stdDeviationX");
|
||||
is(e.stdDeviationY.baseVal, y, "Wrong stdDeviationY");
|
||||
}
|
||||
|
||||
checkValue("x1", 5);
|
||||
checkValue("x2", 5, 10);
|
||||
checkValue("x3", 5, 10);
|
||||
checkValue("x4", 5, 10);
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user