<!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>[195594] 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/195594">195594</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-01-26 10:04:26 -0800 (Tue, 26 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>First parameter to window.showModalDialog() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=153436

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Drop temporary WebKit workaround in html/dom/interfaces.html
imported W3C test. This test would previously time out without
the workaround but this is fixed now.

* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:

Source/WebCore:

Make window.showModalDialog()'s first parameter mandatory to match the
last specification containing it:
http://dev.w3.org/html5/spec-preview/user-prompts.html#dialogs-implemented-using-separate-documents

The new behavior also matches Firefox, while Chrome no longer supports
this operation.

With this change, the W3C HTML test suite no longer hangs in the middle
because it mistakenly pops up a modal dialog during testing.

Test: fast/dom/Window/showModalDialog-mandatory-parameter.html

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::showModalDialog):

LayoutTests:

* fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt: Added.
* fast/dom/Window/showModalDialog-mandatory-parameter.html: Added.
Add layout test to check that showModalDialog()'s first parameter is indeed
mandatory.

* fast/dom/null-page-show-modal-dialog-crash.html:
Update existing test now that showModalDialog()'s first parameter is
mandatory.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomnullpageshowmodaldialogcrashhtml">trunk/LayoutTests/fast/dom/null-page-show-modal-dialog-crash.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfaceshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomWindowshowModalDialogmandatoryparameterexpectedtxt">trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomWindowshowModalDialogmandatoryparameterhtml">trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/LayoutTests/ChangeLog        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2016-01-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        First parameter to window.showModalDialog() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=153436
+
+        Reviewed by Youenn Fablet.
+
+        * fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt: Added.
+        * fast/dom/Window/showModalDialog-mandatory-parameter.html: Added.
+        Add layout test to check that showModalDialog()'s first parameter is indeed
+        mandatory.
+
+        * fast/dom/null-page-show-modal-dialog-crash.html:
+        Update existing test now that showModalDialog()'s first parameter is
+        mandatory.
+
</ins><span class="cx"> 2016-01-26  Eric Carlson  &lt;eric.carlson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         LayoutTest media/airplay-target-availability.html is flaky
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowshowModalDialogmandatoryparameterexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt (0 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter-expected.txt        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+Checks that the first parameter to window.showModalDialog() is mandatory
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS window.showModalDialog() threw exception TypeError: Not enough arguments.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowshowModalDialogmandatoryparameterhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter.html (0 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Window/showModalDialog-mandatory-parameter.html        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;Checks that the first parameter to window.showModalDialog() is mandatory&quot;);
+
+shouldThrow(&quot;window.showModalDialog()&quot;, &quot;'TypeError: Not enough arguments'&quot;);
+&lt;/script&gt;
+&lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomnullpageshowmodaldialogcrashhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/null-page-show-modal-dialog-crash.html (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/null-page-show-modal-dialog-crash.html        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/LayoutTests/fast/dom/null-page-show-modal-dialog-crash.html        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -16,9 +16,9 @@
</span><span class="cx"> 
</span><span class="cx">     iframe.parentNode.removeChild(iframe);
</span><span class="cx">     if (iframeWindow.showModalDialog)
</span><del>-        iframeWindow.showModalDialog();
</del><ins>+        iframeWindow.showModalDialog(&quot;Test&quot;);
</ins><span class="cx">     if (f)
</span><del>-        f.call(iframeWindow);
</del><ins>+        f.call(iframeWindow, &quot;Test&quot;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> document.body.appendChild(iframe);
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-01-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        First parameter to window.showModalDialog() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=153436
+
+        Reviewed by Youenn Fablet.
+
+        Drop temporary WebKit workaround in html/dom/interfaces.html
+        imported W3C test. This test would previously time out without
+        the workaround but this is fixed now.
+
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/dom/interfaces.html:
+
</ins><span class="cx"> 2016-01-26  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove XMLHttpRequestException
</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 (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -5694,6 +5694,7 @@
</span><span class="cx"> FAIL Window interface: operation confirm(DOMString) desc is not an Object. (evaluating '&quot;get&quot; in desc')
</span><span class="cx"> FAIL Window interface: operation prompt(DOMString,DOMString) desc is not an Object. (evaluating '&quot;get&quot; in desc')
</span><span class="cx"> FAIL Window interface: operation print() desc is not an Object. (evaluating '&quot;get&quot; in desc')
</span><ins>+FAIL Window interface: operation showModalDialog(DOMString,any) desc is not an Object. (evaluating '&quot;get&quot; in desc')
</ins><span class="cx"> FAIL Window interface: operation postMessage(any,DOMString,[object Object]) assert_equals: property should be writable if and only if not unforgeable expected true but got false
</span><span class="cx"> FAIL Window interface: operation captureEvents() desc is not an Object. (evaluating '&quot;get&quot; in desc')
</span><span class="cx"> FAIL Window interface: operation releaseEvents() desc is not an Object. (evaluating '&quot;get&quot; in desc')
</span><span class="lines">@@ -5821,116 +5822,118 @@
</span><span class="cx"> PASS Window interface: window must inherit property &quot;prompt&quot; with the proper type (32) 
</span><span class="cx"> PASS Window interface: calling prompt(DOMString,DOMString) on window with too few arguments must throw TypeError 
</span><span class="cx"> PASS Window interface: window must inherit property &quot;print&quot; with the proper type (33) 
</span><del>-PASS Window interface: window must inherit property &quot;postMessage&quot; with the proper type (34) 
</del><ins>+PASS Window interface: window must inherit property &quot;showModalDialog&quot; with the proper type (34) 
+PASS Window interface: calling showModalDialog(DOMString,any) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property &quot;postMessage&quot; with the proper type (35) 
</ins><span class="cx"> FAIL Window interface: calling postMessage(any,DOMString,[object Object]) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><span class="cx"> }&quot; threw object &quot;Error: SyntaxError: DOM Exception 12&quot; (&quot;SyntaxError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</span><del>-PASS Window interface: window must inherit property &quot;captureEvents&quot; with the proper type (35) 
-PASS Window interface: window must inherit property &quot;releaseEvents&quot; with the proper type (36) 
-PASS Window interface: window must inherit property &quot;onabort&quot; with the proper type (37) 
-FAIL Window interface: window must inherit property &quot;onautocomplete&quot; with the proper type (38) assert_own_property: expected property &quot;onautocomplete&quot; missing
-FAIL Window interface: window must inherit property &quot;onautocompleteerror&quot; with the proper type (39) assert_own_property: expected property &quot;onautocompleteerror&quot; missing
-PASS Window interface: window must inherit property &quot;onblur&quot; with the proper type (40) 
-FAIL Window interface: window must inherit property &quot;oncancel&quot; with the proper type (41) assert_own_property: expected property &quot;oncancel&quot; missing
-PASS Window interface: window must inherit property &quot;oncanplay&quot; with the proper type (42) 
-PASS Window interface: window must inherit property &quot;oncanplaythrough&quot; with the proper type (43) 
-PASS Window interface: window must inherit property &quot;onchange&quot; with the proper type (44) 
-PASS Window interface: window must inherit property &quot;onclick&quot; with the proper type (45) 
-FAIL Window interface: window must inherit property &quot;onclose&quot; with the proper type (46) assert_own_property: expected property &quot;onclose&quot; missing
-PASS Window interface: window must inherit property &quot;oncontextmenu&quot; with the proper type (47) 
-FAIL Window interface: window must inherit property &quot;oncuechange&quot; with the proper type (48) assert_own_property: expected property &quot;oncuechange&quot; missing
-PASS Window interface: window must inherit property &quot;ondblclick&quot; with the proper type (49) 
-PASS Window interface: window must inherit property &quot;ondrag&quot; with the proper type (50) 
-PASS Window interface: window must inherit property &quot;ondragend&quot; with the proper type (51) 
-PASS Window interface: window must inherit property &quot;ondragenter&quot; with the proper type (52) 
-FAIL Window interface: window must inherit property &quot;ondragexit&quot; with the proper type (53) assert_own_property: expected property &quot;ondragexit&quot; missing
-PASS Window interface: window must inherit property &quot;ondragleave&quot; with the proper type (54) 
-PASS Window interface: window must inherit property &quot;ondragover&quot; with the proper type (55) 
-PASS Window interface: window must inherit property &quot;ondragstart&quot; with the proper type (56) 
-PASS Window interface: window must inherit property &quot;ondrop&quot; with the proper type (57) 
-PASS Window interface: window must inherit property &quot;ondurationchange&quot; with the proper type (58) 
-PASS Window interface: window must inherit property &quot;onemptied&quot; with the proper type (59) 
-PASS Window interface: window must inherit property &quot;onended&quot; with the proper type (60) 
-PASS Window interface: window must inherit property &quot;onerror&quot; with the proper type (61) 
-PASS Window interface: window must inherit property &quot;onfocus&quot; with the proper type (62) 
-PASS Window interface: window must inherit property &quot;oninput&quot; with the proper type (63) 
-PASS Window interface: window must inherit property &quot;oninvalid&quot; with the proper type (64) 
-PASS Window interface: window must inherit property &quot;onkeydown&quot; with the proper type (65) 
-PASS Window interface: window must inherit property &quot;onkeypress&quot; with the proper type (66) 
-PASS Window interface: window must inherit property &quot;onkeyup&quot; with the proper type (67) 
-PASS Window interface: window must inherit property &quot;onload&quot; with the proper type (68) 
-PASS Window interface: window must inherit property &quot;onloadeddata&quot; with the proper type (69) 
-PASS Window interface: window must inherit property &quot;onloadedmetadata&quot; with the proper type (70) 
-PASS Window interface: window must inherit property &quot;onloadstart&quot; with the proper type (71) 
-PASS Window interface: window must inherit property &quot;onmousedown&quot; with the proper type (72) 
-PASS Window interface: window must inherit property &quot;onmouseenter&quot; with the proper type (73) 
-PASS Window interface: window must inherit property &quot;onmouseleave&quot; with the proper type (74) 
-PASS Window interface: window must inherit property &quot;onmousemove&quot; with the proper type (75) 
-PASS Window interface: window must inherit property &quot;onmouseout&quot; with the proper type (76) 
-PASS Window interface: window must inherit property &quot;onmouseover&quot; with the proper type (77) 
-PASS Window interface: window must inherit property &quot;onmouseup&quot; with the proper type (78) 
-PASS Window interface: window must inherit property &quot;onmousewheel&quot; with the proper type (79) 
-PASS Window interface: window must inherit property &quot;onpause&quot; with the proper type (80) 
-PASS Window interface: window must inherit property &quot;onplay&quot; with the proper type (81) 
-PASS Window interface: window must inherit property &quot;onplaying&quot; with the proper type (82) 
-PASS Window interface: window must inherit property &quot;onprogress&quot; with the proper type (83) 
-PASS Window interface: window must inherit property &quot;onratechange&quot; with the proper type (84) 
-PASS Window interface: window must inherit property &quot;onreset&quot; with the proper type (85) 
-PASS Window interface: window must inherit property &quot;onresize&quot; with the proper type (86) 
-PASS Window interface: window must inherit property &quot;onscroll&quot; with the proper type (87) 
-PASS Window interface: window must inherit property &quot;onseeked&quot; with the proper type (88) 
-PASS Window interface: window must inherit property &quot;onseeking&quot; with the proper type (89) 
-PASS Window interface: window must inherit property &quot;onselect&quot; with the proper type (90) 
-FAIL Window interface: window must inherit property &quot;onshow&quot; with the proper type (91) assert_own_property: expected property &quot;onshow&quot; missing
-FAIL Window interface: window must inherit property &quot;onsort&quot; with the proper type (92) assert_own_property: expected property &quot;onsort&quot; missing
-PASS Window interface: window must inherit property &quot;onstalled&quot; with the proper type (93) 
-PASS Window interface: window must inherit property &quot;onsubmit&quot; with the proper type (94) 
-PASS Window interface: window must inherit property &quot;onsuspend&quot; with the proper type (95) 
-PASS Window interface: window must inherit property &quot;ontimeupdate&quot; with the proper type (96) 
-FAIL Window interface: window must inherit property &quot;ontoggle&quot; with the proper type (97) assert_own_property: expected property &quot;ontoggle&quot; missing
-PASS Window interface: window must inherit property &quot;onvolumechange&quot; with the proper type (98) 
-PASS Window interface: window must inherit property &quot;onwaiting&quot; with the proper type (99) 
-FAIL Window interface: window must inherit property &quot;onafterprint&quot; with the proper type (100) assert_own_property: expected property &quot;onafterprint&quot; missing
-FAIL Window interface: window must inherit property &quot;onbeforeprint&quot; with the proper type (101) assert_own_property: expected property &quot;onbeforeprint&quot; missing
-PASS Window interface: window must inherit property &quot;onbeforeunload&quot; with the proper type (102) 
-PASS Window interface: window must inherit property &quot;onhashchange&quot; with the proper type (103) 
-FAIL Window interface: window must inherit property &quot;onlanguagechange&quot; with the proper type (104) assert_own_property: expected property &quot;onlanguagechange&quot; missing
-PASS Window interface: window must inherit property &quot;onmessage&quot; with the proper type (105) 
-PASS Window interface: window must inherit property &quot;onoffline&quot; with the proper type (106) 
-PASS Window interface: window must inherit property &quot;ononline&quot; with the proper type (107) 
-PASS Window interface: window must inherit property &quot;onpagehide&quot; with the proper type (108) 
-PASS Window interface: window must inherit property &quot;onpageshow&quot; with the proper type (109) 
-PASS Window interface: window must inherit property &quot;onpopstate&quot; with the proper type (110) 
-PASS Window interface: window must inherit property &quot;onstorage&quot; with the proper type (111) 
-PASS Window interface: window must inherit property &quot;onunload&quot; with the proper type (112) 
-PASS Window interface: window must inherit property &quot;btoa&quot; with the proper type (113) 
</del><ins>+PASS Window interface: window must inherit property &quot;captureEvents&quot; with the proper type (36) 
+PASS Window interface: window must inherit property &quot;releaseEvents&quot; with the proper type (37) 
+PASS Window interface: window must inherit property &quot;onabort&quot; with the proper type (38) 
+FAIL Window interface: window must inherit property &quot;onautocomplete&quot; with the proper type (39) assert_own_property: expected property &quot;onautocomplete&quot; missing
+FAIL Window interface: window must inherit property &quot;onautocompleteerror&quot; with the proper type (40) assert_own_property: expected property &quot;onautocompleteerror&quot; missing
+PASS Window interface: window must inherit property &quot;onblur&quot; with the proper type (41) 
+FAIL Window interface: window must inherit property &quot;oncancel&quot; with the proper type (42) assert_own_property: expected property &quot;oncancel&quot; missing
+PASS Window interface: window must inherit property &quot;oncanplay&quot; with the proper type (43) 
+PASS Window interface: window must inherit property &quot;oncanplaythrough&quot; with the proper type (44) 
+PASS Window interface: window must inherit property &quot;onchange&quot; with the proper type (45) 
+PASS Window interface: window must inherit property &quot;onclick&quot; with the proper type (46) 
+FAIL Window interface: window must inherit property &quot;onclose&quot; with the proper type (47) assert_own_property: expected property &quot;onclose&quot; missing
+PASS Window interface: window must inherit property &quot;oncontextmenu&quot; with the proper type (48) 
+FAIL Window interface: window must inherit property &quot;oncuechange&quot; with the proper type (49) assert_own_property: expected property &quot;oncuechange&quot; missing
+PASS Window interface: window must inherit property &quot;ondblclick&quot; with the proper type (50) 
+PASS Window interface: window must inherit property &quot;ondrag&quot; with the proper type (51) 
+PASS Window interface: window must inherit property &quot;ondragend&quot; with the proper type (52) 
+PASS Window interface: window must inherit property &quot;ondragenter&quot; with the proper type (53) 
+FAIL Window interface: window must inherit property &quot;ondragexit&quot; with the proper type (54) assert_own_property: expected property &quot;ondragexit&quot; missing
+PASS Window interface: window must inherit property &quot;ondragleave&quot; with the proper type (55) 
+PASS Window interface: window must inherit property &quot;ondragover&quot; with the proper type (56) 
+PASS Window interface: window must inherit property &quot;ondragstart&quot; with the proper type (57) 
+PASS Window interface: window must inherit property &quot;ondrop&quot; with the proper type (58) 
+PASS Window interface: window must inherit property &quot;ondurationchange&quot; with the proper type (59) 
+PASS Window interface: window must inherit property &quot;onemptied&quot; with the proper type (60) 
+PASS Window interface: window must inherit property &quot;onended&quot; with the proper type (61) 
+PASS Window interface: window must inherit property &quot;onerror&quot; with the proper type (62) 
+PASS Window interface: window must inherit property &quot;onfocus&quot; with the proper type (63) 
+PASS Window interface: window must inherit property &quot;oninput&quot; with the proper type (64) 
+PASS Window interface: window must inherit property &quot;oninvalid&quot; with the proper type (65) 
+PASS Window interface: window must inherit property &quot;onkeydown&quot; with the proper type (66) 
+PASS Window interface: window must inherit property &quot;onkeypress&quot; with the proper type (67) 
+PASS Window interface: window must inherit property &quot;onkeyup&quot; with the proper type (68) 
+PASS Window interface: window must inherit property &quot;onload&quot; with the proper type (69) 
+PASS Window interface: window must inherit property &quot;onloadeddata&quot; with the proper type (70) 
+PASS Window interface: window must inherit property &quot;onloadedmetadata&quot; with the proper type (71) 
+PASS Window interface: window must inherit property &quot;onloadstart&quot; with the proper type (72) 
+PASS Window interface: window must inherit property &quot;onmousedown&quot; with the proper type (73) 
+PASS Window interface: window must inherit property &quot;onmouseenter&quot; with the proper type (74) 
+PASS Window interface: window must inherit property &quot;onmouseleave&quot; with the proper type (75) 
+PASS Window interface: window must inherit property &quot;onmousemove&quot; with the proper type (76) 
+PASS Window interface: window must inherit property &quot;onmouseout&quot; with the proper type (77) 
+PASS Window interface: window must inherit property &quot;onmouseover&quot; with the proper type (78) 
+PASS Window interface: window must inherit property &quot;onmouseup&quot; with the proper type (79) 
+PASS Window interface: window must inherit property &quot;onmousewheel&quot; with the proper type (80) 
+PASS Window interface: window must inherit property &quot;onpause&quot; with the proper type (81) 
+PASS Window interface: window must inherit property &quot;onplay&quot; with the proper type (82) 
+PASS Window interface: window must inherit property &quot;onplaying&quot; with the proper type (83) 
+PASS Window interface: window must inherit property &quot;onprogress&quot; with the proper type (84) 
+PASS Window interface: window must inherit property &quot;onratechange&quot; with the proper type (85) 
+PASS Window interface: window must inherit property &quot;onreset&quot; with the proper type (86) 
+PASS Window interface: window must inherit property &quot;onresize&quot; with the proper type (87) 
+PASS Window interface: window must inherit property &quot;onscroll&quot; with the proper type (88) 
+PASS Window interface: window must inherit property &quot;onseeked&quot; with the proper type (89) 
+PASS Window interface: window must inherit property &quot;onseeking&quot; with the proper type (90) 
+PASS Window interface: window must inherit property &quot;onselect&quot; with the proper type (91) 
+FAIL Window interface: window must inherit property &quot;onshow&quot; with the proper type (92) assert_own_property: expected property &quot;onshow&quot; missing
+FAIL Window interface: window must inherit property &quot;onsort&quot; with the proper type (93) assert_own_property: expected property &quot;onsort&quot; missing
+PASS Window interface: window must inherit property &quot;onstalled&quot; with the proper type (94) 
+PASS Window interface: window must inherit property &quot;onsubmit&quot; with the proper type (95) 
+PASS Window interface: window must inherit property &quot;onsuspend&quot; with the proper type (96) 
+PASS Window interface: window must inherit property &quot;ontimeupdate&quot; with the proper type (97) 
+FAIL Window interface: window must inherit property &quot;ontoggle&quot; with the proper type (98) assert_own_property: expected property &quot;ontoggle&quot; missing
+PASS Window interface: window must inherit property &quot;onvolumechange&quot; with the proper type (99) 
+PASS Window interface: window must inherit property &quot;onwaiting&quot; with the proper type (100) 
+FAIL Window interface: window must inherit property &quot;onafterprint&quot; with the proper type (101) assert_own_property: expected property &quot;onafterprint&quot; missing
+FAIL Window interface: window must inherit property &quot;onbeforeprint&quot; with the proper type (102) assert_own_property: expected property &quot;onbeforeprint&quot; missing
+PASS Window interface: window must inherit property &quot;onbeforeunload&quot; with the proper type (103) 
+PASS Window interface: window must inherit property &quot;onhashchange&quot; with the proper type (104) 
+FAIL Window interface: window must inherit property &quot;onlanguagechange&quot; with the proper type (105) assert_own_property: expected property &quot;onlanguagechange&quot; missing
+PASS Window interface: window must inherit property &quot;onmessage&quot; with the proper type (106) 
+PASS Window interface: window must inherit property &quot;onoffline&quot; with the proper type (107) 
+PASS Window interface: window must inherit property &quot;ononline&quot; with the proper type (108) 
+PASS Window interface: window must inherit property &quot;onpagehide&quot; with the proper type (109) 
+PASS Window interface: window must inherit property &quot;onpageshow&quot; with the proper type (110) 
+PASS Window interface: window must inherit property &quot;onpopstate&quot; with the proper type (111) 
+PASS Window interface: window must inherit property &quot;onstorage&quot; with the proper type (112) 
+PASS Window interface: window must inherit property &quot;onunload&quot; with the proper type (113) 
+PASS Window interface: window must inherit property &quot;btoa&quot; with the proper type (114) 
</ins><span class="cx"> PASS Window interface: calling btoa(DOMString) on window with too few arguments must throw TypeError 
</span><del>-PASS Window interface: window must inherit property &quot;atob&quot; with the proper type (114) 
</del><ins>+PASS Window interface: window must inherit property &quot;atob&quot; with the proper type (115) 
</ins><span class="cx"> PASS Window interface: calling atob(DOMString) on window with too few arguments must throw TypeError 
</span><del>-PASS Window interface: window must inherit property &quot;setTimeout&quot; with the proper type (115) 
</del><ins>+PASS Window interface: window must inherit property &quot;setTimeout&quot; with the proper type (116) 
</ins><span class="cx"> FAIL Window interface: calling setTimeout(Function,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><span class="cx"> }&quot; did not throw
</span><del>-PASS Window interface: window must inherit property &quot;setTimeout&quot; with the proper type (116) 
</del><ins>+PASS Window interface: window must inherit property &quot;setTimeout&quot; with the proper type (117) 
</ins><span class="cx"> FAIL Window interface: calling setTimeout(DOMString,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><span class="cx"> }&quot; did not throw
</span><del>-PASS Window interface: window must inherit property &quot;clearTimeout&quot; with the proper type (117) 
</del><ins>+PASS Window interface: window must inherit property &quot;clearTimeout&quot; with the proper type (118) 
</ins><span class="cx"> PASS Window interface: calling clearTimeout(long) on window with too few arguments must throw TypeError 
</span><del>-PASS Window interface: window must inherit property &quot;setInterval&quot; with the proper type (118) 
</del><ins>+PASS Window interface: window must inherit property &quot;setInterval&quot; with the proper type (119) 
</ins><span class="cx"> FAIL Window interface: calling setInterval(Function,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><span class="cx"> }&quot; did not throw
</span><del>-PASS Window interface: window must inherit property &quot;setInterval&quot; with the proper type (119) 
</del><ins>+PASS Window interface: window must inherit property &quot;setInterval&quot; with the proper type (120) 
</ins><span class="cx"> FAIL Window interface: calling setInterval(DOMString,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><span class="cx"> }&quot; did not throw
</span><del>-PASS Window interface: window must inherit property &quot;clearInterval&quot; with the proper type (120) 
</del><ins>+PASS Window interface: window must inherit property &quot;clearInterval&quot; with the proper type (121) 
</ins><span class="cx"> PASS Window interface: calling clearInterval(long) on window with too few arguments must throw TypeError 
</span><del>-FAIL Window interface: window must inherit property &quot;createImageBitmap&quot; with the proper type (121) assert_own_property: expected property &quot;createImageBitmap&quot; missing
</del><ins>+FAIL Window interface: window must inherit property &quot;createImageBitmap&quot; with the proper type (122) assert_own_property: expected property &quot;createImageBitmap&quot; missing
</ins><span class="cx"> FAIL Window interface: calling createImageBitmap(ImageBitmapSource,long,long,long,long) on window with too few arguments must throw TypeError assert_own_property: expected property &quot;createImageBitmap&quot; missing
</span><del>-PASS Window interface: window must inherit property &quot;sessionStorage&quot; with the proper type (122) 
-PASS Window interface: window must inherit property &quot;localStorage&quot; with the proper type (123) 
</del><ins>+PASS Window interface: window must inherit property &quot;sessionStorage&quot; with the proper type (123) 
+PASS Window interface: window must inherit property &quot;localStorage&quot; with the proper type (124) 
</ins><span class="cx"> FAIL EventTarget interface: window must inherit property &quot;addEventListener&quot; with the proper type (0) assert_inherits: property &quot;addEventListener&quot; found on object expected in prototype chain
</span><span class="cx"> FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on window with too few arguments must throw TypeError assert_inherits: property &quot;addEventListener&quot; found on object expected in prototype chain
</span><span class="cx"> FAIL EventTarget interface: window must inherit property &quot;removeEventListener&quot; with the proper type (1) assert_inherits: property &quot;removeEventListener&quot; found on object expected in prototype chain
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfaceshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -2296,9 +2296,7 @@
</span><span class="cx">   boolean confirm(optional DOMString message = &quot;&quot;);
</span><span class="cx">   DOMString? prompt(optional DOMString message = &quot;&quot;, optional DOMString default = &quot;&quot;);
</span><span class="cx">   void print();
</span><del>-  // WebKit Modification: commented showModalDialog as timeouting tests
-  //any showModalDialog(DOMString url, optional any argument);
-  // WebKit Modification end.
</del><ins>+  any showModalDialog(DOMString url, optional any argument);
</ins><span class="cx"> 
</span><span class="cx">   void postMessage(any message, DOMString targetOrigin, optional sequence&lt;Transferable&gt; transfer);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/Source/WebCore/ChangeLog        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2016-01-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        First parameter to window.showModalDialog() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=153436
+
+        Reviewed by Youenn Fablet.
+
+        Make window.showModalDialog()'s first parameter mandatory to match the
+        last specification containing it:
+        http://dev.w3.org/html5/spec-preview/user-prompts.html#dialogs-implemented-using-separate-documents
+
+        The new behavior also matches Firefox, while Chrome no longer supports
+        this operation.
+
+        With this change, the W3C HTML test suite no longer hangs in the middle
+        because it mistakenly pops up a modal dialog during testing.
+
+        Test: fast/dom/Window/showModalDialog-mandatory-parameter.html
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::showModalDialog):
+
</ins><span class="cx"> 2016-01-26  Eric Carlson  &lt;eric.carlson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         LayoutTest media/airplay-target-availability.html is flaky
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (195593 => 195594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2016-01-26 17:23:34 UTC (rev 195593)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2016-01-26 18:04:26 UTC (rev 195594)
</span><span class="lines">@@ -577,6 +577,9 @@
</span><span class="cx"> 
</span><span class="cx"> JSValue JSDOMWindow::showModalDialog(ExecState&amp; state)
</span><span class="cx"> {
</span><ins>+    if (UNLIKELY(state.argumentCount() &lt; 1))
+        return state.vm().throwException(&amp;state, createNotEnoughArgumentsError(&amp;state));
+
</ins><span class="cx">     String urlString = valueToStringWithUndefinedOrNullCheck(&amp;state, state.argument(0));
</span><span class="cx">     if (state.hadException())
</span><span class="cx">         return jsUndefined();
</span></span></pre>
</div>
</div>

</body>
</html>