<!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>[195700] 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/195700">195700</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-01-27 15:42:46 -0800 (Wed, 27 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Settings a reflected DOMString attribute to null should set it to the &quot;null&quot; string rather than the empty string
https://bugs.webkit.org/show_bug.cgi?id=153504
&lt;rdar://problem/24353072&gt;

Reviewed by Ryosuke Niwa.

Source/WebCore:

Settings a reflected DOMString attribute to null should set it to the &quot;null&quot;
string rather than the empty string:
- https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes
- http://heycam.github.io/webidl/#es-DOMString
- http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring

Firefox and Chrome match the specification here.

This is causing a lot of W3C HTML reflection tests to fail on WebKit, e.g.:
- http://w3c-test.org/html/dom/reflection-text.html

No new tests, already covered by existing tests.

* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
Call toString() instead of valueToStringWithNullCheck() for reflected
attributes. This way, null gets converted to the string &quot;null&quot;, as
expected, instead of a null String object.

* html/HTMLInputElement.idl:
Dropping [TreatNullAs=NullString] IDL extended attribute for
input.defaultValue, as this is not present in the specification:
- https://html.spec.whatwg.org/#htmlinputelement

Without this change, assigning null to input.defaultValue would not
set to to the &quot;null&quot; string, as is expected.

* html/HTMLTextAreaElement.idl:
Dropping [TreatNullAs=NullString] IDL extended attribute for
textArea.defaultValue, as this is not present in the specification:
- https://html.spec.whatwg.org/#htmltextareaelement

Without this change, assigning null to textArea.defaultValue would not
set to to the &quot;null&quot; string, as is expected.

* html/HTMLTitleElement.idl:
Dropping [TreatNullAs=NullString] IDL extended attribute for
title.text, as this is not present in the specification:
- https://html.spec.whatwg.org/#htmltitleelement

Without this change, assigning null to title.text would not
set to to the &quot;null&quot; string, as is expected.

LayoutTests:

Update existing tests as a lot of them were expecting that setting
a reflected DOMString attribute to null would set it to the empty
string instead of the string &quot;null&quot;.

