<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/104680/">http://git.reviewboard.kde.org/r/104680/</a>
</td>
</tr>
</table>
<br />
<p>Ship it!</p>
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/104680/diff/1/?file=58187#file58187line429" style="color: black; font-weight: bold; text-decoration: underline;">kjs/interpreter.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void Interpreter::initGlobalObject()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">429</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">objProto</span><span class="o">-></span><span class="n">put</span><span class="p">(</span><span class="o">&</span><span class="n">m_globalExec</span><span class="p">,</span> <span class="n">m_globalExec</span><span class="p">.</span><span class="n">propertyNames</span><span class="p">().</span><span class="n">constructor</span><span class="p">,</span> <span class="n">m_Object</span><span class="p">,</span> <span class="n">DontEnum</span><span class="hl"> </span><span class="o"><span class="hl">|</span></span><span class="hl"> </span><span class="n"><span class="hl">DontDelete</span></span><span class="hl"> </span><span class="o"><span class="hl">|</span></span><span class="hl"> </span><span class="n"><span class="hl">ReadOnly</span></span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">429</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">objProto</span><span class="o">-></span><span class="n">put</span><span class="p">(</span><span class="o">&</span><span class="n">m_globalExec</span><span class="p">,</span> <span class="n">m_globalExec</span><span class="p">.</span><span class="n">propertyNames</span><span class="p">().</span><span class="n">constructor</span><span class="p">,</span> <span class="n">m_Object</span><span class="p">,</span> <span class="n">DontEnum</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">These are not properties of the global object, though. These are the .constructor properties of the prototypes --- that is, these are not thing like "SyntaxError" (which is set above, in line 424), but rather "SyntaxError.prototype.constructor". Yes, those properties refer to the same object, but they're set on different things
(global/[Window] vs. SyntaxError.prototype).
I think the rule that can justify this is actually in 15 (without any dot):
"Every other property described in this
clause has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified"
Looks good other than, so please just fix your changelog :)
</pre>
</div>
<br />
<p>- Maks</p>
<br />
<p>On April 19th, 2012, 7:41 p.m., Bernd Buschinski wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kdelibs.</div>
<div>By Bernd Buschinski.</div>
<p style="color: grey;"><i>Updated April 19, 2012, 7:41 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">kjs: All prototype constructor should be [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true
As said in ECMA Edition 5.1r6 - 15.1:
"Unless otherwise specified, the standard built-in properties of the global object have attributes {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true}."
And it is not otherwise specified.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Confirmed by ecmascript tests checking the attributes of *.prototype.constrictor with Object.getOwnPropertyDescriptor
like
Object.getOwnPropertyDescriptor(Date.prototype, "constructor");</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kjs/interpreter.cpp <span style="color: grey">(cf1acf1)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/104680/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>