Skip to content

Commit

Permalink
Add an "unenumerable" for named properties must not be enumerated.
Browse files Browse the repository at this point in the history
  • Loading branch information
heycam committed Jan 26, 2014
1 parent 3aa9313 commit de52ca3
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 16 deletions.
23 changes: 18 additions & 5 deletions index.html
Expand Up @@ -19,7 +19,7 @@
<link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-ED" type="text/css" /></head>

<body>
<div class="head"><div><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" width="72" height="48" alt="W3C" /></a></div><h1>Web IDL (Second Edition)</h1><h2>W3C Editor’s Draft <em>26 January 2014</em></h2><dl><dt>This Version:</dt><dd><a href="http://heycam.github.io/webidl/">http://heycam.github.io/webidl/</a></dd><dt>Latest Version:</dt><dd><a href="http://www.w3.org/TR/WebIDL/">http://www.w3.org/TR/WebIDL/</a></dd><dt>Previous Versions:</dt><dd><a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">http://www.w3.org/TR/2012/CR-WebIDL-20120419/</a></dd><dd><a href="http://www.w3.org/TR/2012/WD-WebIDL-20120207/">http://www.w3.org/TR/2012/WD-WebIDL-20120207/</a></dd><dd><a href="http://www.w3.org/TR/2011/WD-WebIDL-20110927/">http://www.w3.org/TR/2011/WD-WebIDL-20110927/</a></dd><dd><a href="http://www.w3.org/TR/2011/WD-WebIDL-20110712/">http://www.w3.org/TR/2011/WD-WebIDL-20110712/</a></dd><dd><a href="http://www.w3.org/TR/2010/WD-WebIDL-20101021/">http://www.w3.org/TR/2010/WD-WebIDL-20101021/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-WebIDL-20081219/">http://www.w3.org/TR/2008/WD-WebIDL-20081219/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-WebIDL-20080829/">http://www.w3.org/TR/2008/WD-WebIDL-20080829/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-DOM-Bindings-20080410/">http://www.w3.org/TR/2008/WD-DOM-Bindings-20080410/</a></dd><dd><a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/">http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/</a></dd><dt>Participate:</dt><dd>
<div class="head"><div><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" width="72" height="48" alt="W3C" /></a></div><h1>Web IDL (Second Edition)</h1><h2>W3C Editor’s Draft <em>27 January 2014</em></h2><dl><dt>This Version:</dt><dd><a href="http://heycam.github.io/webidl/">http://heycam.github.io/webidl/</a></dd><dt>Latest Version:</dt><dd><a href="http://www.w3.org/TR/WebIDL/">http://www.w3.org/TR/WebIDL/</a></dd><dt>Previous Versions:</dt><dd><a href="http://www.w3.org/TR/2012/CR-WebIDL-20120419/">http://www.w3.org/TR/2012/CR-WebIDL-20120419/</a></dd><dd><a href="http://www.w3.org/TR/2012/WD-WebIDL-20120207/">http://www.w3.org/TR/2012/WD-WebIDL-20120207/</a></dd><dd><a href="http://www.w3.org/TR/2011/WD-WebIDL-20110927/">http://www.w3.org/TR/2011/WD-WebIDL-20110927/</a></dd><dd><a href="http://www.w3.org/TR/2011/WD-WebIDL-20110712/">http://www.w3.org/TR/2011/WD-WebIDL-20110712/</a></dd><dd><a href="http://www.w3.org/TR/2010/WD-WebIDL-20101021/">http://www.w3.org/TR/2010/WD-WebIDL-20101021/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-WebIDL-20081219/">http://www.w3.org/TR/2008/WD-WebIDL-20081219/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-WebIDL-20080829/">http://www.w3.org/TR/2008/WD-WebIDL-20080829/</a></dd><dd><a href="http://www.w3.org/TR/2008/WD-DOM-Bindings-20080410/">http://www.w3.org/TR/2008/WD-DOM-Bindings-20080410/</a></dd><dd><a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/">http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/</a></dd><dt>Participate:</dt><dd>
Send feedback to <a href="mailto:public-script-coord@w3.org">public-script-coord@w3.org</a> or <a href="https://www.w3.org/Bugs/Public/enter_bug.cgi?product=WebAppsWG&amp;component=WebIDL">file a bug</a> (<a href="https://www.w3.org/Bugs/Public/buglist.cgi?product=WebAppsWG&amp;component=WebIDL&amp;resolution=---">open bugs</a>)
</dd><dt>Editor:</dt><dd><a href="http://mcc.id.au/">Cameron McCormack</a>, Mozilla Corporation &lt;cam@mcc.id.au&gt;</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 2014 <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>&reg;</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr /><script async="" src="file-bug.js"></script>

