Bug 1315403-no whitespace between "!" and "important" in Declaration::AppendPropertyAndValueToString and Declaration::AppendVariableAndValueToStr, r=xidorn

MozReview-Commit-ID: BKGqEpn0utp

--HG--
extra : rebase_source : dab61f244d5ca7ec13603d55cbf091b9dd6400d7
This commit is contained in:
Conache Cristian 2016-11-20 14:42:11 +02:00
Родитель a9ba5c6a15
Коммит 5d2a9d651a
3 изменённых файлов: 37 добавлений и 2 удалений

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

@ -1590,7 +1590,7 @@ Declaration::AppendPropertyAndValueToString(nsCSSPropertyID aProperty,
else
aResult.Append(aValue);
if (GetPropertyIsImportantByID(aProperty)) {
aResult.AppendLiteral(" ! important");
aResult.AppendLiteral(" !important");
}
aResult.AppendLiteral("; ");
}
@ -1643,7 +1643,7 @@ Declaration::AppendVariableAndValueToString(const nsAString& aName,
}
if (important) {
aResult.AppendLiteral("! important");
aResult.AppendLiteral("!important");
}
aResult.AppendLiteral("; ");
}

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

@ -15393,6 +15393,10 @@
"path": "cors/status.htm",
"url": "/cors/status.htm"
},
{
"path": "cssom/serialization-CSSDeclaration-with-important.html",
"url": "/cssom/serialization-CSSDeclaration-with-important.html"
},
{
"path": "cssom-view/HTMLBody-ScrollArea_quirksmode.html",
"url": "/cssom-view/HTMLBody-ScrollArea_quirksmode.html"

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

@ -0,0 +1,31 @@
<!doctype html>
<meta charset=utf-8>
<title>cssom - Serialization of CSS declaration with "important" flag</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id="noWhitespace" style="display: inline !important;"></div>
<div id="whitespace" style="background-color: blue !important; color: red ! important;"></div>
<div id="dinamicallyStyle"></div>
<script>
test(function () {
var css_style = document.querySelector('#noWhitespace').style.cssText;
assert_equals(css_style, "display: inline !important;");
}, "Inline style declaration without whitespace between '!' and 'important'.");
test(function () {
var css_style = document.querySelector('#whitespace').style.cssText;
assert_equals(css_style, "background-color: blue !important; color: red !important;");
}, "Inline style declaration with whitespace between '!' and 'important'.");
test(function () {
document.querySelector('#dinamicallyStyle').style.cssText = "color: black !important;";
var css_style = document.querySelector('#dinamicallyStyle').style.cssText;
assert_equals(css_style, "color: black !important;");
}, "Style set dynamically via cssText without whitespace between '!' and 'important'.");
test(function () {
document.querySelector('#dinamicallyStyle').style.cssText = "color: black ! important;";
var css_style = document.querySelector('#dinamicallyStyle').style.cssText;
assert_equals(css_style, "color: black !important;");
}, "Style set dynamically via cssText with whitespace between '!' and 'important'.");
</script>