<?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>45498</bug_id>
          
          <creation_ts>2010-09-09 15:26:14 -0700</creation_ts>
          <short_desc>[FileSystem] Do not call EntriesCallback more than once if there&apos;re no entries.</short_desc>
          <delta_ts>2010-09-10 11:44:19 -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>WebCore Misc.</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>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>jianli</cc>
    
    <cc>kkanetkar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>276793</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-09 15:26:14 -0700</bug_when>
    <thetext>DirectoryReader.readDirectory should not call EntriesCallback twice if there&apos;re no entries.
Currently it wrongly calls the callback twice (one to return entries that is empty and the other one to indicate there&apos;s no more entries.)

http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-directoryreader-interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276800</commentid>
    <comment_count>1</comment_count>
      <attachid>67103</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-09 15:35:32 -0700</bug_when>
    <thetext>Created attachment 67103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277038</commentid>
    <comment_count>2</comment_count>
      <attachid>67103</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-09-09 23:00:35 -0700</bug_when>
    <thetext>Comment on attachment 67103
Patch

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

r=me, but please address the comments before submitting.

&gt; WebCore/fileapi/FileSystemCallbacks.cpp:150
&gt; +        if (!hasMore &amp;&amp; hadEntries) {
i don&apos;t think you need the hadEntries variable. can you just use: if (!hasMore &amp;&amp; !m_entries-&gt;isEmpty()) and clear m_entries after the if-block?

&gt; WebCore/fileapi/FileSystemCallbacks.cpp:151
&gt;              // If there&apos;re no more entries, call back once more with an empty array.
update the comment please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277336</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-10 11:44:19 -0700</bug_when>
    <thetext>Committed r67220: &lt;http://trac.webkit.org/changeset/67220&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67103</attachid>
            <date>2010-09-09 15:35:32 -0700</date>
            <delta_ts>2010-09-09 23:00:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45498-20100909153530.patch</filename>
            <type>text/plain</type>
            <size>2203</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2I0MTM4NzI0OWE0M2JjZTNmOTkzY2E4ZDQ1YWEwOGQ1NjM0ZTkwMy4uNWRlMTZiODc1MzhhNzdi
MmZiYzI1ZTNjOTc4YzRmOWU5NTNlMzk4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0wOSAgS2lu
dWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0ZpbGVTeXN0ZW1dIERvIG5vdCBjYWxsIEVudHJp
ZXNDYWxsYmFjayBtb3JlIHRoYW4gb25jZSBpZiB0aGVyZSdyZSBubyBlbnRyaWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU0OTgKKworICAgICAg
ICBObyBuZXcgdGVzdHMsIGxheW91dC10ZXN0cyB0aGF0IGNvbmZpcm0gdGhlIGJlaGF2aW9yIHdp
bGwgYmUgYWRkZWQgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICAqIGZpbGVhcGkvRmlsZVN5
c3RlbUNhbGxiYWNrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbnRyaWVzQ2FsbGJhY2tzOjpF
bnRyaWVzQ2FsbGJhY2tzKToKKyAgICAgICAgKFdlYkNvcmU6OkVudHJpZXNDYWxsYmFja3M6OmRp
ZFJlYWREaXJlY3RvcnlFbnRyeSk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyaWVzQ2FsbGJhY2tz
OjpkaWRSZWFkRGlyZWN0b3J5RW50cmllcyk6CisKIDIwMTAtMDktMDggIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhcmluIEFkbGVy
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwIGIv
V2ViQ29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCmluZGV4IDc0MWRmNzgyYmM2
ZGQ1YzNlZGI5Zjc0ZTQ0ZTgwZjM4MGJjYzlhNzMuLmUyZTEzOGVjZWYwZjA4N2QxMTI0NzVjYTc0
YjZhM2JmZDgwZGU2ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlU3lzdGVtQ2Fs
bGJhY2tzLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAK
QEAgLTEyOCwxMyArMTI4LDEyIEBAIEVudHJpZXNDYWxsYmFja3M6OkVudHJpZXNDYWxsYmFja3Mo
UGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAsIG1fc3Vj
Y2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKICAgICAsIG1fZmlsZVN5c3RlbShmaWxlU3lz
dGVtKQogICAgICwgbV9iYXNlUGF0aChiYXNlUGF0aCkKKyAgICAsIG1fZW50cmllcyhFbnRyeUFy
cmF5OjpjcmVhdGUoKSkKIHsKIH0KIAogdm9pZCBFbnRyaWVzQ2FsbGJhY2tzOjpkaWRSZWFkRGly
ZWN0b3J5RW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIGlzRGlyZWN0b3J5KQogewotICAg
IGlmICghbV9lbnRyaWVzKQotICAgICAgICBtX2VudHJpZXMgPSBFbnRyeUFycmF5OjpjcmVhdGUo
KTsKICAgICBpZiAoaXNEaXJlY3RvcnkpCiAgICAgICAgIG1fZW50cmllcy0+YXBwZW5kKERpcmVj
dG9yeUVudHJ5OjpjcmVhdGUobV9maWxlU3lzdGVtLCBET01GaWxlUGF0aDo6YXBwZW5kKG1fYmFz
ZVBhdGgsIG5hbWUpKSk7CiAgICAgZWxzZQpAQCAtMTQ2LDggKzE0NSw5IEBAIHZvaWQgRW50cmll
c0NhbGxiYWNrczo6ZGlkUmVhZERpcmVjdG9yeUVudHJpZXMoYm9vbCBoYXNNb3JlKQogICAgIEFT
U0VSVChtX2VudHJpZXMpOwogICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjaykgewogICAgICAgICBt
X3N1Y2Nlc3NDYWxsYmFjay0+aGFuZGxlRXZlbnQobV9lbnRyaWVzLmdldCgpKTsKKyAgICAgICAg
Ym9vbCBoYWRFbnRyaWVzID0gIW1fZW50cmllcy0+aXNFbXB0eSgpOwogICAgICAgICBtX2VudHJp
ZXMtPmNsZWFyKCk7Ci0gICAgICAgIGlmICghaGFzTW9yZSkgeworICAgICAgICBpZiAoIWhhc01v
cmUgJiYgaGFkRW50cmllcykgewogICAgICAgICAgICAgLy8gSWYgdGhlcmUncmUgbm8gbW9yZSBl
bnRyaWVzLCBjYWxsIGJhY2sgb25jZSBtb3JlIHdpdGggYW4gZW1wdHkgYXJyYXkuCiAgICAgICAg
ICAgICBtX3N1Y2Nlc3NDYWxsYmFjay0+aGFuZGxlRXZlbnQobV9lbnRyaWVzLmdldCgpKTsKICAg
ICAgICAgICAgIG1fc3VjY2Vzc0NhbGxiYWNrLmNsZWFyKCk7Cg==
</data>
<flag name="review"
          id="56320"
          type_id="1"
          status="+"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>