Expand Down Expand Up @@ -72,7 +72,7 @@ <h2 id="sotd">Status of This Document</h2>
report can be found in the <a href="http://www.w3.org/TR/">W3C technical
reports index</a> at http://www.w3.org/TR/.
</em></p><p>
This document is the 26 January 2014 <b>Editor’s Draft</b> of the
This document is the 27 January 2014 <b>Editor’s Draft</b> of the
<cite>Web IDL (Second Edition)</cite> specification.

Please send comments about this document to
Expand Down Expand Up @@ -11098,8 +11098,11 @@ <h5>4.5.5.1. Named properties object [[GetOwnProperty]] method</h5>
<li>Let <var>desc</var> be a newly created <a class="external" href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-property-descriptor-specification-type">Property Descriptor</a> (<a href="#ref-ECMA-262">[ECMA-262]</a>, section 6.2.4) with no fields.</li>
<li>Set <var>desc</var>.<span class="prop">[[Value]]</span> to the result of <a class="dfnref" href="#dfn-convert-idl-to-ecmascript-value">converting</a>
<var>value</var> to an ECMAScript value.</li>
<li>Set <var>desc</var>.<span class="prop">[[Writable]]</span> to <span class="esvalue">false</span>, and
<var>desc</var>.<span class="prop">[[Enumerable]]</span> &amp; <var>desc</var>.<span class="prop">[[Configurable]]</span> to <span class="esvalue">true</span>.</li>
<li>If the named property is defined to be <a class="dfnref" href="#dfn-unenumerable">unenumerable</a>,
then set <var>desc</var>.<span class="prop">[[Enumerable]]</span> to <span class="esvalue">false</span>,
otherwise set it to <span class="esvalue">true</span>.</li>
<li>Set <var>desc</var>.<span class="prop">[[Writable]]</span> to <span class="esvalue">false</span> and
<var>desc</var>.<span class="prop">[[Configurable]]</span> to <span class="esvalue">true</span>.</li>
<li>Return <var>desc</var>.</li>
</ol>
</li>
Expand Down Expand Up @@ -12777,7 +12780,10 @@ <h4>4.7.2. Platform object [[GetOwnProperty]] method</h4>
<a class='dfnref' href='#dfn-extended-attribute'>extended attribute</a>-->, then set
<var>desc</var>.<span class="prop">[[Writable]]</span> to <span class="esvalue">true</span>, otherwise set it to
<span class="esvalue">false</span>.</li>
<li>Set <var>desc</var>.<span class="prop">[[Enumerable]]</span> and <var>desc</var>.<span class="prop">[[Configurable]]</span> to <span class="esvalue">true</span>.</li>
<li>If the named property is defined to be <a class="dfnref" href="#dfn-unenumerable">unenumerable</a>,
then set <var>desc</var>.<span class="prop">[[Enumerable]]</span> to <span class="esvalue">false</span>,
otherwise set it to <span class="esvalue">true</span>.</li>
<li>Set <var>desc</var>.<span class="prop">[[Configurable]]</span> to <span class="esvalue">true</span>.</li>
<li>Return <var>desc</var>.</li>
</ol>
</li>
Expand Down Expand Up @@ -13028,6 +13034,7 @@ <h4>4.7.6. Property enumeration</h4>
<li>If the object <a class="dfnref" href="#dfn-support-named-properties">supports named properties</a>, then
the object’s <a class="dfnref" href="#dfn-supported-property-names">supported property names</a> that
are visible according to the <a class="dfnref" href="#dfn-named-property-visibility">named property visibility algorithm</a>
and which are not stated to be <dfn id="dfn-unenumerable">unenumerable</dfn>
are enumerated next, in the order given in the definition of the set of supported property names.</li>
<li>Finally, any enumerable own properties or properties from the object’s prototype chain are then enumerated,
in no defined order.</li>
Expand Down Expand Up @@ -14459,6 +14466,12 @@ <h2>C. Changes</h2>
</p>
</li>
<!-- below are changes in v1 too -->
<li>
<p>
Add a term "unenumerable" to allow named properties to be exposed as
properties with [[Enumerable]] set to false.
</p>
</li>
<li>
<p>
Added the <span class="xattr">[Exposed]</span> and
Expand Down
19 changes: 16 additions & 3 deletions index.xml
Expand Up @@ -10912,8 +10912,11 @@ partial interface Window {
<li>Let <var>desc</var> be a newly created <a>Property Descriptor</a> with no fields.</li>
<li>Set <var>desc</var>.<span class='prop'>[[Value]]</span> to the result of <a class='dfnref' href='#dfn-convert-idl-to-ecmascript-value'>converting</a>
<var>value</var> to an ECMAScript value.</li>
<li>Set <var>desc</var>.<span class='prop'>[[Writable]]</span> to <span class='esvalue'>false</span>, and
<var>desc</var>.<span class='prop'>[[Enumerable]]</span> &amp; <var>desc</var>.<span class='prop'>[[Configurable]]</span> to <span class='esvalue'>true</span>.</li>
<li>If the named property is defined to be <a class='dfnref' href='#dfn-unenumerable'>unenumerable</a>,
then set <var>desc</var>.<span class='prop'>[[Enumerable]]</span> to <span class='esvalue'>false</span>,
otherwise set it to <span class='esvalue'>true</span>.</li>
<li>Set <var>desc</var>.<span class='prop'>[[Writable]]</span> to <span class='esvalue'>false</span> and
<var>desc</var>.<span class='prop'>[[Configurable]]</span> to <span class='esvalue'>true</span>.</li>
<li>Return <var>desc</var>.</li>
</ol>
</li>
Expand Down Expand Up @@ -12591,7 +12594,10 @@ C implements A;</x:codeblock>
<a class='dfnref' href='#dfn-extended-attribute'>extended attribute</a>-->, then set
<var>desc</var>.<span class='prop'>[[Writable]]</span> to <span class='esvalue'>true</span>, otherwise set it to
<span class='esvalue'>false</span>.</li>
<li>Set <var>desc</var>.<span class='prop'>[[Enumerable]]</span> and <var>desc</var>.<span class='prop'>[[Configurable]]</span> to <span class='esvalue'>true</span>.</li>
<li>If the named property is defined to be <a class='dfnref' href='#dfn-unenumerable'>unenumerable</a>,
then set <var>desc</var>.<span class='prop'>[[Enumerable]]</span> to <span class='esvalue'>false</span>,
otherwise set it to <span class='esvalue'>true</span>.</li>
<li>Set <var>desc</var>.<span class='prop'>[[Configurable]]</span> to <span class='esvalue'>true</span>.</li>
<li>Return <var>desc</var>.</li>
</ol>
</li>
Expand Down Expand Up @@ -12842,6 +12848,7 @@ C implements A;</x:codeblock>
<li>If the object <a class='dfnref' href='#dfn-support-named-properties'>supports named properties</a>, then
the object’s <a class='dfnref' href='#dfn-supported-property-names'>supported property names</a> that
are visible according to the <a class='dfnref' href='#dfn-named-property-visibility'>named property visibility algorithm</a>
and which are not stated to be <dfn id='dfn-unenumerable'>unenumerable</dfn>
are enumerated next, in the order given in the definition of the set of supported property names.</li>
<li>Finally, any enumerable own properties or properties from the object’s prototype chain are then enumerated,
in no defined order.</li>
Expand Down Expand Up @@ -14280,6 +14287,12 @@ d.type = et;
</p>
</li>
<!-- below are changes in v1 too -->
<li>
<p>
Add a term "unenumerable" to allow named properties to be exposed as
properties with [[Enumerable]] set to false.
</p>
</li>
<li>
<p>
Added the <span class='xattr'>[Exposed]</span> and
Expand Down

0 comments on commit de52ca3

Please sign in to comment.