<?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>42723</bug_id>
          
          <creation_ts>2010-07-20 23:01:24 -0700</creation_ts>
          <short_desc>FileReader needs addEventListener</short_desc>
          <delta_ts>2012-01-05 11:00:07 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Ridley Combs">rcombs</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>abarth</cc>
    
    <cc>dimich</cc>
    
    <cc>ericu</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>jianli</cc>
    
    <cc>kinuko</cc>
    
    <cc>l0mars01</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>254133</commentid>
    <comment_count>0</comment_count>
    <who name="Ridley Combs">rcombs</who>
    <bug_when>2010-07-20 23:01:24 -0700</bug_when>
    <thetext>The FileReader class currently doesn&apos;t implement addEventListener, which it... should. Leaving defining object.oneventname as the only way to define events results in some pages not working in WebKit (i.e. those that use addEventListener).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374369</commentid>
    <comment_count>1</comment_count>
    <who name="Luis">l0mars01</who>
    <bug_when>2011-03-28 02:51:00 -0700</bug_when>
    <thetext>I confirm this in version 534.24 (branches/chromium/696@81543) with a few corrections.
This applies to the WebCore component, not JavaScriptCore.
(According to the JavaScript Console) the FileReader interface is missing the entire EventTarget interface despite the current File API specification&apos;s draft stipulating it (http://www.w3.org/TR/FileAPI/#FileReader-interface):
&apos;FileReader implements EventTarget;&apos;.
Oddly, it&apos;s present in the source code
http://trac.webkit.org/browser/trunk/Source/WebCore/fileapi/FileReader.idl
and has been for a while.
However, I&apos;m not seeing a reference to &apos;FileReader&apos; show up in &apos;EventTarget* toEventTarget(JSC::JSValue value)&apos; where it perhaps should (I honestly don&apos;t know):
http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/js/JSEventTarget.cpp
Somewhere down the line, the right source code isn&apos;t getting generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524671</commentid>
    <comment_count>2</comment_count>
    <who name="Jeff Schiller">jeffschiller</who>
    <bug_when>2011-12-20 10:34:31 -0800</bug_when>
    <thetext>It&apos;s in the spec too:

http://www.w3.org/TR/FileAPI/#FileReader-interface
http://www.w3.org/TR/domcore/#eventtarget</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529918</commentid>
    <comment_count>3</comment_count>
      <attachid>121197</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2012-01-04 18:00:37 -0800</bug_when>
    <thetext>Created attachment 121197
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530033</commentid>
    <comment_count>4</comment_count>
      <attachid>121197</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-04 23:40:01 -0800</bug_when>
    <thetext>Comment on attachment 121197
Proposed Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=121197&amp;action=review

&gt; LayoutTests/fast/files/file-reader-event-listener.html:40
&gt; +    if (layoutTestController.notifyDone)

Do you mean:
if (window.layoutTestController)
    layoutTestController.notifyDone();
?

&gt; LayoutTests/fast/files/file-reader-event-listener.html:84
&gt; +    window.onload = runTests;

Should we alert a message if eventSender isn&apos;t present?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530039</commentid>
    <comment_count>5</comment_count>
      <attachid>121197</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-04 23:45:04 -0800</bug_when>
    <thetext>Comment on attachment 121197
Proposed Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=121197&amp;action=review

&gt; LayoutTests/fast/files/file-reader-event-listener.html:82
&gt; +    layoutTestController.dumpAsText();

if (window.layoutTestController) around these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530437</commentid>
    <comment_count>6</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2012-01-05 11:00:07 -0800</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/104180.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121197</attachid>
            <date>2012-01-04 18:00:37 -0800</date>
            <delta_ts>2012-01-04 23:45:04 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>42723</filename>
            <type>text/plain</type>
            <size>4891</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYWIwYmI5Li42NTMxM2JjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDEt
MDQgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpbGVSZWFkZXIg
bmVlZHMgYWRkRXZlbnRMaXN0ZW5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDI3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItZXZlbnQtbGlzdGVuZXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWV2ZW50
LWxpc3RlbmVyLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTA0ICBLZW5uZXRoIFJ1c3NlbGwgIDxr
YnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBGaXggc2VtYW50aWNzIG9mIFdFQktJVF9XRUJHTF9s
b3NlX2NvbnRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1yZWFk
ZXItZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9m
aWxlLXJlYWRlci1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uMWEyOTU3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvZmlsZS1yZWFkZXItZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOCBAQAorCitUZXN0IHRoYXQgRmlsZVJlYWRlcidzIGV2ZW50IGxpc3RlbmVyIHdvcmtz
LgorUmVjZWl2ZWQgbG9hZHN0YXJ0IGV2ZW50CitSZWNlaXZlZCBmb28gZXZlbnQKK1JlY2VpdmVk
IGxvYWQgZXZlbnQKK1JlY2VpdmVkIGxvYWRlbmQgZXZlbnQKK0RPTkUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLXJlYWRlci1ldmVudC1saXN0ZW5lci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLXJlYWRlci1ldmVudC1saXN0ZW5lci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOGUzZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWV2ZW50LWxpc3RlbmVyLmh0
bWwKQEAgLTAsMCArMSw4OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGlu
cHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUiIGlkPSJmaWxlIiBvbmNoYW5nZT0ib25JbnB1dEZp
bGVDaGFuZ2UoKSI+Cis8cHJlIGlkPSdjb25zb2xlJz48L3ByZT4KKworPHNjcmlwdD4KK3ZhciBm
aWxlUmVhZGVyOworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KG1lc3NhZ2UgKyAiXG4iKSk7Cit9CisKK2Z1bmN0aW9uIG9uTG9hZFN0YXJ0KCkKK3sKKyAgICBs
b2coIlJlY2VpdmVkIGxvYWRzdGFydCBldmVudCIpOworCisgICAgZmlsZVJlYWRlci5yZW1vdmVF
dmVudExpc3RlbmVyKCJhYm9ydCIsIG9uQWJvcnQsIGZhbHNlKTsKKworICAgIHZhciBldmVudCA9
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudHMiKTsKKyAgICBldmVudC5pbml0RXZlbnQoImZv
byIsIGZhbHNlLCBmYWxzZSk7CisgICAgZmlsZVJlYWRlci5kaXNwYXRjaEV2ZW50KGV2ZW50KTsK
K30KKworZnVuY3Rpb24gb25Mb2FkKCkKK3sKKyAgICBsb2coIlJlY2VpdmVkIGxvYWQgZXZlbnQi
KTsKK30KKworZnVuY3Rpb24gb25Mb2FkRW5kKCkKK3sKKyAgICBsb2coIlJlY2VpdmVkIGxvYWRl
bmQgZXZlbnQiKTsKKyAgICBsb2coIkRPTkUiKTsKKyAgICAKKyAgICBmaWxlUmVhZGVyLnJlbW92
ZUV2ZW50TGlzdGVuZXIoImxvYWRzdGFydCIsIG9uTG9hZFN0YXJ0LCBmYWxzZSk7CisgICAgZmls
ZVJlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIiwgb25Mb2FkLCBmYWxzZSk7CisgICAg
ZmlsZVJlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsIG9uRXJyb3IsIGZhbHNlKTsK
KworICAgIGlmIChsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIG9uQWJvcnQoKQor
eworICAgIGxvZygiUmVjZWl2ZWQgYWJvcnQgZXZlbnQiKTsKK30KKworZnVuY3Rpb24gb25FcnJv
cihldmVudCkKK3sKKyAgICBsb2coIlJlY2VpdmVkIGVycm9yIGV2ZW50OiAiICsgZXZlbnQudGFy
Z2V0LmVycm9yLmNvZGUpOworfQorCitmdW5jdGlvbiBvbkZvbygpCit7CisgICAgbG9nKCJSZWNl
aXZlZCBmb28gZXZlbnQiKTsKK30KKworZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQorewor
ICAgIGxvZygiVGVzdCB0aGF0IEZpbGVSZWFkZXIncyBldmVudCBsaXN0ZW5lciB3b3Jrcy4iKTsK
KworICAgIHZhciBmaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKS5maWxlc1sw
XTsKKyAgICBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAgICBmaWxlUmVhZGVyLnJl
YWRBc1RleHQoZmlsZSk7CisgICAgZmlsZVJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJsb2Fkc3Rh
cnQiLCBvbkxvYWRTdGFydCwgZmFsc2UpOworICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIG9uTG9hZCwgZmFsc2UpOworICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZGVuZCIsIG9uTG9hZEVuZCwgZmFsc2UpOworICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRM
aXN0ZW5lcigiYWJvcnQiLCBvbkFib3J0LCBmYWxzZSk7CisgICAgZmlsZVJlYWRlci5hZGRFdmVu
dExpc3RlbmVyKCJlcnJvciIsIG9uRXJyb3IsIGZhbHNlKTsKKyAgICBmaWxlUmVhZGVyLmFkZEV2
ZW50TGlzdGVuZXIoImZvbyIsIG9uRm9vLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3Rz
KCkKK3sKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoWydyZXNvdXJjZXMvVVRG
OC50eHQnXSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEwKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7Cit9CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBydW5UZXN0czsKK30KKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYzZGZiZGIuLjkxN2ZmZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMS0wNCAgSmlhbiBMaSAgPGppYW5s
aUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRmlsZVJlYWRlciBuZWVkcyBhZGRFdmVudExpc3Rl
bmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjcy
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItZXZlbnQtbGlzdGVuZXIuaHRtbAorCisgICAgICAgICog
ZmlsZWFwaS9GaWxlUmVhZGVyLmlkbDoKKwogMjAxMi0wMS0wNCAgSmFtZXMgUm9iaW5zb24gIDxq
YW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGNocm9taXVt
IGNvbXBvc2l0b3Igc3VwcG9ydCBmb3IgdW51c2VkIHpvb21BbmltYXRvclRyYW5zZm9ybQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwKaW5kZXggNmM4MTAzOC4uYzk1ZWU3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsCkBAIC02MSw2ICs2MSwxNiBAQCBtb2R1
bGUgaHRtbCB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZpbGVFcnJvciBlcnJvcjsK
IAorICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVu
dExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOw0KKyAgICAgICAgdm9pZCBy
ZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOw0K
KyAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2dCkNCisgICAgICAgICAg
ICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9ubG9hZHN0YXJ0OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnByb2dy
ZXNzOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmxvYWQ7Cg==
</data>
<flag name="review"
          id="121613"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="121614"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>