<?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>33982</bug_id>
          
          <creation_ts>2010-01-21 17:56:01 -0800</creation_ts>
          <short_desc>Add BlobConstructor to DOMWindow</short_desc>
          <delta_ts>2010-01-22 15:04:31 -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>WebCore JavaScript</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>darin</cc>
    
    <cc>dimich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>183428</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-01-21 17:56:01 -0800</bug_when>
    <thetext>We need to add BlobConstructor to DOMWindow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183680</commentid>
    <comment_count>1</comment_count>
      <attachid>47209</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-01-22 09:56:02 -0800</bug_when>
    <thetext>Created attachment 47209
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183691</commentid>
    <comment_count>2</comment_count>
      <attachid>47209</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-22 10:16:32 -0800</bug_when>
    <thetext>Comment on attachment 47209
Proposed Patch

It doesn&apos;t seem right that File and Blog have the same prototype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183699</commentid>
    <comment_count>3</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-01-22 10:42:34 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 47209 [details])
&gt; It doesn&apos;t seem right that File and Blog have the same prototype.

Thank you for pointing out this. Do you know what causes this problem? Should I make custom constructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183748</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-01-22 12:21:40 -0800</bug_when>
    <thetext>The reason the test has the output that appears to mean File and Blob have the same prototype is because it marks already-enumerated prototype objects by adding a property to them. Since File is derived from Blob, there is a chain of prototypes. If the Blob prototype is enumerated by the test earlier, the query on the File prototype will yield the same property value, even though the actual prototype object is different.

To illustrate:
window.Blob.prototype.foo = 153;
alert(window.File.prototype.foo) &lt;-- outputs &apos;153&apos;

however:
window.File.prototype.foo = 153;
alert(window.Blob.prototype.foo) &lt;-- outputs &apos;undefined&apos;

This test already does the same for all Element-derived types, like this:
window.HTMLAnchorElement.prototype [printed above as window.Element.prototype]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183778</commentid>
    <comment_count>5</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-01-22 13:41:00 -0800</bug_when>
    <thetext>The infinite recursion detection logic in this layout test is broken. I have