* fast/dom/domstring-attribute-reflection-expected.txt:
* fast/dom/domstring-attribute-reflection.html:
* fast/dom/element-attribute-js-null-expected.txt:
* fast/dom/element-attribute-js-null.html:
* fast/dom/ping-attribute-dom-binding-expected.txt:
* fast/dom/ping-attribute-dom-binding.html:
* fast/forms/fieldset/fieldset-name-expected.txt:
* fast/forms/fieldset/fieldset-name.html:
* fast/forms/input-minmax-expected.txt:
* fast/forms/input-minmax.html:
* fast/forms/input-pattern-expected.txt:
* fast/forms/input-pattern.html:
* fast/forms/submit-form-attributes-expected.txt:
* fast/forms/submit-form-attributes.html:
* fast/shadow-dom/HTMLSlotElement-interface.html:
* fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html:
* fast/shadow-dom/shadow-layout-after-slot-changes.html:
* svg/dom/svg-element-attribute-js-null-expected.txt:
* svg/dom/svg-element-attribute-js-null.xhtml:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomdomstringattributereflectionexpectedtxt">trunk/LayoutTests/fast/dom/domstring-attribute-reflection-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomdomstringattributereflectionhtml">trunk/LayoutTests/fast/dom/domstring-attribute-reflection.html</a></li>
<li><a href="#trunkLayoutTestsfastdomelementattributejsnullexpectedtxt">trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomelementattributejsnullhtml">trunk/LayoutTests/fast/dom/element-attribute-js-null.html</a></li>
<li><a href="#trunkLayoutTestsfastdompingattributedombindingexpectedtxt">trunk/LayoutTests/fast/dom/ping-attribute-dom-binding-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdompingattributedombindinghtml">trunk/LayoutTests/fast/dom/ping-attribute-dom-binding.html</a></li>
<li><a href="#trunkLayoutTestsfastformsfieldsetfieldsetnameexpectedtxt">trunk/LayoutTests/fast/forms/fieldset/fieldset-name-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsfieldsetfieldsetnamehtml">trunk/LayoutTests/fast/forms/fieldset/fieldset-name.html</a></li>
<li><a href="#trunkLayoutTestsfastformsinputminmaxexpectedtxt">trunk/LayoutTests/fast/forms/input-minmax-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsinputminmaxhtml">trunk/LayoutTests/fast/forms/input-minmax.html</a></li>
<li><a href="#trunkLayoutTestsfastformsinputpatternexpectedtxt">trunk/LayoutTests/fast/forms/input-pattern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsinputpatternhtml">trunk/LayoutTests/fast/forms/input-pattern.html</a></li>
<li><a href="#trunkLayoutTestsfastformssubmitformattributesexpectedtxt">trunk/LayoutTests/fast/forms/submit-form-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformssubmitformattributeshtml">trunk/LayoutTests/fast/forms/submit-form-attributes.html</a></li>
<li><a href="#trunkLayoutTestsfastshadowdomHTMLSlotElementinterfacehtml">trunk/LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html</a></li>
<li><a href="#trunkLayoutTestsfastshadowdomNonDocumentTypeChildNodeinterfaceassignedSlothtml">trunk/LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html</a></li>
<li><a href="#trunkLayoutTestsfastshadowdomshadowlayoutafterslotchangeshtml">trunk/LayoutTests/fast/shadow-dom/shadow-layout-after-slot-changes.html</a></li>
<li><a href="#trunkLayoutTestssvgdomsvgelementattributejsnullexpectedtxt">trunk/LayoutTests/svg/dom/svg-element-attribute-js-null-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgdomsvgelementattributejsnullxhtml">trunk/LayoutTests/svg/dom/svg-element-attribute-js-null.xhtml</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementidl">trunk/Source/WebCore/html/HTMLInputElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementidl">trunk/Source/WebCore/html/HTMLTextAreaElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTitleElementidl">trunk/Source/WebCore/html/HTMLTitleElement.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/ChangeLog        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-01-27  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Settings a reflected DOMString attribute to null should set it to the &quot;null&quot; string rather than the empty string
+        https://bugs.webkit.org/show_bug.cgi?id=153504
+        &lt;rdar://problem/24353072&gt;
+
+        Reviewed by Ryosuke Niwa.
+
+        Update existing tests as a lot of them were expecting that setting
+        a reflected DOMString attribute to null would set it to the empty
+        string instead of the string &quot;null&quot;.
+
+        * fast/dom/domstring-attribute-reflection-expected.txt:
+        * fast/dom/domstring-attribute-reflection.html:
+        * fast/dom/element-attribute-js-null-expected.txt:
+        * fast/dom/element-attribute-js-null.html:
+        * fast/dom/ping-attribute-dom-binding-expected.txt:
+        * fast/dom/ping-attribute-dom-binding.html:
+        * fast/forms/fieldset/fieldset-name-expected.txt:
+        * fast/forms/fieldset/fieldset-name.html:
+        * fast/forms/input-minmax-expected.txt:
+        * fast/forms/input-minmax.html:
+        * fast/forms/input-pattern-expected.txt:
+        * fast/forms/input-pattern.html:
+        * fast/forms/submit-form-attributes-expected.txt:
+        * fast/forms/submit-form-attributes.html:
+        * fast/shadow-dom/HTMLSlotElement-interface.html:
+        * fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html:
+        * fast/shadow-dom/shadow-layout-after-slot-changes.html:
+        * svg/dom/svg-element-attribute-js-null-expected.txt:
+        * svg/dom/svg-element-attribute-js-null.xhtml:
+
</ins><span class="cx"> 2016-01-27  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Support CSS3 Images values for the image-rendering property
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomdomstringattributereflectionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/domstring-attribute-reflection-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/domstring-attribute-reflection-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/domstring-attribute-reflection-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -9,8 +9,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -69,8 +69,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -99,8 +99,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -129,8 +129,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;step&quot;, &quot; bar\n&quot;); element.step is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;step&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.step = null; element.step is &quot;&quot;
-PASS element.getAttribute(&quot;step&quot;) is null
</del><ins>+PASS element.step = null; element.step is &quot;null&quot;
+PASS element.getAttribute(&quot;step&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;step&quot;, null); element.step is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;step&quot;) is &quot;null&quot;
</span><span class="lines">@@ -159,8 +159,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -189,8 +189,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -219,8 +219,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -249,8 +249,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span><span class="lines">@@ -279,8 +279,8 @@
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, &quot; bar\n&quot;); element.name is &quot; bar\n&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot; bar\n&quot;
</span><span class="cx"> Setting null via the IDL attribute:
</span><del>-PASS element.name = null; element.name is &quot;&quot;
-PASS element.getAttribute(&quot;name&quot;) is null
</del><ins>+PASS element.name = null; element.name is &quot;null&quot;
+PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</ins><span class="cx"> Setting null via the content attribute:
</span><span class="cx"> PASS element.setAttribute(&quot;name&quot;, null); element.name is &quot;null&quot;
</span><span class="cx"> PASS element.getAttribute(&quot;name&quot;) is &quot;null&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomdomstringattributereflectionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/domstring-attribute-reflection.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/domstring-attribute-reflection.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/domstring-attribute-reflection.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -22,8 +22,8 @@
</span><span class="cx">     shouldBeEqualToString('element.getAttribute(&quot;' + contentAttributeName + '&quot;)', ' bar\n');
</span><span class="cx"> 
</span><span class="cx">     debug('Setting null via the IDL attribute:');
</span><del>-    shouldBeEqualToString('element.' + idlAttributeName + ' = null; element.' + idlAttributeName, '');
-    shouldBeNull('element.getAttribute(&quot;' + contentAttributeName + '&quot;)');
</del><ins>+    shouldBeEqualToString('element.' + idlAttributeName + ' = null; element.' + idlAttributeName, 'null');
+    shouldBeEqualToString('element.getAttribute(&quot;' + contentAttributeName + '&quot;)', 'null');
</ins><span class="cx"> 
</span><span class="cx">     debug('Setting null via the content attribute:');
</span><span class="cx">     shouldBeEqualToString('element.setAttribute(&quot;' + contentAttributeName + '&quot;, null); element.' + idlAttributeName, 'null');
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomelementattributejsnullexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -4,254 +4,235 @@
</span><span class="cx"> TEST SUCCEEDED: The value was null. [tested Node.prefix]
</span><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested Node.textContent]
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.title]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.id]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.lang]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLElement.title]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLElement.id]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLElement.lang]
</ins><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.dir]
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.className]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLElement.className]
</ins><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.innerHTML]
</span><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLElement.innerText]
</span><span class="cx"> TEST SUCCEEDED: Exception (Error: SyntaxError: DOM Exception 12) was thrown as expected. [tested HTMLElement.contentEditable]
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.charset]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.coords]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.href]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.hreflang]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.rel]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.rev]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.shape]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.target]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAnchorElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.charset]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.coords]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.hreflang]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.rel]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.rev]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.shape]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.target]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAnchorElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.alt]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.archive]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.code]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.codeBase]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.height]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.hspace]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.object]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.vspace]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAppletElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.alt]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.archive]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.code]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.codeBase]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.height]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.hspace]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.object]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.vspace]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAppletElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.alt]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.coords]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.href]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.shape]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLAreaElement.target]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAreaElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAreaElement.alt]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAreaElement.coords]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAreaElement.shape]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLAreaElement.target]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLBaseElement.target]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBaseElement.target]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLBlockquoteElement.cite]
</del><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.aLink]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.background]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.bgColor]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.link]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.text]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLBodyElement.vLink]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.aLink]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.background]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.bgColor]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.link]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.text]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBodyElement.vLink]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLBRElement.clear]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLBRElement.clear]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLButtonElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLButtonElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLButtonElement.value]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLButtonElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLButtonElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLButtonElement.value]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLDivElement.align]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLDivElement.align]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLEmbedElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLEmbedElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLEmbedElement.src]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLEmbedElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLEmbedElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLEmbedElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLEmbedElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLFontElement.color]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFontElement.face]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFontElement.size]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFontElement.color]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFontElement.face]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFontElement.size]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLFormElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFormElement.acceptCharset]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFormElement.action]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFormElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFormElement.acceptCharset]
</ins><span class="cx"> TEST SUCCEEDED: The value was the string 'application/x-www-form-urlencoded'. [tested HTMLFormElement.encoding]
</span><span class="cx"> TEST SUCCEEDED: The value was the string 'application/x-www-form-urlencoded'. [tested HTMLFormElement.enctype]
</span><span class="cx"> TEST SUCCEEDED: The value was the string 'get'. [tested HTMLFormElement.method]
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLFormElement.target]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFormElement.target]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.frameBorder]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.longDesc]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.marginHeight]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.marginWidth]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.scrolling]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.src]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.location]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.frameBorder]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.marginHeight]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.marginWidth]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.scrolling]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameSetElement.cols]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameSetElement.rows]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameSetElement.cols]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameSetElement.rows]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLHeadElement.profile]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHeadElement.profile]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLHeadingElement.align]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHeadingElement.align]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLHRElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLHRElement.size]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLHRElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHRElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHRElement.size]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHRElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLHtmlElement.version]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLHtmlElement.version]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.frameBorder]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.height]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.longDesc]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.marginHeight]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.marginWidth]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.scrolling]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.src]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLIFrameElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.frameBorder]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.height]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.marginHeight]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.marginWidth]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.scrolling]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLIFrameElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.alt]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.border]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.longDesc]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.src]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.useMap]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLImageElement.lowsrc]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLImageElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLImageElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLImageElement.alt]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLImageElement.border]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLImageElement.useMap]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.accept]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.alt]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.defaultValue]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.src]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.accept]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.alt]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.defaultValue]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.name]
</ins><span class="cx"> TEST SUCCEEDED: The value was the string 'text'. [tested HTMLInputElement.type]
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.useMap]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLInputElement.useMap]
</ins><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLInputElement.value]
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLLabelElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLabelElement.htmlFor]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLabelElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLabelElement.htmlFor]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLLegendElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLegendElement.align]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLegendElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLegendElement.align]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLLIElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLIElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.charset]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.href]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.hreflang]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.media]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.rel]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.rev]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.target]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLLinkElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.charset]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.hreflang]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.media]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.rel]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.rev]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.target]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLLinkElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLMapElement.name]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLMapElement.name]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLMetaElement.content]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLMetaElement.httpEquiv]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLMetaElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLMetaElement.scheme]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLMetaElement.content]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLMetaElement.httpEquiv]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLMetaElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLMetaElement.scheme]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLModElement.cite]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLModElement.dateTime]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLModElement.dateTime]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.code]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.archive]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.border]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.codeBase]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.codeType]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.data]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.height]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.standby]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.type]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.useMap]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLObjectElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.code]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.archive]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.border]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.codeBase]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.codeType]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.height]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.standby]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.type]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.useMap]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLObjectElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLOListElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLOListElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLOptGroupElement.label]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLOptGroupElement.label]
</ins><span class="cx"> 
</span><span class="cx"> TEST SUCCEEDED: The value was the string 'null'. [tested HTMLOptionElement.text]
</span><span class="cx"> TEST SUCCEEDED: The value was the string 'null'. [tested HTMLOptionElement.label]
</span><span class="cx"> TEST SUCCEEDED: The value was the string 'null'. [tested HTMLOptionElement.value]
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLParagraphElement.align]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLParagraphElement.align]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLParamElement.name]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLParamElement.type]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLParamElement.value]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLParamElement.valueType]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLParamElement.name]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLParamElement.type]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLParamElement.value]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLParamElement.valueType]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLQuoteElement.cite]
</del><span class="cx"> 
</span><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.text]
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.htmlFor]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.event]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.charset]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.src]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLScriptElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLScriptElement.htmlFor]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLScriptElement.event]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLScriptElement.charset]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLScriptElement.type]
</ins><span class="cx"> 
</span><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLSelectElement.value]
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLSelectElement.name]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLSelectElement.name]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLStyleElement.media]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLStyleElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLStyleElement.media]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLStyleElement.type]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCaptionElement.align]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCaptionElement.align]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.abbr]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.axis]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.bgColor]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.ch]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.chOff]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.headers]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.height]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.scope]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.vAlign]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableCellElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.abbr]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.axis]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.bgColor]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.ch]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.chOff]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.headers]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.height]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.scope]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.vAlign]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableCellElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableColElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableColElement.ch]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableColElement.chOff]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableColElement.vAlign]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableColElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableColElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableColElement.ch]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableColElement.chOff]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableColElement.vAlign]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableColElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.bgColor]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.border]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.cellPadding]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.cellSpacing]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.frame]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.rules]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.summary]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableElement.width]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.bgColor]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.border]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.cellPadding]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.cellSpacing]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.frame]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.rules]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.summary]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableElement.width]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableRowElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableRowElement.bgColor]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableRowElement.ch]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableRowElement.chOff]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableRowElement.vAlign]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableRowElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableRowElement.bgColor]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableRowElement.ch]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableRowElement.chOff]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableRowElement.vAlign]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableSectionElement.align]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableSectionElement.ch]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableSectionElement.chOff]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTableSectionElement.vAlign]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableSectionElement.align]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableSectionElement.ch]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableSectionElement.chOff]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTableSectionElement.vAlign]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTextAreaElement.defaultValue]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTextAreaElement.accessKey]
-TEST SUCCEEDED: The value was the empty string. [tested HTMLTextAreaElement.name]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTextAreaElement.defaultValue]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTextAreaElement.accessKey]
+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTextAreaElement.name]
</ins><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested HTMLTextAreaElement.value]
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLTitleElement.text]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLTitleElement.text]
</ins><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested HTMLUListElement.type]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested HTMLUListElement.type]
</ins><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomelementattributejsnullhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/element-attribute-js-null.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/element-attribute-js-null.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/element-attribute-js-null.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -79,11 +79,11 @@
</span><span class="cx">                     type: 'HTMLElement',
</span><span class="cx">                     elementToUse: document.createElement('div'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'title', expectedNull: ''},
-                        {name: 'id', expectedNull: ''},
-                        {name: 'lang', expectedNull: ''},
</del><ins>+                        {name: 'title', expectedNull: 'null'},
+                        {name: 'id', expectedNull: 'null'},
+                        {name: 'lang', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'dir', expectedNull: ''},
</span><del>-                        {name: 'className', expectedNull: ''},
</del><ins>+                        {name: 'className', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'innerHTML', expectedNull: ''},
</span><span class="cx">                         {name: 'innerText', expectedNull: ''},
</span><span class="cx">                         // FIXME: TEST THESE
</span><span class="lines">@@ -96,95 +96,92 @@
</span><span class="cx">                     type: 'HTMLAnchorElement',
</span><span class="cx">                     elementToUse: document.createElement('a'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'charset', expectedNull: ''},
-                        {name: 'coords', expectedNull: ''},
-                        {name: 'href', expectedNull: ''},
-                        {name: 'hreflang', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'rel', expectedNull: ''},
-                        {name: 'rev', expectedNull: ''},
-                        {name: 'shape', expectedNull: ''},
-                        {name: 'target', expectedNull: ''},
-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'charset', expectedNull: 'null'},
+                        {name: 'coords', expectedNull: 'null'},
+                        {name: 'hreflang', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'rel', expectedNull: 'null'},
+                        {name: 'rev', expectedNull: 'null'},
+                        {name: 'shape', expectedNull: 'null'},
+                        {name: 'target', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLAppletElement',
</span><span class="cx">                     elementToUse: document.createElement('applet'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'alt', expectedNull: ''},
-                        {name: 'archive', expectedNull: ''},
-                        {name: 'code', expectedNull: ''},
-                        {name: 'codeBase', expectedNull: ''},
-                        {name: 'height', expectedNull: ''},
-                        {name: 'hspace', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'object', expectedNull: ''},
-                        {name: 'vspace', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'alt', expectedNull: 'null'},
+                        {name: 'archive', expectedNull: 'null'},
+                        {name: 'code', expectedNull: 'null'},
+                        {name: 'codeBase', expectedNull: 'null'},
+                        {name: 'height', expectedNull: 'null'},
+                        {name: 'hspace', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'object', expectedNull: 'null'},
+                        {name: 'vspace', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLAreaElement',
</span><span class="cx">                     elementToUse: document.createElement('area'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'alt', expectedNull: ''},
-                        {name: 'coords', expectedNull: ''},
-                        {name: 'href', expectedNull: ''},
-                        {name: 'shape', expectedNull: ''},
-                        {name: 'target', expectedNull: ''}
</del><ins>+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'alt', expectedNull: 'null'},
+                        {name: 'coords', expectedNull: 'null'},
+                        {name: 'shape', expectedNull: 'null'},
+                        {name: 'target', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLBaseElement',
</span><span class="cx">                     elementToUse: document.createElement('base'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'target', expectedNull: ''}
</del><ins>+                        {name: 'target', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLBlockquoteElement',
</span><span class="cx">                     elementToUse: document.createElement('blockquote'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'cite', expectedNull: ''}
</del><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLBodyElement',
</span><span class="cx">                     elementToUse: document.createElement('body'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'aLink', expectedNull: ''},
-                        {name: 'background', expectedNull: ''},
-                        {name: 'bgColor', expectedNull: ''},
-                        {name: 'link', expectedNull: ''},
-                        {name: 'text', expectedNull: ''},
-                        {name: 'vLink', expectedNull: ''}
</del><ins>+                        {name: 'aLink', expectedNull: 'null'},
+                        {name: 'background', expectedNull: 'null'},
+                        {name: 'bgColor', expectedNull: 'null'},
+                        {name: 'link', expectedNull: 'null'},
+                        {name: 'text', expectedNull: 'null'},
+                        {name: 'vLink', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLBRElement',
</span><span class="cx">                     elementToUse: document.createElement('br'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'clear', expectedNull: ''}
</del><ins>+                        {name: 'clear', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLButtonElement',
</span><span class="cx">                     elementToUse: document.createElement('button'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'value', expectedNull: ''}
</del><ins>+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'value', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLDivElement',
</span><span class="cx">                     elementToUse: document.createElement('div'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx"> 
</span><span class="lines">@@ -195,10 +192,9 @@
</span><span class="cx">                     type: 'HTMLEmbedElement',
</span><span class="cx">                     elementToUse: document.createElement('embed'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx"> 
</span><span class="lines">@@ -209,51 +205,47 @@
</span><span class="cx">                     type: 'HTMLFontElement',
</span><span class="cx">                     elementToUse: document.createElement('font'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'color', expectedNull: ''},
-                        {name: 'face', expectedNull: ''},
-                        {name: 'size', expectedNull: ''}
</del><ins>+                        {name: 'color', expectedNull: 'null'},
+                        {name: 'face', expectedNull: 'null'},
+                        {name: 'size', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLFormElement',
</span><span class="cx">                     elementToUse: document.createElement('form'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'name', expectedNull: ''},
-                        {name: 'acceptCharset', expectedNull: ''},
-                        {name: 'action', expectedNull: ''},
</del><ins>+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'acceptCharset', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'encoding', expectedNull: 'application/x-www-form-urlencoded'},
</span><span class="cx">                         {name: 'enctype', expectedNull: 'application/x-www-form-urlencoded'},
</span><span class="cx">                         {name: 'method', expectedNull: 'get'},
</span><del>-                        {name: 'target', expectedNull: ''}
</del><ins>+                        {name: 'target', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLFrameElement',
</span><span class="cx">                     elementToUse: document.createElement('frame'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'frameBorder', expectedNull: ''},
-                        {name: 'longDesc', expectedNull: ''},
-                        {name: 'marginHeight', expectedNull: ''},
-                        {name: 'marginWidth', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'scrolling', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
-                        {name: 'location', expectedNull: ''} // not a documented attribute
</del><ins>+                        {name: 'frameBorder', expectedNull: 'null'},
+                        {name: 'marginHeight', expectedNull: 'null'},
+                        {name: 'marginWidth', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'scrolling', expectedNull: 'null'},
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLFrameSetElement',
</span><span class="cx">                     elementToUse: document.createElement('frameset'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'cols', expectedNull: ''},
-                        {name: 'rows', expectedNull: ''}
</del><ins>+                        {name: 'cols', expectedNull: 'null'},
+                        {name: 'rows', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLHeadElement',
</span><span class="cx">                     elementToUse: document.createElement('head'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'profile', expectedNull: ''}
</del><ins>+                        {name: 'profile', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="lines">@@ -261,68 +253,62 @@
</span><span class="cx">                     // no need to test h2-h6
</span><span class="cx">                     elementToUse: document.createElement('h1'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLHRElement',
</span><span class="cx">                     elementToUse: document.createElement('hr'), // no need to test h2-h6
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'size', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'size', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLHtmlElement',
</span><span class="cx">                     elementToUse: document.createElement('html'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'version', expectedNull: ''}
</del><ins>+                        {name: 'version', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLIFrameElement',
</span><span class="cx">                     elementToUse: document.createElement('iframe'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'frameBorder', expectedNull: ''},
-                        {name: 'height', expectedNull: ''},
-                        {name: 'longDesc', expectedNull: ''},
-                        {name: 'marginHeight', expectedNull: ''},
-                        {name: 'marginWidth', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'scrolling', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'frameBorder', expectedNull: 'null'},
+                        {name: 'height', expectedNull: 'null'},
+                        {name: 'marginHeight', expectedNull: 'null'},
+                        {name: 'marginWidth', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'scrolling', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLImageElement',
</span><span class="cx">                     elementToUse: document.createElement('img'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'name', expectedNull: ''},
-                        {name: 'align', expectedNull: ''},
-                        {name: 'alt', expectedNull: ''},
-                        {name: 'border', expectedNull: ''},
-                        {name: 'longDesc', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
-                        {name: 'useMap', expectedNull: ''},
-                        {name: 'lowsrc', expectedNull: ''}
</del><ins>+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'alt', expectedNull: 'null'},
+                        {name: 'border', expectedNull: 'null'},
+                        {name: 'useMap', expectedNull: 'null'},
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLInputElement',
</span><span class="cx">                     elementToUse: document.createElement('input'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accept', expectedNull: ''},
-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'align', expectedNull: ''},
-                        {name: 'alt', expectedNull: ''},
-                        {name: 'defaultValue', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
</del><ins>+                        {name: 'accept', expectedNull: 'null'},
+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'alt', expectedNull: 'null'},
+                        {name: 'defaultValue', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'type', expectedNull: 'text'},
</span><del>-                        {name: 'useMap', expectedNull: ''},
</del><ins>+                        {name: 'useMap', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'value', expectedNull: ''},
</span><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="lines">@@ -330,44 +316,43 @@
</span><span class="cx">                     type: 'HTMLLabelElement',
</span><span class="cx">                     elementToUse: document.createElement('label'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'htmlFor', expectedNull: ''}
</del><ins>+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'htmlFor', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLLegendElement',
</span><span class="cx">                     elementToUse: document.createElement('legend'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'align', expectedNull: ''}
</del><ins>+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'align', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLLIElement',
</span><span class="cx">                     elementToUse: document.createElement('li'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLLinkElement',
</span><span class="cx">                     elementToUse: document.createElement('link'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'charset', expectedNull: ''},
-                        {name: 'href', expectedNull: ''},
-                        {name: 'hreflang', expectedNull: ''},
-                        {name: 'media', expectedNull: ''},
-                        {name: 'rel', expectedNull: ''},
-                        {name: 'rev', expectedNull: ''},
-                        {name: 'target', expectedNull: ''},
-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'charset', expectedNull: 'null'},
+                        {name: 'hreflang', expectedNull: 'null'},
+                        {name: 'media', expectedNull: 'null'},
+                        {name: 'rel', expectedNull: 'null'},
+                        {name: 'rev', expectedNull: 'null'},
+                        {name: 'target', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLMapElement',
</span><span class="cx">                     elementToUse: document.createElement('map'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'name', expectedNull: ''}
</del><ins>+                        {name: 'name', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx"> 
</span><span class="lines">@@ -378,51 +363,49 @@
</span><span class="cx">                     type: 'HTMLMetaElement',
</span><span class="cx">                     elementToUse: document.createElement('meta'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'content', expectedNull: ''},
-                        {name: 'httpEquiv', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'scheme', expectedNull: ''}
</del><ins>+                        {name: 'content', expectedNull: 'null'},
+                        {name: 'httpEquiv', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'scheme', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLModElement',
</span><span class="cx">                     elementToUse: document.createElement('ins'), // same as 'del'
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'cite', expectedNull: ''},
-                        {name: 'dateTime', expectedNull: ''}
</del><ins>+                        {name: 'dateTime', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLObjectElement',
</span><span class="cx">                     elementToUse: document.createElement('object'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'code', expectedNull: ''},
-                        {name: 'align', expectedNull: ''},
-                        {name: 'archive', expectedNull: ''},
-                        {name: 'border', expectedNull: ''},
-                        {name: 'codeBase', expectedNull: ''},
-                        {name: 'codeType', expectedNull: ''},
-                        {name: 'data', expectedNull: ''},
-                        {name: 'height', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
-                        {name: 'standby', expectedNull: ''},
-                        {name: 'type', expectedNull: ''},
-                        {name: 'useMap', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'code', expectedNull: 'null'},
+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'archive', expectedNull: 'null'},
+                        {name: 'border', expectedNull: 'null'},
+                        {name: 'codeBase', expectedNull: 'null'},
+                        {name: 'codeType', expectedNull: 'null'},
+                        {name: 'height', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'standby', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'},
+                        {name: 'useMap', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLOListElement',
</span><span class="cx">                     elementToUse: document.createElement('ol'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLOptGroupElement',
</span><span class="cx">                     elementToUse: document.createElement('optgroup'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'label', expectedNull: ''}
</del><ins>+                        {name: 'label', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="lines">@@ -438,17 +421,17 @@
</span><span class="cx">                     type: 'HTMLParagraphElement',
</span><span class="cx">                     elementToUse: document.createElement('p'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLParamElement',
</span><span class="cx">                     elementToUse: document.createElement('param'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'name', expectedNull: ''},
-                        {name: 'type', expectedNull: ''},
-                        {name: 'value', expectedNull: ''},
-                        {name: 'valueType', expectedNull: ''}
</del><ins>+                        {name: 'name', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'},
+                        {name: 'value', expectedNull: 'null'},
+                        {name: 'valueType', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx"> 
</span><span class="lines">@@ -459,7 +442,6 @@
</span><span class="cx">                     type: 'HTMLQuoteElement',
</span><span class="cx">                     elementToUse: document.createElement('q'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'cite', expectedNull: ''}
</del><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="lines">@@ -467,11 +449,10 @@
</span><span class="cx">                     elementToUse: document.createElement('script'),
</span><span class="cx">                     attributes: [
</span><span class="cx">                         {name: 'text', expectedNull: ''},
</span><del>-                        {name: 'htmlFor', expectedNull: ''},
-                        {name: 'event', expectedNull: ''},
-                        {name: 'charset', expectedNull: ''},
-                        {name: 'src', expectedNull: ''},
-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'htmlFor', expectedNull: 'null'},
+                        {name: 'event', expectedNull: 'null'},
+                        {name: 'charset', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="lines">@@ -479,95 +460,95 @@
</span><span class="cx">                     elementToUse: document.createElement('select'),
</span><span class="cx">                     attributes: [
</span><span class="cx">                         {name: 'value', expectedNull: ''},
</span><del>-                        {name: 'name', expectedNull: ''}
</del><ins>+                        {name: 'name', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLStyleElement',
</span><span class="cx">                     elementToUse: document.createElement('style'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'media', expectedNull: ''},
-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'media', expectedNull: 'null'},
+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableCaptionElement',
</span><span class="cx">                     elementToUse: document.createElement('caption'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableCellElement',
</span><span class="cx">                     elementToUse: document.createElement('td'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'abbr', expectedNull: ''},
-                        {name: 'align', expectedNull: ''},
-                        {name: 'axis', expectedNull: ''},
-                        {name: 'bgColor', expectedNull: ''},
-                        {name: 'ch', expectedNull: ''},
-                        {name: 'chOff', expectedNull: ''},
-                        {name: 'headers', expectedNull: ''},
-                        {name: 'height', expectedNull: ''},
-                        {name: 'scope', expectedNull: ''},
-                        {name: 'vAlign', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'abbr', expectedNull: 'null'},
+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'axis', expectedNull: 'null'},
+                        {name: 'bgColor', expectedNull: 'null'},
+                        {name: 'ch', expectedNull: 'null'},
+                        {name: 'chOff', expectedNull: 'null'},
+                        {name: 'headers', expectedNull: 'null'},
+                        {name: 'height', expectedNull: 'null'},
+                        {name: 'scope', expectedNull: 'null'},
+                        {name: 'vAlign', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableColElement',
</span><span class="cx">                     elementToUse: document.createElement('col'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'ch', expectedNull: ''},
-                        {name: 'chOff', expectedNull: ''},
-                        {name: 'vAlign', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'ch', expectedNull: 'null'},
+                        {name: 'chOff', expectedNull: 'null'},
+                        {name: 'vAlign', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableElement',
</span><span class="cx">                     elementToUse: document.createElement('table'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'bgColor', expectedNull: ''},
-                        {name: 'border', expectedNull: ''},
-                        {name: 'cellPadding', expectedNull: ''},
-                        {name: 'cellSpacing', expectedNull: ''},
-                        {name: 'frame', expectedNull: ''},
-                        {name: 'rules', expectedNull: ''},
-                        {name: 'summary', expectedNull: ''},
-                        {name: 'width', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'bgColor', expectedNull: 'null'},
+                        {name: 'border', expectedNull: 'null'},
+                        {name: 'cellPadding', expectedNull: 'null'},
+                        {name: 'cellSpacing', expectedNull: 'null'},
+                        {name: 'frame', expectedNull: 'null'},
+                        {name: 'rules', expectedNull: 'null'},
+                        {name: 'summary', expectedNull: 'null'},
+                        {name: 'width', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableRowElement',
</span><span class="cx">                     elementToUse: document.createElement('tr'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'bgColor', expectedNull: ''},
-                        {name: 'ch', expectedNull: ''},
-                        {name: 'chOff', expectedNull: ''},
-                        {name: 'vAlign', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'bgColor', expectedNull: 'null'},
+                        {name: 'ch', expectedNull: 'null'},
+                        {name: 'chOff', expectedNull: 'null'},
+                        {name: 'vAlign', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTableSectionElement',
</span><span class="cx">                     elementToUse: document.createElement('tbody'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'align', expectedNull: ''},
-                        {name: 'ch', expectedNull: ''},
-                        {name: 'chOff', expectedNull: ''},
-                        {name: 'vAlign', expectedNull: ''}
</del><ins>+                        {name: 'align', expectedNull: 'null'},
+                        {name: 'ch', expectedNull: 'null'},
+                        {name: 'chOff', expectedNull: 'null'},
+                        {name: 'vAlign', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLTextAreaElement',
</span><span class="cx">                     elementToUse: document.createElement('textarea'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'defaultValue', expectedNull: ''},
-                        {name: 'accessKey', expectedNull: ''},
-                        {name: 'name', expectedNull: ''},
</del><ins>+                        {name: 'defaultValue', expectedNull: 'null'},
+                        {name: 'accessKey', expectedNull: 'null'},
+                        {name: 'name', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'value', expectedNull: ''}
</span><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="lines">@@ -575,14 +556,14 @@
</span><span class="cx">                     type: 'HTMLTitleElement',
</span><span class="cx">                     elementToUse: document.createElement('title'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'text', expectedNull: ''}
</del><ins>+                        {name: 'text', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 },
</span><span class="cx">                 {
</span><span class="cx">                     type: 'HTMLUListElement',
</span><span class="cx">                     elementToUse: document.createElement('ul'),
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'type', expectedNull: ''}
</del><ins>+                        {name: 'type', expectedNull: 'null'}
</ins><span class="cx">                     ]
</span><span class="cx">                 }
</span><span class="cx">             ];
</span></span></pre></div>
<a id="trunkLayoutTestsfastdompingattributedombindingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/ping-attribute-dom-binding-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/ping-attribute-dom-binding-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/ping-attribute-dom-binding-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -6,13 +6,13 @@
</span><span class="cx"> PASS anchor.ping is &quot;&quot;
</span><span class="cx"> PASS anchor.ping is &quot;p1&quot;
</span><span class="cx"> PASS anchor.getAttribute(&quot;ping&quot;) is &quot;p2&quot;
</span><del>-PASS anchor.hasAttribute(&quot;ping&quot;) is false
-PASS anchor.ping is &quot;&quot;
</del><ins>+PASS anchor.hasAttribute(&quot;ping&quot;) is true
+PASS anchor.ping is &quot;null&quot;
</ins><span class="cx"> PASS area.ping is &quot;&quot;
</span><span class="cx"> PASS area.ping is &quot;p1&quot;
</span><span class="cx"> PASS area.getAttribute(&quot;ping&quot;) is &quot;p2&quot;
</span><del>-PASS area.hasAttribute(&quot;ping&quot;) is false
-PASS area.ping is &quot;&quot;
</del><ins>+PASS area.hasAttribute(&quot;ping&quot;) is true
+PASS area.ping is &quot;null&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastdompingattributedombindinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/ping-attribute-dom-binding.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/ping-attribute-dom-binding.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/dom/ping-attribute-dom-binding.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -15,8 +15,8 @@
</span><span class="cx"> anchor.ping = 'p2';
</span><span class="cx"> shouldBeEqualToString('anchor.getAttribute(&quot;ping&quot;)', 'p2');
</span><span class="cx"> anchor.ping = null;
</span><del>-shouldBeFalse('anchor.hasAttribute(&quot;ping&quot;)');
-shouldBeEqualToString('anchor.ping', '');
</del><ins>+shouldBeTrue('anchor.hasAttribute(&quot;ping&quot;)');
+shouldBeEqualToString('anchor.ping', 'null');
</ins><span class="cx"> 
</span><span class="cx"> var area = document.createElement('area');
</span><span class="cx"> shouldBeEqualToString('area.ping', '');
</span><span class="lines">@@ -25,8 +25,8 @@
</span><span class="cx"> area.ping = 'p2';
</span><span class="cx"> shouldBeEqualToString('area.getAttribute(&quot;ping&quot;)', 'p2');
</span><span class="cx"> area.ping = null;
</span><del>-shouldBeFalse('area.hasAttribute(&quot;ping&quot;)');
-shouldBeEqualToString('area.ping', '');
</del><ins>+shouldBeTrue('area.hasAttribute(&quot;ping&quot;)');
+shouldBeEqualToString('area.ping', 'null');
</ins><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsfieldsetfieldsetnameexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/fieldset/fieldset-name-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/fieldset/fieldset-name-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/fieldset/fieldset-name-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -13,9 +13,9 @@
</span><span class="cx"> PASS fs1.name is &quot;1234&quot;
</span><span class="cx"> PASS fs1.getAttribute(&quot;name&quot;) is &quot;1234&quot;
</span><span class="cx"> fs1.name=null
</span><del>-PASS fs1.name is &quot;&quot;
-PASS fs1.getAttribute(&quot;name&quot;) is null
-PASS fs1.hasAttribute(&quot;name&quot;) is false
</del><ins>+PASS fs1.name is &quot;null&quot;
+PASS fs1.getAttribute(&quot;name&quot;) is &quot;null&quot;
+PASS fs1.hasAttribute(&quot;name&quot;) is true
</ins><span class="cx"> fs1.name=undefined
</span><span class="cx"> PASS fs1.name is &quot;undefined&quot;
</span><span class="cx"> PASS fs1.getAttribute(&quot;name&quot;) is &quot;undefined&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsfieldsetfieldsetnamehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/fieldset/fieldset-name.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/fieldset/fieldset-name.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/fieldset/fieldset-name.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -20,14 +20,14 @@
</span><span class="cx"> // We may need to update below once the specification fixed.
</span><span class="cx"> debug('fs1.name=null');
</span><span class="cx"> fs1.name = null;
</span><del>-shouldBe('fs1.name', '&quot;&quot;');
-shouldBeNull('fs1.getAttribute(&quot;name&quot;)');
-shouldBeFalse('fs1.hasAttribute(&quot;name&quot;)');
</del><ins>+shouldBeEqualToString('fs1.name', 'null');
+shouldBeEqualToString('fs1.getAttribute(&quot;name&quot;)', 'null');
+shouldBeTrue('fs1.hasAttribute(&quot;name&quot;)');
</ins><span class="cx"> 
</span><span class="cx"> debug('fs1.name=undefined');
</span><span class="cx"> fs1.name = undefined;
</span><del>-shouldBe('fs1.name', '&quot;undefined&quot;');
-shouldBe('fs1.getAttribute(&quot;name&quot;)', '&quot;undefined&quot;');
</del><ins>+shouldBeEqualToString('fs1.name', 'undefined');
+shouldBeEqualToString('fs1.getAttribute(&quot;name&quot;)', 'undefined');
</ins><span class="cx"> shouldBeTrue('fs1.hasAttribute(&quot;name&quot;)');
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsinputminmaxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/input-minmax-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/input-minmax-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/input-minmax-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -14,13 +14,13 @@
</span><span class="cx"> PASS input.getAttribute(&quot;min&quot;) is &quot;&quot;
</span><span class="cx"> PASS input.getAttribute(&quot;max&quot;) is &quot;&quot;
</span><span class="cx"> Setting null to min:
</span><del>-PASS input.min is &quot;&quot;
-PASS input.getAttribute(&quot;min&quot;) is null
</del><span class="cx"> PASS input.min is &quot;null&quot;
</span><ins>+PASS input.getAttribute(&quot;min&quot;) is &quot;null&quot;
+PASS input.min is &quot;null&quot;
</ins><span class="cx"> Setting null to max:
</span><del>-PASS input.max is &quot;&quot;
-PASS input.getAttribute(&quot;max&quot;) is null
</del><span class="cx"> PASS input.max is &quot;null&quot;
</span><ins>+PASS input.getAttribute(&quot;max&quot;) is &quot;null&quot;
+PASS input.max is &quot;null&quot;
</ins><span class="cx"> Setting undefined to min:
</span><span class="cx"> PASS input.min is &quot;undefined&quot;
</span><span class="cx"> PASS input.getAttribute(&quot;min&quot;) is &quot;undefined&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsinputminmaxhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/input-minmax.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/input-minmax.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/input-minmax.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -36,15 +36,15 @@
</span><span class="cx"> // Null.
</span><span class="cx"> debug('Setting null to min:');
</span><span class="cx"> input.min = null;
</span><del>-shouldBe('input.min', '&quot;&quot;');
-shouldBe('input.getAttribute(&quot;min&quot;)', 'null');
</del><ins>+shouldBeEqualToString('input.min', 'null');
+shouldBeEqualToString('input.getAttribute(&quot;min&quot;)', 'null');
</ins><span class="cx"> input.setAttribute('min', null);
</span><span class="cx"> shouldBe('input.min', '&quot;null&quot;');
</span><span class="cx"> 
</span><span class="cx"> debug('Setting null to max:');
</span><span class="cx"> input.max = null;
</span><del>-shouldBe('input.max', '&quot;&quot;');
-shouldBe('input.getAttribute(&quot;max&quot;)', 'null');
</del><ins>+shouldBeEqualToString('input.max', 'null');
+shouldBeEqualToString('input.getAttribute(&quot;max&quot;)', 'null');
</ins><span class="cx"> input.setAttribute('max', null);
</span><span class="cx"> shouldBe('input.max', '&quot;null&quot;');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsinputpatternexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/input-pattern-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/input-pattern-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/input-pattern-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -6,9 +6,9 @@
</span><span class="cx"> PASS input.pattern is &quot;&quot;
</span><span class="cx"> PASS input.getAttribute(&quot;pattern&quot;) is &quot;foo&quot;
</span><span class="cx"> PASS input.pattern is &quot;bar&quot;
</span><del>-PASS input.pattern is &quot;&quot;
-PASS input.getAttribute(&quot;pattern&quot;) is null
</del><span class="cx"> PASS input.pattern is &quot;null&quot;
</span><ins>+PASS input.getAttribute(&quot;pattern&quot;) is &quot;null&quot;
+PASS input.pattern is &quot;null&quot;
</ins><span class="cx"> PASS input.pattern is &quot;undefined&quot;
</span><span class="cx"> PASS input.getAttribute(&quot;pattern&quot;) is &quot;undefined&quot;
</span><span class="cx"> PASS input.pattern is &quot;undefined&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsinputpatternhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/input-pattern.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/input-pattern.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/input-pattern.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -23,8 +23,8 @@
</span><span class="cx"> 
</span><span class="cx"> // Null.
</span><span class="cx"> input.pattern = null;
</span><del>-shouldBe('input.pattern', '&quot;&quot;');
-shouldBe('input.getAttribute(&quot;pattern&quot;)', 'null');
</del><ins>+shouldBeEqualToString('input.pattern', 'null');
+shouldBeEqualToString('input.getAttribute(&quot;pattern&quot;)', 'null');
</ins><span class="cx"> input.setAttribute('pattern', null);
</span><span class="cx"> shouldBe('input.pattern', '&quot;null&quot;');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformssubmitformattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/submit-form-attributes-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/submit-form-attributes-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/submit-form-attributes-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> PASS input.formMethod is &quot;&quot;
</span><span class="cx"> PASS input.getAttribute(&quot;formMethod&quot;) is null
</span><span class="cx"> PASS input.formMethod is &quot;get&quot;
</span><del>-PASS input.formTarget is &quot;&quot;
-PASS input.getAttribute(&quot;formTarget&quot;) is null
</del><span class="cx"> PASS input.formTarget is &quot;null&quot;
</span><ins>+PASS input.getAttribute(&quot;formTarget&quot;) is &quot;null&quot;
+PASS input.formTarget is &quot;null&quot;
</ins><span class="cx"> 
</span><span class="cx"> Setting undefined for input:
</span><span class="cx"> PASS input.formEnctype is &quot;application/x-www-form-urlencoded&quot;
</span><span class="lines">@@ -87,9 +87,9 @@
</span><span class="cx"> PASS button.formMethod is &quot;&quot;
</span><span class="cx"> PASS button.getAttribute(&quot;formMethod&quot;) is null
</span><span class="cx"> PASS button.formMethod is &quot;get&quot;
</span><del>-PASS button.formTarget is &quot;&quot;
-PASS button.getAttribute(&quot;formTarget&quot;) is null
</del><span class="cx"> PASS button.formTarget is &quot;null&quot;
</span><ins>+PASS button.getAttribute(&quot;formTarget&quot;) is &quot;null&quot;
+PASS button.formTarget is &quot;null&quot;
</ins><span class="cx"> 
</span><span class="cx"> Setting undefined for button:
</span><span class="cx"> PASS button.formEnctype is &quot;application/x-www-form-urlencoded&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastformssubmitformattributeshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/submit-form-attributes.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/submit-form-attributes.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/forms/submit-form-attributes.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -65,8 +65,8 @@
</span><span class="cx"> input.setAttribute('formMethod', null);
</span><span class="cx"> shouldBeEqualToString('input.formMethod', 'get');
</span><span class="cx"> input.formTarget = null;
</span><del>-shouldBeEqualToString('input.formTarget', '');
-shouldBe('input.getAttribute(&quot;formTarget&quot;)', 'null');
</del><ins>+shouldBeEqualToString('input.formTarget', 'null');
+shouldBeEqualToString('input.getAttribute(&quot;formTarget&quot;)', 'null');
</ins><span class="cx"> input.setAttribute('formTarget', null);
</span><span class="cx"> shouldBeEqualToString('input.formTarget', 'null');
</span><span class="cx"> 
</span><span class="lines">@@ -162,8 +162,8 @@
</span><span class="cx"> button.setAttribute('formMethod', null);
</span><span class="cx"> shouldBeEqualToString('button.formMethod', 'get');
</span><span class="cx"> button.formTarget = null;
</span><del>-shouldBeEqualToString('button.formTarget', '');
-shouldBe('button.getAttribute(&quot;formTarget&quot;)', 'null');
</del><ins>+shouldBeEqualToString('button.formTarget', 'null');
+shouldBeEqualToString('button.getAttribute(&quot;formTarget&quot;)', 'null');
</ins><span class="cx"> button.setAttribute('formTarget', null);
</span><span class="cx"> shouldBeEqualToString('button.formTarget', 'null');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastshadowdomHTMLSlotElementinterfacehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     p.slot = 'foo';
</span><span class="cx">     assert_array_equals(slotElement.getAssignedNodes(), [p, b], 'getAssignedNodes must return the nodes with the matching slot name in the tree order');
</span><span class="cx"> 
</span><del>-    slotElement.name = null;
</del><ins>+    slotElement.removeAttribute('name');
</ins><span class="cx">     assert_array_equals(slotElement.getAssignedNodes(), [], 'getAssignedNodes must be empty for a default slot when all elements have &quot;slot&quot; attributes specified');
</span><span class="cx"> 
</span><span class="cx"> }, 'getAssignedNodes must update when slot and name attributes are modified');
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx"> 
</span><span class="cx">     assert_array_equals(slotElement.getAssignedNodes(), [], 'getAssignedNodes must be empty when there are no matching elements for the slot name');
</span><span class="cx"> 
</span><del>-    slotElement.name = null;
</del><ins>+    slotElement.removeAttribute('name');
</ins><span class="cx">     assert_array_equals(slotElement.getAssignedNodes(), [child], 'getAssignedNodes must be empty when there are no matching elements for the slot name');
</span><span class="cx"> 
</span><span class="cx"> }, 'getAssignedNodes must update when a default slot is introduced dynamically by a slot rename');
</span></span></pre></div>
<a id="trunkLayoutTestsfastshadowdomNonDocumentTypeChildNodeinterfaceassignedSlothtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/shadow-dom/NonDocumentTypeChildNode-interface-assignedSlot.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     childElement.slot = 'foo';
</span><span class="cx">     assert_equals(childElement.assignedSlot, slot, 'assignedSlot on an element must return the re-assigned slot element');
</span><span class="cx"> 
</span><del>-    slot.name = null;
</del><ins>+    slot.removeAttribute('name');
</ins><span class="cx">     assert_equals(childTextNode.assignedSlot, slot, 'assignedSlot on a text node must return the re-assigned slot element');
</span><span class="cx">     assert_equals(commentNode.assignedSlot, null, 'assignedSlot on a comment node must always return null');
</span><span class="cx">     assert_equals(processingInstructionNode.assignedSlot, null, 'assignedSlot on a comment node must always return null');
</span></span></pre></div>
<a id="trunkLayoutTestsfastshadowdomshadowlayoutafterslotchangeshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/shadow-dom/shadow-layout-after-slot-changes.html (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/shadow-dom/shadow-layout-after-slot-changes.html        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/fast/shadow-dom/shadow-layout-after-slot-changes.html        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     shadow2.firstChild.name = 'bar';
</span><span class="cx">     forceLayout();
</span><span class="cx"> 
</span><del>-    shadow3.firstChild.name = null;
</del><ins>+    shadow3.firstChild.removeAttribute(&quot;name&quot;);
</ins><span class="cx">     forceLayout();
</span><span class="cx"> 
</span><span class="cx">     shadow4.insertBefore(document.createElement('slot'), shadow4.firstChild);
</span></span></pre></div>
<a id="trunkLayoutTestssvgdomsvgelementattributejsnullexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/dom/svg-element-attribute-js-null-expected.txt (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/dom/svg-element-attribute-js-null-expected.txt        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/svg/dom/svg-element-attribute-js-null-expected.txt        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> This test setting various attributes of a SVG elements to JavaScript null.
</span><span class="cx"> 
</span><del>-TEST SUCCEEDED: The value was the empty string. [tested SVGElement.id]
</del><ins>+TEST SUCCEEDED: The value was the string 'null'. [tested SVGElement.id]
</ins><span class="cx"> TEST SUCCEEDED: The value was the empty string. [tested SVGElement.xmlbase]
</span><span class="cx"> 
</span><span class="cx"> TEST SUCCEEDED: The value was the string '0'. [tested SVGAngle.valueAsString]
</span></span></pre></div>
<a id="trunkLayoutTestssvgdomsvgelementattributejsnullxhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/dom/svg-element-attribute-js-null.xhtml (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/dom/svg-element-attribute-js-null.xhtml        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/LayoutTests/svg/dom/svg-element-attribute-js-null.xhtml        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">                     type: 'SVGElement',
</span><span class="cx">                     elementToUse: svg,
</span><span class="cx">                     attributes: [
</span><del>-                        {name: 'id', expectedNull: ''},
</del><ins>+                        {name: 'id', expectedNull: 'null'},
</ins><span class="cx">                         {name: 'xmlbase', expectedNull: ''}
</span><span class="cx">                     ]
</span><span class="cx">                 },
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/Source/WebCore/ChangeLog        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2016-01-27  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Settings a reflected DOMString attribute to null should set it to the &quot;null&quot; string rather than the empty string
+        https://bugs.webkit.org/show_bug.cgi?id=153504
+        &lt;rdar://problem/24353072&gt;
+
+        Reviewed by Ryosuke Niwa.
+
+        Settings a reflected DOMString attribute to null should set it to the &quot;null&quot;
+        string rather than the empty string:
+        - https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes
+        - http://heycam.github.io/webidl/#es-DOMString
+        - http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
+
+        Firefox and Chrome match the specification here.
+
+        This is causing a lot of W3C HTML reflection tests to fail on WebKit, e.g.:
+        - http://w3c-test.org/html/dom/reflection-text.html
+
+        No new tests, already covered by existing tests.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (JSValueToNative):
+        Call toString() instead of valueToStringWithNullCheck() for reflected
+        attributes. This way, null gets converted to the string &quot;null&quot;, as
+        expected, instead of a null String object.
+
+        * html/HTMLInputElement.idl:
+        Dropping [TreatNullAs=NullString] IDL extended attribute for
+        input.defaultValue, as this is not present in the specification:
+        - https://html.spec.whatwg.org/#htmlinputelement
+
+        Without this change, assigning null to input.defaultValue would not
+        set to to the &quot;null&quot; string, as is expected.
+
+        * html/HTMLTextAreaElement.idl:
+        Dropping [TreatNullAs=NullString] IDL extended attribute for
+        textArea.defaultValue, as this is not present in the specification:
+        - https://html.spec.whatwg.org/#htmltextareaelement
+
+        Without this change, assigning null to textArea.defaultValue would not
+        set to to the &quot;null&quot; string, as is expected.
+
+        * html/HTMLTitleElement.idl:
+        Dropping [TreatNullAs=NullString] IDL extended attribute for
+        title.text, as this is not present in the specification:
+        - https://html.spec.whatwg.org/#htmltitleelement
+
+        Without this change, assigning null to title.text would not
+        set to to the &quot;null&quot; string, as is expected.
+
</ins><span class="cx"> 2016-01-27  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Support CSS3 Images values for the image-rendering property
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -4085,7 +4085,7 @@
</span><span class="cx">         if (($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;NullString&quot;) and ($signature-&gt;extendedAttributes-&gt;{&quot;TreatUndefinedAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatUndefinedAs&quot;} eq &quot;NullString&quot;)) {
</span><span class="cx">             return &quot;valueToStringWithUndefinedOrNullCheck(state, $value)&quot;
</span><span class="cx">         }
</span><del>-        if (($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;NullString&quot;) or $signature-&gt;extendedAttributes-&gt;{&quot;Reflect&quot;}) {
</del><ins>+        if ($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;NullString&quot;) {
</ins><span class="cx">             return &quot;valueToStringWithNullCheck(state, $value)&quot;
</span><span class="cx">         }
</span><span class="cx">         if ($signature-&gt;extendedAttributes-&gt;{&quot;AtomicString&quot;}) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.idl (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.idl        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/Source/WebCore/html/HTMLInputElement.idl        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     [Reflect, URL] attribute DOMString src;
</span><span class="cx">     [Reflect] attribute DOMString step;
</span><span class="cx">     attribute DOMString type; // readonly dropped as part of DOM level 2
</span><del>-    [TreatNullAs=NullString] attribute DOMString defaultValue;
</del><ins>+    attribute DOMString defaultValue;
</ins><span class="cx">     // See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><span class="cx">     [TreatNullAs=NullString, SetterRaisesException] attribute DOMString value;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.idl (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.idl        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.idl        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     [Reflect] attribute DOMString wrap;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute DOMString type;
</span><del>-    [TreatNullAs=NullString] attribute DOMString defaultValue;
</del><ins>+    attribute DOMString defaultValue;
</ins><span class="cx">     [TreatNullAs=NullString] attribute DOMString value;
</span><span class="cx">     readonly attribute unsigned long textLength;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTitleElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTitleElement.idl (195699 => 195700)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTitleElement.idl        2016-01-27 23:31:38 UTC (rev 195699)
+++ trunk/Source/WebCore/html/HTMLTitleElement.idl        2016-01-27 23:42:46 UTC (rev 195700)
</span><span class="lines">@@ -18,6 +18,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface HTMLTitleElement : HTMLElement {
</span><del>-    [TreatNullAs=NullString] attribute DOMString            text;
</del><ins>+    attribute DOMString text;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>