<!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>[197874] 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/197874">197874</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-03-09 12:37:36 -0800 (Wed, 09 Mar 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move attributes to the instance for most interfaces that have "Error" in their name
https://bugs.webkit.org/show_bug.cgi?id=155231
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Our bindings generator was keeping attributes on the instances for
interfaces having "Error" or "Exception" in their name. The reason is
that interfaces that have "Error" in their prototype would not behave
correctly otherwise because "Error" incorrectly has its attributes on
the instance at the moment. However, in our bindings generator, the
condition to decide if an interface's prototype should be "Error" is
if $interface->isException. Therefore, we should use the same condition
to decide if we should keep attributes on the instance until "Error"
is updated to have its attributes on the prototype. Doing this for any
interface having "Error" or "Exception" in their name is overkill.
No new tests, already covered by existing test.
* bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstance):</pre>
<h3>Modified Paths</h3>
<ul>
<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="#trunkLayoutTestsplatformiossimulatorimportedw3cwebplatformtestshtmldominterfacesexpectedtxt">trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (197873 => 197874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2016-03-09 20:36:40 UTC (rev 197873)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2016-03-09 20:37:36 UTC (rev 197874)
</span><span class="lines">@@ -1,5 +1,16 @@
</span><span class="cx"> 2016-03-09 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><ins>+ Move attributes to the instance for most interfaces that have "Error" in their name
+ https://bugs.webkit.org/show_bug.cgi?id=155231
+
+ Reviewed by Darin Adler.
+
+ Rebaseline now that more checks are passing.
+
+ * web-platform-tests/html/dom/interfaces-expected.txt:
+
+2016-03-09 Chris Dumez <cdumez@apple.com>
+
</ins><span class="cx"> Align HTMLKeygenElement.keytype with the specification
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=155214
</span><span class="cx">
</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 (197873 => 197874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-03-09 20:36:40 UTC (rev 197873)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-03-09 20:37:36 UTC (rev 197874)
</span><span class="lines">@@ -2177,14 +2177,14 @@
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object
</span><del>-FAIL MediaError interface: attribute code assert_true: The prototype object must have a property "code" expected true got false
</del><ins>+PASS MediaError interface: attribute code
</ins><span class="cx"> PASS MediaError must be primary interface of errorVideo.error
</span><span class="cx"> PASS Stringification of errorVideo.error
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type (0)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type (1)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type (2)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type (3)
</span><del>-FAIL MediaError interface: errorVideo.error must inherit property "code" with the proper type (4) assert_inherits: property "code" found on object expected in prototype chain
</del><ins>+PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type (4)
</ins><span class="cx"> PASS AudioTrackList interface: existence and properties of interface object
</span><span class="cx"> PASS AudioTrackList interface object length
</span><span class="cx"> PASS AudioTrackList interface object name
</span><span class="lines">@@ -4253,10 +4253,10 @@
</span><span class="cx"> PASS ErrorEvent interface object name
</span><span class="cx"> PASS ErrorEvent interface: existence and properties of interface prototype object
</span><span class="cx"> PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property
</span><del>-FAIL ErrorEvent interface: attribute message assert_true: The prototype object must have a property "message" expected true got false
-FAIL ErrorEvent interface: attribute filename assert_true: The prototype object must have a property "filename" expected true got false
-FAIL ErrorEvent interface: attribute lineno assert_true: The prototype object must have a property "lineno" expected true got false
-FAIL ErrorEvent interface: attribute colno assert_true: The prototype object must have a property "colno" expected true got false
</del><ins>+PASS ErrorEvent interface: attribute message
+PASS ErrorEvent interface: attribute filename
+PASS ErrorEvent interface: attribute lineno
+PASS ErrorEvent interface: attribute colno
</ins><span class="cx"> FAIL ErrorEvent interface: attribute error assert_true: The prototype object must have a property "error" expected true got false
</span><span class="cx"> PASS Navigator interface: existence and properties of interface object
</span><span class="cx"> PASS Navigator interface object length
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorimportedw3cwebplatformtestshtmldominterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (197873 => 197874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-03-09 20:36:40 UTC (rev 197873)
+++ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-03-09 20:37:36 UTC (rev 197874)
</span><span class="lines">@@ -2177,14 +2177,14 @@
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object
</span><span class="cx"> PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object
</span><del>-FAIL MediaError interface: attribute code assert_true: The prototype object must have a property "code" expected true got false
</del><ins>+PASS MediaError interface: attribute code
</ins><span class="cx"> PASS MediaError must be primary interface of errorVideo.error
</span><span class="cx"> PASS Stringification of errorVideo.error
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type (0)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type (1)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type (2)
</span><span class="cx"> PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type (3)
</span><del>-FAIL MediaError interface: errorVideo.error must inherit property "code" with the proper type (4) assert_inherits: property "code" found on object expected in prototype chain
</del><ins>+PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type (4)
</ins><span class="cx"> PASS AudioTrackList interface: existence and properties of interface object
</span><span class="cx"> PASS AudioTrackList interface object length
</span><span class="cx"> PASS AudioTrackList interface object name
</span><span class="lines">@@ -4253,10 +4253,10 @@
</span><span class="cx"> PASS ErrorEvent interface object name
</span><span class="cx"> PASS ErrorEvent interface: existence and properties of interface prototype object
</span><span class="cx"> PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property
</span><del>-FAIL ErrorEvent interface: attribute message assert_true: The prototype object must have a property "message" expected true got false
-FAIL ErrorEvent interface: attribute filename assert_true: The prototype object must have a property "filename" expected true got false
-FAIL ErrorEvent interface: attribute lineno assert_true: The prototype object must have a property "lineno" expected true got false
-FAIL ErrorEvent interface: attribute colno assert_true: The prototype object must have a property "colno" expected true got false
</del><ins>+PASS ErrorEvent interface: attribute message
+PASS ErrorEvent interface: attribute filename
+PASS ErrorEvent interface: attribute lineno
+PASS ErrorEvent interface: attribute colno
</ins><span class="cx"> FAIL ErrorEvent interface: attribute error assert_true: The prototype object must have a property "error" expected true got false
</span><span class="cx"> PASS Navigator interface: existence and properties of interface object
</span><span class="cx"> PASS Navigator interface object length
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (197873 => 197874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-03-09 20:36:40 UTC (rev 197873)
+++ trunk/Source/WebCore/ChangeLog        2016-03-09 20:37:36 UTC (rev 197874)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2016-03-09 Chris Dumez <cdumez@apple.com>
+
+ Move attributes to the instance for most interfaces that have "Error" in their name
+ https://bugs.webkit.org/show_bug.cgi?id=155231
+
+ Reviewed by Darin Adler.
+
+ Our bindings generator was keeping attributes on the instances for
+ interfaces having "Error" or "Exception" in their name. The reason is
+ that interfaces that have "Error" in their prototype would not behave
+ correctly otherwise because "Error" incorrectly has its attributes on
+ the instance at the moment. However, in our bindings generator, the
+ condition to decide if an interface's prototype should be "Error" is
+ if $interface->isException. Therefore, we should use the same condition
+ to decide if we should keep attributes on the instance until "Error"
+ is updated to have its attributes on the prototype. Doing this for any
+ interface having "Error" or "Exception" in their name is overkill.
+
+ No new tests, already covered by existing test.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (InterfaceRequiresAttributesOnInstance):
+
</ins><span class="cx"> 2016-03-09 Daniel Bates <dabates@apple.com>
</span><span class="cx">
</span><span class="cx"> Rename WebCore/platform/crypto/mac/CryptoDigestMac.cpp to WebCore/platform/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (197873 => 197874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-03-09 20:36:40 UTC (rev 197873)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-03-09 20:37:36 UTC (rev 197874)
</span><span class="lines">@@ -673,9 +673,8 @@
</span><span class="cx"> # Some of them are unavoidable due to DOM weirdness, in which case we should
</span><span class="cx"> # add an IDL attribute for them
</span><span class="cx">
</span><del>- # FIXME: These two should be fixed by removing the custom override of message, etc
- return 1 if $interfaceName =~ "Exception";
- return 1 if $interfaceName =~ "Error";
</del><ins>+ # FIXME: We should be able to drop this once <rdar://problem/24466097> is fixed.
+ return 1 if $interface->isException;
</ins><span class="cx">
</span><span class="cx"> return 1 if IsDOMGlobalObject($interface);
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>