<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>93873</bug_id>
          
          <creation_ts>2012-08-13 11:29:46 -0700</creation_ts>
          <short_desc>Object.prototype.__define{G,S}etter__ with non-callable second parameter should throw TypeError instead of SyntaxError</short_desc>
          <delta_ts>2012-09-07 15:50:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://mathias.html5.org/specs/javascript/#object.prototype.__definegetter__</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>mathias</cc>
    
    <cc>oliver</cc>
    
    <cc>peter</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>693872</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2012-08-13 11:29:46 -0700</bug_when>
    <thetext>For compatibility with other ECMAScript engines, `Object.prototype.__defineGetter__` must behave as described here: http://mathias.html5.org/specs/javascript/#object.prototype.__definegetter__

JavaScriptCore has a minor bug where it throws a SyntaxError instead of a TypeError in cases like the following:

    var object = {};
    object.__defineGetter__(&apos;foo&apos;, &apos;_&apos;);

Online tests: http://mathias.html5.org/tests/javascript/object/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693887</commentid>
    <comment_count>1</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2012-08-13 11:39:54 -0700</bug_when>
    <thetext>So obvious I forgot to mention it, but the same goes for `Object.prototype.__defineSetter__`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693934</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-08-13 12:21:37 -0700</bug_when>
    <thetext>Yup - syntax errors should all be early errors, doesn&apos;t sounds appropriate here.  We should make this a type error.  Thanks for the bug report!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715062</commentid>
    <comment_count>3</comment_count>
      <attachid>162885</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-07 15:41:51 -0700</bug_when>
    <thetext>Created attachment 162885
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715072</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-07 15:50:56 -0700</bug_when>
    <thetext>Fixed in r127930</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162885</attachid>
            <date>2012-09-07 15:41:51 -0700</date>
            <delta_ts>2012-09-07 15:43:20 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>93873.patch</filename>
            <type>text/plain</type>
            <size>3985</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3OTI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTA3ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5le0csU31ldHRlcl9fIHdpdGggbm9u
