<?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>50431</bug_id>
          
          <creation_ts>2010-12-02 18:56:15 -0800</creation_ts>
          <short_desc>|delete name| in strict mode code should be an early error</short_desc>
          <delta_ts>2010-12-20 17:02:48 -0800</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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>javascript: try { eval(&quot;function x() { &apos;use strict&apos;; delete y; }&quot;); throw &apos;no error&apos;; } catch (e) { alert(e instanceof SyntaxError ? &quot;PASS&quot; : &quot;FAIL &quot; + e); }</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>ES5</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeff Walden (remove +bwo to email)">jwalden+bwo</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>316604</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Walden (remove +bwo to email)">jwalden+bwo</who>
    <bug_when>2010-12-02 18:56:15 -0800</bug_when>
    <thetext>ES5 16:

&quot;An early error is an error that can be detected and reported prior to the evaluation of any construct in the Program containing the error. An implementation must report early errors in a Program prior to the first evaluation of that Program.&quot;

A name always evaluates to either an unresolvable Reference or a Reference with an environment record as its base.  But an object environment record&apos;s HasBinding method calls [[HasProperty]] and through it [[GetProperty]].  Neither of these in the spec has any side effect, nor does either terminate abruptly (ignoring OOM and the like), so only host objects matter.  But it seems clear enough that going down the rat&apos;s nest just for host objects (or for proxies should they reach full standardization) is a bad idea, so |delete name| should just be an early error.  This is also how it&apos;s implemented in SpiderMonkey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324621</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 16:05:45 -0800</bug_when>
    <thetext>fixing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324636</commentid>
    <comment_count>2</comment_count>
      <attachid>77050</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 16:23:22 -0800</bug_when>
    <thetext>Created attachment 77050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324649</commentid>
    <comment_count>3</comment_count>
      <attachid>77050</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-20 16:39:02 -0800</bug_when>
    <thetext>Comment on attachment 77050
Patch

r=me if you delete deleteProperty and related code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324664</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 17:02:48 -0800</bug_when>
    <thetext>Committed r74377: &lt;http://trac.webkit.org/changeset/74377&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77050</attachid>
            <date>2010-12-20 16:23:22 -0800</date>
            <delta_ts>2010-12-20 16:39:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50431-20101220162321.patch</filename>
            <type>text/plain</type>
            <size>4172</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBlODlhNjE0MGJlMDlhODkzNzU5OTUxYmViZDVmODMxNTgzYzQ2N2UwLi40
