<!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>[203546] 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/203546">203546</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-07-21 19:21:23 -0700 (Thu, 21 Jul 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Make parameters mandatory for attribute-related API on Element
https://bugs.webkit.org/show_bug.cgi?id=160059
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Make parameters mandatory for attribute-related API on Element to match
the specification:
- https://dom.spec.whatwg.org/#element
Firefox and Chrome agree with the specification. Calling this API
without the parameters does not make much sense, especially considering
WebKit uses the string "undefined" when the parameter is omitted.
No new tests, rebaselined existing tests.
* dom/Element.idl:
LayoutTests:
Update existing layout tests to reflect the behavior change.
* fast/dom/Element/script-tests/setAttributeNS-namespace-err.js:
* fast/dom/Element/setAttributeNS-namespace-err-expected.txt:
* fast/dom/HTMLHrElement/hr-color-noshade-attribute.html:
* fast/dom/attribute-downcast-right.html:
* fast/images/style-access-during-imageChanged-style-freeze.html:
* fast/selectors/read-only-read-write-input-basics.html:
* fast/selectors/read-only-read-write-textarea-basics.html:
* media/video-playsinline-expected.txt:
* media/video-playsinline.html:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomElementscripttestssetAttributeNSnamespaceerrjs">trunk/LayoutTests/fast/dom/Element/script-tests/setAttributeNS-namespace-err.js</a></li>
<li><a href="#trunkLayoutTestsfastdomElementsetAttributeNSnamespaceerrexpectedtxt">trunk/LayoutTests/fast/dom/Element/setAttributeNS-namespace-err-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomHTMLAnchorElementanchornodownloadsethtml">trunk/LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload-set.html</a></li>
<li><a href="#trunkLayoutTestsfastdomHTMLHrElementhrcolornoshadeattributehtml">trunk/LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute.html</a></li>
<li><a href="#trunkLayoutTestsfastdomattributedowncastrighthtml">trunk/LayoutTests/fast/dom/attribute-downcast-right.html</a></li>
<li><a href="#trunkLayoutTestsfastimagesstyleaccessduringimageChangedstylefreezehtml">trunk/LayoutTests/fast/images/style-access-during-imageChanged-style-freeze.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicshtml">trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicshtml">trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdominterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediavideoplaysinlineexpectedtxt">trunk/LayoutTests/media/video-playsinline-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediavideoplaysinlinehtml">trunk/LayoutTests/media/video-playsinline.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoredomElementidl">trunk/Source/WebCore/dom/Element.idl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/ChangeLog        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2016-07-21 Chris Dumez <cdumez@apple.com>
+
+ Make parameters mandatory for attribute-related API on Element
+ https://bugs.webkit.org/show_bug.cgi?id=160059
+
+ Reviewed by Ryosuke Niwa.
+
+ Update existing layout tests to reflect the behavior change.
+
+ * fast/dom/Element/script-tests/setAttributeNS-namespace-err.js:
+ * fast/dom/Element/setAttributeNS-namespace-err-expected.txt:
+ * fast/dom/HTMLHrElement/hr-color-noshade-attribute.html:
+ * fast/dom/attribute-downcast-right.html:
+ * fast/images/style-access-during-imageChanged-style-freeze.html:
+ * fast/selectors/read-only-read-write-input-basics.html:
+ * fast/selectors/read-only-read-write-textarea-basics.html:
+ * media/video-playsinline-expected.txt:
+ * media/video-playsinline.html:
+
</ins><span class="cx"> 2016-07-21 Dean Jackson <dino@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION (r202927): The internal size of the ImageBuffer is scaled twice by the context scaleFactor
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomElementscripttestssetAttributeNSnamespaceerrjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Element/script-tests/setAttributeNS-namespace-err.js (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Element/script-tests/setAttributeNS-namespace-err.js        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/dom/Element/script-tests/setAttributeNS-namespace-err.js        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -124,10 +124,9 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-// Moz throws a "Not enough arguments" exception in these, we don't:
</del><span class="cx"> var element = document.createElement("div");
</span><del>-shouldBeUndefined("element.setAttributeNS()");
-shouldBeUndefined("element.setAttributeNS(\"http://www.example.com\")");
-shouldBeUndefined("element.setAttributeNS(\"http://www.example.com\", \"foo\")");
</del><ins>+shouldThrow("element.setAttributeNS()");
+shouldThrow("element.setAttributeNS(\"http://www.example.com\")");
+shouldThrow("element.setAttributeNS(\"http://www.example.com\", \"foo\")");
</ins><span class="cx">
</span><span class="cx"> runNSTests();
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomElementsetAttributeNSnamespaceerrexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Element/setAttributeNS-namespace-err-expected.txt (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Element/setAttributeNS-namespace-err-expected.txt        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/dom/Element/setAttributeNS-namespace-err-expected.txt        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -3,9 +3,9 @@
</span><span class="cx"> On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
</span><span class="cx">
</span><span class="cx">
</span><del>-PASS element.setAttributeNS() is undefined.
-PASS element.setAttributeNS("http://www.example.com") is undefined.
-PASS element.setAttributeNS("http://www.example.com", "foo") is undefined.
</del><ins>+PASS element.setAttributeNS() threw exception TypeError: Not enough arguments.
+PASS element.setAttributeNS("http://www.example.com") threw exception TypeError: Not enough arguments.
+PASS element.setAttributeNS("http://www.example.com", "foo") threw exception TypeError: Not enough arguments.
</ins><span class="cx"> PASS element.setAttributeNS(undefined, undefined, 'value')
</span><span class="cx"> PASS element.setAttributeNS(null, undefined, 'value')
</span><span class="cx"> FAIL element.setAttributeNS(undefined, null, 'value')
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomHTMLAnchorElementanchornodownloadsethtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload-set.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload-set.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload-set.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> var blob = new Blob([string], {type: "text/html"});
</span><span class="cx"> var link = document.getElementById("blob-url");
</span><span class="cx"> link.href = window.URL.createObjectURL(blob);
</span><del>- link.setAttribute('download');
</del><ins>+ link.setAttribute('download', '');
</ins><span class="cx"> click(link);
</span><span class="cx"> }
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomHTMLHrElementhrcolornoshadeattributehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -13,12 +13,12 @@
</span><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement3'),null).getPropertyValue('background-color')","rgb(0, 0, 0)");
</span><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement4'),null).getPropertyValue('border-color')","rgb(128, 128, 128)");
</span><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement4'),null).getPropertyValue('background-color')","rgb(128, 128, 128)");
</span><del>- document.getElementById('hrElement5').setAttribute("color","yellow");
- document.getElementById('hrElement5').setAttribute("noshade");
</del><ins>+ document.getElementById('hrElement5').setAttribute("color", "yellow");
+ document.getElementById('hrElement5').setAttribute("noshade", "");
</ins><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement5'),null).getPropertyValue('border-color')","rgb(255, 255, 0)");
</span><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement5'),null).getPropertyValue('background-color')","rgb(255, 255, 0)");
</span><del>- document.getElementById('hrElement6').setAttribute("noshade");
- document.getElementById('hrElement6').setAttribute("color","green");
</del><ins>+ document.getElementById('hrElement6').setAttribute("noshade", "");
+ document.getElementById('hrElement6').setAttribute("color", "green");
</ins><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement6'),null).getPropertyValue('border-color')","rgb(0, 128, 0)");
</span><span class="cx"> shouldBeEqualToString("window.getComputedStyle(document.getElementById('hrElement6'),null).getPropertyValue('background-color')","rgb(0, 128, 0)");
</span><span class="cx"> }
</span><span class="lines">@@ -32,4 +32,4 @@
</span><span class="cx"> <hr id="hrElement5">
</span><span class="cx"> <hr id="hrElement6">
</span><span class="cx"> </body>
</span><del>-</html>
</del><span class="cx">\ No newline at end of file
</span><ins>+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomattributedowncastrighthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/attribute-downcast-right.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/attribute-downcast-right.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/dom/attribute-downcast-right.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -4,8 +4,8 @@
</span><span class="cx">
</span><span class="cx"> var oElement = document.createElement("s")
</span><span class="cx"> var oElementNS = document.createElementNS(null, "test");
</span><del>-oElementNS.setAttributeNS();
-var oAttributeNS = oElementNS.getAttributeNodeNS();
</del><ins>+oElementNS.setAttributeNS(null, "test", "value");
+var oAttributeNS = oElementNS.getAttributeNodeNS(null, "test");
</ins><span class="cx"> var oAttributeNSClone = oAttributeNS.cloneNode();
</span><span class="cx"> oElement.setAttributeNode(oAttributeNSClone);
</span><span class="cx"> </SCRIPT>
</span></span></pre></div>
<a id="trunkLayoutTestsfastimagesstyleaccessduringimageChangedstylefreezehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/images/style-access-during-imageChanged-style-freeze.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/images/style-access-during-imageChanged-style-freeze.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/images/style-access-during-imageChanged-style-freeze.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> container.style.removeProperty("display");
</span><span class="cx"> document.body.offsetTop;
</span><span class="cx"> var target = document.getElementById("target");
</span><del>- target.setAttribute("foo");
</del><ins>+ target.setAttribute("foo", "");
</ins><span class="cx"> document.body.offsetTop;
</span><span class="cx"> var result = document.getElementById("result");
</span><span class="cx"> result.innerText = getComputedStyle(target).color === "rgb(0, 128, 0)" ? "PASS" : "FAIL";
</span></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> testProperties(!supportsReadonly);
</span><span class="cx">
</span><span class="cx"> // Setting readonly through attributes.
</span><del>- testCase.setAttribute("readonly");
</del><ins>+ testCase.setAttribute("readonly", "");
</ins><span class="cx"> testProperties(true);
</span><span class="cx">
</span><span class="cx"> testCase.removeAttribute("readonly");
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> testProperties(!supportsReadonly);
</span><span class="cx">
</span><span class="cx"> // Setting disabled through attributes.
</span><del>- testCase.setAttribute("disabled");
</del><ins>+ testCase.setAttribute("disabled", "");
</ins><span class="cx"> testProperties(true);
</span><span class="cx">
</span><span class="cx"> testCase.removeAttribute("disabled");
</span></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Setting the value through attributes.
</span><del>-newTextArea.setAttribute("readonly");
</del><ins>+newTextArea.setAttribute("readonly", "");
</ins><span class="cx"> testProperties(true);
</span><span class="cx"> newTextArea.removeAttribute("readonly");
</span><span class="cx"> testProperties(false);
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx"> testAttribute("readonly", "false");
</span><span class="cx"> testAttribute("readonly", "foobar");
</span><span class="cx">
</span><del>-newTextArea.setAttribute("disabled");
</del><ins>+newTextArea.setAttribute("disabled", "");
</ins><span class="cx"> testProperties(true);
</span><span class="cx"> newTextArea.removeAttribute("disabled");
</span><span class="cx"> testProperties(false);
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -1,5 +1,17 @@
</span><span class="cx"> 2016-07-21 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><ins>+ Make parameters mandatory for attribute-related API on Element
+ https://bugs.webkit.org/show_bug.cgi?id=160059
+
+ Reviewed by Ryosuke Niwa.
+
+ Rebaseline several W3C tests now that more checks are passing.
+
+ * web-platform-tests/dom/interfaces-expected.txt:
+ * web-platform-tests/html/dom/interfaces-expected.txt:
+
+2016-07-21 Chris Dumez <cdumez@apple.com>
+
</ins><span class="cx"> Make parameters to Document.getElementsBy*() operations mandatory
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=160050
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdominterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -831,16 +831,16 @@
</span><span class="cx"> PASS Element interface: operation hasAttributes()
</span><span class="cx"> PASS Element interface: attribute attributes
</span><span class="cx"> FAIL Element interface: operation getAttributeNames() assert_own_property: interface prototype object missing non-static operation expected property "getAttributeNames" missing
</span><del>-FAIL Element interface: operation getAttribute(DOMString) assert_equals: property has wrong .length expected 1 but got 0
-FAIL Element interface: operation getAttributeNS(DOMString,DOMString) assert_equals: property has wrong .length expected 2 but got 0
-FAIL Element interface: operation setAttribute(DOMString,DOMString) assert_equals: property has wrong .length expected 2 but got 0
-FAIL Element interface: operation setAttributeNS(DOMString,DOMString,DOMString) assert_equals: property has wrong .length expected 3 but got 0
-FAIL Element interface: operation removeAttribute(DOMString) assert_equals: property has wrong .length expected 1 but got 0
</del><ins>+PASS Element interface: operation getAttribute(DOMString)
+PASS Element interface: operation getAttributeNS(DOMString,DOMString)
+PASS Element interface: operation setAttribute(DOMString,DOMString)
+PASS Element interface: operation setAttributeNS(DOMString,DOMString,DOMString)
+PASS Element interface: operation removeAttribute(DOMString)
</ins><span class="cx"> PASS Element interface: operation removeAttributeNS(DOMString,DOMString)
</span><span class="cx"> PASS Element interface: operation hasAttribute(DOMString)
</span><del>-FAIL Element interface: operation hasAttributeNS(DOMString,DOMString) assert_equals: property has wrong .length expected 2 but got 0
-FAIL Element interface: operation getAttributeNode(DOMString) assert_equals: property has wrong .length expected 1 but got 0
-FAIL Element interface: operation getAttributeNodeNS(DOMString,DOMString) assert_equals: property has wrong .length expected 2 but got 0
</del><ins>+PASS Element interface: operation hasAttributeNS(DOMString,DOMString)
+PASS Element interface: operation getAttributeNode(DOMString)
+PASS Element interface: operation getAttributeNodeNS(DOMString,DOMString)
</ins><span class="cx"> PASS Element interface: operation setAttributeNode(Attr)
</span><span class="cx"> PASS Element interface: operation setAttributeNodeNS(Attr)
</span><span class="cx"> PASS Element interface: operation removeAttributeNode(Attr)
</span><span class="lines">@@ -883,41 +883,25 @@
</span><span class="cx"> PASS Element interface: element must inherit property "attributes" with the proper type (9)
</span><span class="cx"> FAIL Element interface: element must inherit property "getAttributeNames" with the proper type (10) assert_inherits: property "getAttributeNames" not found in prototype chain
</span><span class="cx"> PASS Element interface: element must inherit property "getAttribute" with the proper type (11)
</span><del>-FAIL Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "getAttributeNS" with the proper type (12)
</span><del>-FAIL Element interface: calling getAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "setAttribute" with the proper type (13)
</span><del>-FAIL Element interface: calling setAttribute(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling setAttribute(DOMString,DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "setAttributeNS" with the proper type (14)
</span><del>-FAIL Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "removeAttribute" with the proper type (15)
</span><del>-FAIL Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "removeAttributeNS" with the proper type (16)
</span><span class="cx"> PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: element must inherit property "hasAttribute" with the proper type (17)
</span><span class="cx"> PASS Element interface: calling hasAttribute(DOMString) on element with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: element must inherit property "hasAttributeNS" with the proper type (18)
</span><del>-FAIL Element interface: calling hasAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling hasAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "getAttributeNode" with the proper type (19)
</span><del>-FAIL Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "getAttributeNodeNS" with the proper type (20)
</span><del>-FAIL Element interface: calling getAttributeNodeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNodeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: element must inherit property "setAttributeNode" with the proper type (21)
</span><span class="cx"> PASS Element interface: calling setAttributeNode(Attr) on element with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: element must inherit property "setAttributeNodeNS" with the proper type (22)
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -1241,41 +1241,25 @@
</span><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "attributes" with the proper type (8)
</span><span class="cx"> FAIL Element interface: document.createElement("noscript") must inherit property "getAttributeNames" with the proper type (9) assert_inherits: property "getAttributeNames" not found in prototype chain
</span><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "getAttribute" with the proper type (10)
</span><del>-FAIL Element interface: calling getAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNS" with the proper type (11)
</span><del>-FAIL Element interface: calling getAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "setAttribute" with the proper type (12)
</span><del>-FAIL Element interface: calling setAttribute(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling setAttribute(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNS" with the proper type (13)
</span><del>-FAIL Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "removeAttribute" with the proper type (14)
</span><del>-FAIL Element interface: calling removeAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling removeAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "removeAttributeNS" with the proper type (15)
</span><span class="cx"> PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "hasAttribute" with the proper type (16)
</span><span class="cx"> PASS Element interface: calling hasAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "hasAttributeNS" with the proper type (17)
</span><del>-FAIL Element interface: calling hasAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling hasAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNode" with the proper type (18)
</span><del>-FAIL Element interface: calling getAttributeNode(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNode(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNodeNS" with the proper type (19)
</span><del>-FAIL Element interface: calling getAttributeNodeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
- fn.apply(obj, args);
- }" did not throw
</del><ins>+PASS Element interface: calling getAttributeNodeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError
</ins><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNode" with the proper type (20)
</span><span class="cx"> PASS Element interface: calling setAttributeNode(Attr) on document.createElement("noscript") with too few arguments must throw TypeError
</span><span class="cx"> PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNodeNS" with the proper type (21)
</span></span></pre></div>
<a id="trunkLayoutTestsmediavideoplaysinlineexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/video-playsinline-expected.txt (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/video-playsinline-expected.txt        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/media/video-playsinline-expected.txt        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = false)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.setAttribute("webkit-playsinline"))
</del><ins>+RUN(video.setAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false))
</span><span class="cx"> RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false))
</span><span class="cx"> RUN(video.playsInline = true)
</span><del>-RUN(video.removeAttribute("webkit-playsinline"))
</del><ins>+RUN(video.removeAttribute("webkit-playsinline", ""))
</ins><span class="cx"> EVENT(canplaythrough)
</span><span class="cx"> RUN(video.play())
</span><span class="cx"> EVENT(playing)
</span></span></pre></div>
<a id="trunkLayoutTestsmediavideoplaysinlinehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/video-playsinline.html (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/video-playsinline.html        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/LayoutTests/media/video-playsinline.html        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> video.controls = true;
</span><span class="cx"> video.src = findMediaFile('video', 'content/test');
</span><span class="cx"> run('video.playsInline = ' + hasPlaysInline);
</span><del>- run('video.' + (hasWebKitPlaysInline ? 'set' : 'remove') + 'Attribute("webkit-playsinline")');
</del><ins>+ run('video.' + (hasWebKitPlaysInline ? 'set' : 'remove') + 'Attribute("webkit-playsinline", "")');
</ins><span class="cx"> waitForEventOnce('canplaythrough', () => {
</span><span class="cx"> runWithKeyDown(() => {
</span><span class="cx"> run('video.play()');
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/Source/WebCore/ChangeLog        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2016-07-21 Chris Dumez <cdumez@apple.com>
+
+ Make parameters mandatory for attribute-related API on Element
+ https://bugs.webkit.org/show_bug.cgi?id=160059
+
+ Reviewed by Ryosuke Niwa.
+
+ Make parameters mandatory for attribute-related API on Element to match
+ the specification:
+ - https://dom.spec.whatwg.org/#element
+
+ Firefox and Chrome agree with the specification. Calling this API
+ without the parameters does not make much sense, especially considering
+ WebKit uses the string "undefined" when the parameter is omitted.
+
+ No new tests, rebaselined existing tests.
+
+ * dom/Element.idl:
+
</ins><span class="cx"> 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com>
</span><span class="cx">
</span><span class="cx"> Remove support for deprecated SPI inlineMediaPlaybackRequiresPlaysInlineAttribute
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.idl (203545 => 203546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.idl        2016-07-22 01:40:22 UTC (rev 203545)
+++ trunk/Source/WebCore/dom/Element.idl        2016-07-22 02:21:23 UTC (rev 203546)
</span><span class="lines">@@ -29,19 +29,16 @@
</span><span class="cx">
</span><span class="cx"> readonly attribute DOMString? tagName;
</span><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- DOMString? getAttribute(optional DOMString name = "undefined");
</del><ins>+ DOMString? getAttribute(DOMString name);
</ins><span class="cx">
</span><span class="cx"> [ObjCLegacyUnnamedParameters, RaisesException, InvokesCustomElementLifecycleCallbacks]
</span><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- void setAttribute(optional DOMString name = "undefined", optional DOMString value = "undefined");
</del><ins>+ void setAttribute(DOMString name, DOMString value);
</ins><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- [InvokesCustomElementLifecycleCallbacks] void removeAttribute(optional DOMString name = "undefined");
- Attr getAttributeNode(optional DOMString name = "undefined");
</del><ins>+ [InvokesCustomElementLifecycleCallbacks] void removeAttribute(DOMString name);
+ Attr? getAttributeNode(DOMString name);
</ins><span class="cx">
</span><del>- [RaisesException, InvokesCustomElementLifecycleCallbacks] Attr setAttributeNode(Attr newAttr);
</del><ins>+ [RaisesException, InvokesCustomElementLifecycleCallbacks] Attr? setAttributeNode(Attr newAttr);
</ins><span class="cx"> [RaisesException, InvokesCustomElementLifecycleCallbacks] Attr removeAttributeNode(Attr oldAttr);
</span><span class="cx">
</span><span class="cx"> #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
</span><span class="lines">@@ -59,13 +56,11 @@
</span><span class="cx">
</span><span class="cx"> // DOM Level 2 Core
</span><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- [ObjCLegacyUnnamedParameters] DOMString? getAttributeNS(optional DOMString? namespaceURI = null, optional DOMString localName = "undefined");
</del><ins>+ [ObjCLegacyUnnamedParameters] DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
</ins><span class="cx">
</span><span class="cx"> [ObjCLegacyUnnamedParameters, RaisesException, InvokesCustomElementLifecycleCallbacks]
</span><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- void setAttributeNS(optional DOMString? namespaceURI = null, optional DOMString qualifiedName = "undefined", optional DOMString value = "undefined");
</del><ins>+ void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
</ins><span class="cx">
</span><span class="cx"> [ObjCLegacyUnnamedParameters, InvokesCustomElementLifecycleCallbacks] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
</span><span class="cx">
</span><span class="lines">@@ -76,13 +71,12 @@
</span><span class="cx"> HTMLCollection getElementsByTagNameNS(optional DOMString? namespaceURI = null, optional DOMString localName = "undefined");
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS(optional DOMString? namespaceURI = null, optional DOMString localName = "undefined");
- [RaisesException, InvokesCustomElementLifecycleCallbacks] Attr setAttributeNodeNS(Attr newAttr);
</del><ins>+ [ObjCLegacyUnnamedParameters] Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
+ [RaisesException, InvokesCustomElementLifecycleCallbacks] Attr? setAttributeNodeNS(Attr newAttr);
</ins><span class="cx"> boolean hasAttribute(DOMString name);
</span><del>- // FIXME: Using "undefined" as default parameter value is wrong.
- [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(optional DOMString? namespaceURI = null, optional DOMString localName = "undefined");
</del><span class="cx">
</span><ins>+ [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
+
</ins><span class="cx"> [ImplementedAs=cssomStyle] readonly attribute CSSStyleDeclaration style;
</span><span class="cx">
</span><span class="cx"> // DOM 4
</span></span></pre>
</div>
</div>
</body>
</html>