LWNhbGxhYmxlIHNlY29uZCBwYXJhbWV0ZXIgc2hvdWxkIHRocm93IFR5cGVFcnJvciBpbnN0ZWFk
IG9mIFN5bnRheEVycm9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05Mzg3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpvYmpl
Y3RQcm90b0Z1bmNEZWZpbmVHZXR0ZXIpOgorICAgICAgICAgICAgLSB0aHJvdyBUeXBlRXJyb3Ig
aW5zdGVhZCBvZiBTeW50YXhFcnJvcgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1bmNEZWZp
bmVTZXR0ZXIpOgorICAgICAgICAgICAgLSB0aHJvdyBUeXBlRXJyb3IgaW5zdGVhZCBvZiBTeW50
YXhFcnJvcgorCiAyMDEyLTA5LTA2ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgSlNDIHNob3VsZCBoYXZlIGEgem9tYmllIG1vZGUKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAko
cmV2aXNpb24gMTI3OTE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDcgKzE1Nyw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG8KICAgICBKU1ZhbHVlIGdldCA9IGV4ZWMt
PmFyZ3VtZW50KDEpOwogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAgIGlmIChnZXRDYWxsRGF0
YShnZXQsIGNhbGxEYXRhKSA9PSBDYWxsVHlwZU5vbmUpCi0gICAgICAgIHJldHVybiB0aHJvd1ZN
RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJpbnZhbGlk
IGdldHRlciB1c2FnZSIpKSk7CisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3Jl
YXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiaW52YWxpZCBnZXR0ZXIgdXNhZ2UiKSkp
OwogCiAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3I7CiAgICAgZGVzY3JpcHRvci5z
ZXRHZXR0ZXIoZ2V0KTsKQEAgLTE3Nyw3ICsxNzcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdFByb3RvCiAgICAgSlNWYWx1ZSBzZXQgPSBleGVjLT5hcmd1bWVudCgxKTsK
ICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBpZiAoZ2V0Q2FsbERhdGEoc2V0LCBjYWxsRGF0
YSkgPT0gQ2FsbFR5cGVOb25lKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNy
ZWF0ZVN5bnRheEVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiaW52YWxpZCBzZXR0ZXIgdXNhZ2Ui
KSkpOworICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihl
eGVjLCBBU0NJSUxpdGVyYWwoImludmFsaWQgc2V0dGVyIHVzYWdlIikpKTsKIAogICAgIFByb3Bl
cnR5RGVzY3JpcHRvciBkZXNjcmlwdG9yOwogICAgIGRlc2NyaXB0b3Iuc2V0U2V0dGVyKHNldCk7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMjc5MjkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wOS0wNyAgR2F2aW4gQmFycmFjbG91
Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5f
X2RlZmluZXtHLFN9ZXR0ZXJfXyB3aXRoIG5vbi1jYWxsYWJsZSBzZWNvbmQgcGFyYW1ldGVyIHNo
b3VsZCB0aHJvdyBUeXBlRXJyb3IgaW5zdGVhZCBvZiBTeW50YXhFcnJvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM4NzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvanMvcHJvcGVydHktZ2V0
dGVycy1hbmQtc2V0dGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICAtIHVwZGF0ZWQgcmVz
dWx0cworCiAyMDEyLTA5LTA3ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgRml4IHRoZSByZW1haW5pbmcgbGludGVyIGVycm9ycy4gVGhlc2UgYXJlIGFsbCBjYXNl
cyBvZiBwYXRocwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9wcm9wZXJ0eS1nZXR0ZXJzLWFu
ZC1zZXR0ZXJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMjc5
MTcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNywxMCArMTcsMTAgQEAgX19sb29rdXBH
ZXR0ZXJfXyBhbmQgX19sb29rdXBTZXR0ZXJfXwogUEFTUyBvNC5fX2xvb2t1cEdldHRlcl9fKCdi
JykgaXMgZ2V0QgogUEFTUyBvNC5fX2xvb2t1cFNldHRlcl9fKCdiJykgaXMgc2V0QgogX19kZWZp
bmVHZXR0ZXJfXyBhbmQgX19kZWZpbmVTZXR0ZXJfXyB3aXRoIHZhcmlvdXMgaW52YWxpZCBhcmd1
bWVudHMKLVBBU1MgbzUuX19kZWZpbmVTZXR0ZXJfXygnYScsIG51bGwpIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogaW52YWxpZCBzZXR0ZXIgdXNhZ2UuCi1QQVNTIG81Ll9fZGVmaW5lU2V0
dGVyX18oJ2EnLCBvNSkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBpbnZhbGlkIHNldHRl
ciB1c2FnZS4KLVBBU1MgbzUuX19kZWZpbmVHZXR0ZXJfXygnYScsIG51bGwpIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogaW52YWxpZCBnZXR0ZXIgdXNhZ2UuCi1QQVNTIG81Ll9fZGVmaW5l
R2V0dGVyX18oJ2EnLCBvNSkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBpbnZhbGlkIGdl
dHRlciB1c2FnZS4KK1BBU1MgbzUuX19kZWZpbmVTZXR0ZXJfXygnYScsIG51bGwpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IGludmFsaWQgc2V0dGVyIHVzYWdlLgorUEFTUyBvNS5fX2RlZmlu
ZVNldHRlcl9fKCdhJywgbzUpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGludmFsaWQgc2V0
dGVyIHVzYWdlLgorUEFTUyBvNS5fX2RlZmluZUdldHRlcl9fKCdhJywgbnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogaW52YWxpZCBnZXR0ZXIgdXNhZ2UuCitQQVNTIG81Ll9fZGVmaW5l
R2V0dGVyX18oJ2EnLCBvNSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogaW52YWxpZCBnZXR0
ZXIgdXNhZ2UuCiBzZXR0ZXJzIGFuZCBnZXR0ZXJzIHdpdGggZXhjZXB0aW9ucwogUEFTUyB4ID0g
bzYueCB0aHJldyBleGNlcHRpb24gRXhjZXB0aW9uIGluIGdldC4KIFBBU1MgeCBpcyAwCg==
</data>
<flag name="review"
          id="174138"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>