MGQ0MTkzZTdjNDIxMTgwNjI2NGIzZTkyMDhlZTlhMGE2YTQ0MDUxIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMTItMjAgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB8ZGVsZXRl
IG5hbWV8IGluIHN0cmljdCBtb2RlIGNvZGUgc2hvdWxkIGJlIGFuIGVhcmx5IGVycm9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQzMQorCisgICAg
ICAgIERpc2FsbG93IHRoZSB8ZGVsZXRlIElERU5USUZJRVJ8IHByb2R1Y3Rpb24gaW4gc3RyaWN0
IG1vZGUuCisKKyAgICAgICAgKiBwYXJzZXIvSlNQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpK
U1BhcnNlcjo6cGFyc2VVbmFyeUV4cHJlc3Npb24pOgorCiAyMDEwLTEyLTIwICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9u
aGEuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwIGIvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0pTUGFyc2VyLmNwcAppbmRleCAzYWUwNWNjN2ViYjU2YzhkY2Q3
OWVkMjU5ZmEyZmU5NzIxZDEzODlmLi4wNmVlYzM2ZmU0NTFkYTAzYzNmYjFlZWE2OWIyYTJjMzE2
Nzk4MDQxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwCisr
KyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9KU1BhcnNlci5jcHAKQEAgLTE5MzIsOCArMTkzMiw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gSlNQYXJzZXI6
OnBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCCiAgICAgICAgICAgICBleHByID0gY29udGV4dC5j
cmVhdGVWb2lkKGV4cHIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgREVMRVRF
VE9LRU46Ci0gICAgICAgICAgICBpZiAoc3RyaWN0TW9kZSgpICYmIGNvbnRleHQuaXNSZXNvbHZl
KGV4cHIpKQotICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlbGV0ZVByb3BlcnR5KG1fbGFz
dElkZW50aWZpZXIpKTsKKyAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChjb250ZXh0Lmlz
UmVzb2x2ZShleHByKSk7CiAgICAgICAgICAgICBleHByID0gY29udGV4dC5tYWtlRGVsZXRlTm9k
ZShleHByLCBjb250ZXh0LnVuYXJ5VG9rZW5TdGFja0xhc3RTdGFydCh0b2tlblN0YWNrRGVwdGgp
LCBlbmQsIGVuZCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBlOWJkMDVhYzdiOTI1MGRiM2FlYmNkZjQ3YTFhMWZmYWNhMzUyNmM3Li44Y2MxNzM4MDQwZWU0
MTk4ZDY5ZTU5YzRkZDUwOGExZmQzZGJiZGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTAt
MTItMjAgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAorICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB8ZGVsZXRlIG5hbWV8IGluIHN0cmljdCBt
b2RlIGNvZGUgc2hvdWxkIGJlIGFuIGVhcmx5IGVycm9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQzMQorCisgICAgICAgIEFkZCBhIHRlc3QgdG8g
ZW5zdXJlIHRoYXQgfGRlbGV0ZSBJREVOVElGSUVSfCBpcyBkaXNhbGxvd2VkLCBldmVuIGlmCisg
ICAgICAgIElERU5USUZJRVIgcmVzb2x2ZXMgdG8gYSBkZWxldGFibGUgcHJvcGVydHkuCisKKyAg
ICAgICAgKiBmYXN0L2pzL2Jhc2ljLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNpYy1zdHJpY3QtbW9kZS5qczoKKworMjAxMC0xMi0y
MCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgogCiAgICAgICAgIE5lZWQgdG8gc3VwcG9ydCBzZXJpYWxpc2F0aW9uIG9m
IGN5Y2xpYyBncmFwaHMgaW4gdGhlIGludGVybmFsIHN0cnVjdHVyZWQgY2xvbmluZyBhbGdvcml0
aG0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvYmFzaWMtc3RyaWN0LW1vZGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9iYXNpYy1zdHJpY3QtbW9kZS1leHBlY3Rl
ZC50eHQKaW5kZXggMjBjNzFhOWEyNjY1NGM2NjQ1ZTAwYWJjYWIyOGIyNzBmNGVhYWVmOS4uZmI3
NmFmZDQ3NzkxMjQ5NzQ2YTAwMjQyMzc4OTgwMzI1ZmJiMWI0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9iYXNpYy1zdHJpY3QtbW9kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9iYXNpYy1zdHJpY3QtbW9kZS1leHBlY3RlZC50eHQKQEAgLTY3LDYgKzY3
LDcgQEAgUEFTUyAndXNlIHN0cmljdCc7IGZvcig7Oyljb250aW51ZSBtaXNzaW5nTGFiZWwgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXIKIFBBU1MgJ3VzZSBzdHJpY3QnOyAwMDc7IHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IuCiBQQVNTICd1c2Ugc3RyaWN0
JzsgJ1wwMDcnOyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFT
UyAnXDAwNyc7ICd1c2Ugc3RyaWN0JzsgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJz
ZSBlcnJvci4KK1BBU1MgJ3VzZSBzdHJpY3QnOyBkZWxldGUgYURlbGV0YWJsZVByb3BlcnR5OyB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFTUyAndXNlIHN0cmlj
dCc7IChmdW5jdGlvbiAoKXsgZGVsZXRlIHNvbWVEZWNsYXJlZEdsb2JhbDt9KSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFTUyAoZnVuY3Rpb24gKCl7ICd1c2Ug
c3RyaWN0JzsgZGVsZXRlIHNvbWVEZWNsYXJlZEdsb2JhbDt9KSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFTUyAndXNlIHN0cmljdCc7IGlmICgwKSB7IHNvbWVH
bG9iYWwgPSAnU2hvdWxkblwndCBiZSBhYmxlIHRvIGFzc2lnbiB0aGlzLic7IH07IHRydWU7IGlz
IHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Jhc2lj
LXN0cmljdC1tb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYmFzaWMt
c3RyaWN0LW1vZGUuanMKaW5kZXggNDJjMmE5MGIzNmZlYTMxNTc5NTQ1NDk0MTAwYmQ2MTZjNmZl
NWQ0Yy4uZDdkY2I1YjBjOTI0NWExMzU4ODBmNDIwN2Q4ODkzNDljMTE0MTZmOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYmFzaWMtc3RyaWN0LW1vZGUuanMK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYmFzaWMtc3RyaWN0LW1vZGUu
anMKQEAgLTg1LDYgKzg1LDkgQEAgc2hvdWxkVGhyb3coIid1c2Ugc3RyaWN0JzsgJ1xcMDA3Jzsi
KTsKIHNob3VsZFRocm93KCInXFwwMDcnOyAndXNlIHN0cmljdCc7Iik7CiAKIHZhciBzb21lRGVj
bGFyZWRHbG9iYWw7CithRGVsZXRhYmxlUHJvcGVydHkgPSAndGVzdCc7CisKK3Nob3VsZFRocm93
KCIndXNlIHN0cmljdCc7IGRlbGV0ZSBhRGVsZXRhYmxlUHJvcGVydHk7Iik7CiBzaG91bGRUaHJv
dygiJ3VzZSBzdHJpY3QnOyAoZnVuY3Rpb24gKCl7IGRlbGV0ZSBzb21lRGVjbGFyZWRHbG9iYWw7
fSkiKTsKIHNob3VsZFRocm93KCIoZnVuY3Rpb24gKCl7ICd1c2Ugc3RyaWN0JzsgZGVsZXRlIHNv
bWVEZWNsYXJlZEdsb2JhbDt9KSIpOwogc2hvdWxkQmVUcnVlKCIndXNlIHN0cmljdCc7IGlmICgw
KSB7IHNvbWVHbG9iYWwgPSAnU2hvdWxkblxcJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyB9
OyB0cnVlOyIpOwo=
</data>
<flag name="review"
          id="68089"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>