Bug 830260. Passing null as the value to CSSStyleDeclaration.setProperty should remove the property. r=heycam

This commit is contained in:
Boris Zbarsky 2014-12-01 15:15:59 -05:00
parent 1ae70c4515
commit fcbc4ed7a2
3 changed files with 49 additions and 1 deletions

View File

@ -23,7 +23,7 @@ interface CSSStyleDeclaration {
CSSValue? getPropertyCSSValue(DOMString property);
DOMString getPropertyPriority(DOMString property);
[Throws]
void setProperty(DOMString property, DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
[Throws]
DOMString removeProperty(DOMString property);

View File

@ -253,3 +253,4 @@ support-files = bug732209-css.sjs
[test_position_float_display.html]
[test_animations_async_tests.html]
support-files = ../../reftests/fonts/Ahem.ttf
[test_setPropertyWithNull.html]

View File

@ -0,0 +1,47 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=830260
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 830260</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
/** Test for Bug 830260 **/
var div = document.createElement("div");
div.style.color = "green";
div.style.color = "null";
ise(div.style.color, "green", 'Assigning "null" as a color should not parse');
div.style.setProperty("color", "null");
ise(div.style.color, "green",
'Passing "null" as a color to setProperty should not parse');
div.style.setProperty("color", null);
ise(div.style.color, "",
'Passing null as a color to setProperty should remove the property');
div.style.color = "green";
ise(div.style.color, "green", 'Assigning "green" as a color should not parse');
div.style.color = null;
ise(div.style.color, "",
'Assigning null as a color should remove the property');
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=830260">Mozilla Bug 830260</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>