filed a new bug (https://bugs.webkit.org/show_bug.cgi?id=34018) for this issue.

For this patch, I would rather keep the current behavior. So I reactivate this
patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183816</commentid>
    <comment_count>6</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-01-22 15:04:31 -0800</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/53722.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47209</attachid>
            <date>2010-01-22 09:56:02 -0800</date>
            <delta_ts>2010-01-22 13:48:35 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>33982</filename>
            <type>text/plain</type>
            <size>5092</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhODY0ZjQ4Li40ZjNkZjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEt
MjIgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgdGhlIGFmZmVjdGVkIHRlc3RzIGR1
ZSB0byBhZGRpbmcgQmxvYkNvbnN0cnVjdG9yIHRvIERPTVdpbmRvdy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTgyCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDEtMjEgIFNo
aW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGUyMjY3YjYuLjFhOTJl
ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMTQ5LDYgKzE0OSw4IEBAIHdpbmRvdy5CZWZv
cmVMb2FkRXZlbnQucHJvdG90eXBlLmluaXRCZWZvcmVMb2FkRXZlbnQgW2Z1bmN0aW9uXQogd2lu
ZG93LkJlZm9yZUxvYWRFdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KIHdpbmRv
dy5CZWZvcmVMb2FkRXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0IFtmdW5jdGlvbl0KIHdp
bmRvdy5CZWZvcmVMb2FkRXZlbnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbiBbZnVuY3Rpb25d
Cit3aW5kb3cuQmxvYiBbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5CbG9iLnByb3Rv
dHlwZSBbb2JqZWN0IEJsb2JQcm90b3R5cGVdCiB3aW5kb3cuQ0RBVEFTZWN0aW9uIFtvYmplY3Qg
Q0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3aW5kb3cuQ0RBVEFTZWN0aW9uLnByb3RvdHlwZSBb
b2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlwZV0KIHdpbmRvdy5DREFUQVNlY3Rpb24ucHJvdG90
eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJdCkBAIC04OTcsNyArODk5LDcgQEAgd2luZG93LkV2
ZW50U291cmNlLnByb3RvdHlwZS5jbG9zZSBbZnVuY3Rpb25dCiB3aW5kb3cuRXZlbnRTb3VyY2Uu
cHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgW2Z1bmN0aW9uXQogd2luZG93LkV2ZW50U291cmNlLnBy
b3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyIFtmdW5jdGlvbl0KIHdpbmRvdy5GaWxlIFtvYmpl
Y3QgRmlsZUNvbnN0cnVjdG9yXQotd2luZG93LkZpbGUucHJvdG90eXBlIFtvYmplY3QgRmlsZVBy
b3RvdHlwZV0KK3dpbmRvdy5GaWxlLnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cu
QmxvYi5wcm90b3R5cGVdCiB3aW5kb3cuRmlsZUxpc3QgW29iamVjdCBGaWxlTGlzdENvbnN0cnVj
dG9yXQogd2luZG93LkZpbGVMaXN0LnByb3RvdHlwZSBbb2JqZWN0IEZpbGVMaXN0UHJvdG90eXBl
XQogd2luZG93LkZpbGVMaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVk
LnR4dAppbmRleCBjODAyN2FhLi5kYzM0OWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBAIC0yMDQs
NiArMjA0LDcgQEAgUEFTUyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBp
bm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXkKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1t
eVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNS5fX3Byb3RvX18KIFBBU1MgWFNMVFByb2Nlc3NvckNv
bnNydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1l
bnQuZGVmYXVsdFZpZXcuWFNMVFByb2Nlc3NvcgogTmV2ZXIgZm91bmQgQXVkaW8KK05ldmVyIGZv
dW5kIEJsb2IKIE5ldmVyIGZvdW5kIENEQVRBU2VjdGlvbgogTmV2ZXIgZm91bmQgQ1NTUGFnZVJ1
bGUKIE5ldmVyIGZvdW5kIENTU1J1bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDVlY2MxNzEuLmU0ZDRk
MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtOSw2ICs5LDggQEAgUEFTUyBpbm5lci5BdWRpby5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQXVkaW8uY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
QmVmb3JlTG9hZEV2ZW50LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5C
bG9iLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5CbG9iLmNvbnN0cnVjdG9yLmlzSW5uZXIg
aXMgdHJ1ZQogUEFTUyBpbm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlu
bmVyLkNEQVRBU2VjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
Q1NTQ2hhcnNldFJ1bGUuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBlYTU0NWI1Li44N2I1
Y2FjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKQEAgLTYsNiArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQ
QVNTIEF0dHIudG9TdHJpbmcoKSBpcyAnW29iamVjdCBBdHRyQ29uc3RydWN0b3JdJwogUEFTUyBB
dWRpby50b1N0cmluZygpIGlzICdbb2JqZWN0IEF1ZGlvQ29uc3RydWN0b3JdJwogUEFTUyBCZWZv
cmVMb2FkRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBCZWZvcmVMb2FkRXZlbnRDb25zdHJ1
Y3Rvcl0nCitQQVNTIEJsb2IudG9TdHJpbmcoKSBpcyAnW29iamVjdCBCbG9iQ29uc3RydWN0b3Jd
JwogUEFTUyBDREFUQVNlY3Rpb24udG9TdHJpbmcoKSBpcyAnW29iamVjdCBDREFUQVNlY3Rpb25D
b25zdHJ1Y3Rvcl0nCiBQQVNTIENTU0NoYXJzZXRSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Q1NTQ2hhcnNldFJ1bGVDb25zdHJ1Y3Rvcl0nCiBQQVNTIENTU0ZvbnRGYWNlUnVsZS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IENTU0ZvbnRGYWNlUnVsZUNvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IxZGIxMi4uZWMx
MmYwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wMS0yMiAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIEJsb2JDb25zdHJ1Y3RvciB0byBET01XaW5kb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzk4MgorCisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorCiAyMDEwLTAxLTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmlu
ZGV4IGZkYjgyNDMuLmRjZDA5MGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC00NzcsNiArNDc3LDcgQEAg
bW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgYXR0cmlidXRlIEZpbGVDb25zdHJ1Y3RvciBGaWxl
OwogICAgICAgICBhdHRyaWJ1dGUgRmlsZUxpc3RDb25zdHJ1Y3RvciBGaWxlTGlzdDsKKyAgICAg
ICAgYXR0cmlidXRlIEJsb2JDb25zdHJ1Y3RvciBCbG9iOwogCiAgICAgICAgIGF0dHJpYnV0ZSBO
b2RlRmlsdGVyQ29uc3RydWN0b3IgTm9kZUZpbHRlcjsKICAgICAgICAgYXR0cmlidXRlIFJhbmdl
Q29uc3RydWN0b3IgUmFuZ2U7Cg==
</data>
<flag name="review"
          id="29632"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="29617"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>