<?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>24844</bug_id>
          
          <creation_ts>2009-03-26 11:40:57 -0700</creation_ts>
          <short_desc>Unit test WebKitDownload</short_desc>
          <delta_ts>2009-04-02 08:50:59 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Christian Dywan">christian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>115366</commentid>
    <comment_count>0</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-03-26 11:40:57 -0700</bug_when>
    <thetext>I noticed while implementing download API that looking at the current progress before starting a WebKitDownload crashes WebKit. So I think we should really be unit testing add, to avoid such silly bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115371</commentid>
    <comment_count>1</comment_count>
      <attachid>28974</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-03-26 11:55:09 -0700</bug_when>
    <thetext>Created attachment 28974
Initial download unit test

This is only a start but it already catches two bugs:

webkit_download_get_progress(download) crashes

webkit_download_get_elapsed_time(download) complains about an invalid timer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115796</commentid>
    <comment_count>2</comment_count>
      <attachid>28974</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-03-30 06:06:31 -0700</bug_when>
    <thetext>Comment on attachment 28974
Initial download unit test

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116180</commentid>
    <comment_count>3</comment_count>
      <attachid>29163</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-01 10:16:28 -0700</bug_when>
    <thetext>Created attachment 29163
Fixes for the crash and critical message detected by the unit tests

accessor functions are called before the download is started.
---
 WebKit/gtk/ChangeLog                 |   15 +++++++++++++++
 WebKit/gtk/webkit/webkitdownload.cpp |    6 ++++++
 2 files changed, 21 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116208</commentid>
    <comment_count>4</comment_count>
      <attachid>28974</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-04-01 12:51:43 -0700</bug_when>
    <thetext>Comment on attachment 28974
Initial download unit test

Committed in revision 42153.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116276</commentid>
    <comment_count>5</comment_count>
      <attachid>29163</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-04-02 08:12:26 -0700</bug_when>
    <thetext>Comment on attachment 29163
Fixes for the crash and critical message detected by the unit tests

&gt; +        Extra checks to avoid crashing and a critical message when
&gt; +	property accessor functions are called before the download is
&gt; +	started.

Tabs instead of spaces here.

&gt; +    if (!priv-&gt;timer)
&gt; +        return 0.0;

I&apos;d just write &quot;return 0&quot;.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116284</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-02 08:50:59 -0700</bug_when>
    <thetext>Landed fix as r42169, with ap&apos;s comments addressed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28974</attachid>
            <date>2009-03-26 11:55:09 -0700</date>
            <delta_ts>2009-04-01 12:51:43 -0700</delta_ts>
            <desc>Initial download unit test</desc>
            <filename>downloadtest.diff</filename>
            <type>text/plain</type>
            <size>3621</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggMTNjZjVl
ZS4uNWE1Mzg2NyAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUu
YW0KQEAgLTQ4Nyw3ICs0ODcsOCBAQCB3ZWJraXRfdGVzdHNfbGRhZGQgPSBcCiAKIFRFU1RfUFJP
R1MgKz0gUHJvZ3JhbXMvdW5pdHRlc3RzL3Rlc3R3ZWJmcmFtZSBcCiAJUHJvZ3JhbXMvdW5pdHRl
c3RzL3Rlc3R3ZWJiYWNrZm9yd2FyZGxpc3QgXAotCVByb2dyYW1zL3VuaXR0ZXN0cy90ZXN0d2Vi
aGlzdG9yeWl0ZW0KKwlQcm9ncmFtcy91bml0dGVzdHMvdGVzdHdlYmhpc3RvcnlpdGVtIFwKKwlQ
cm9ncmFtcy91bml0dGVzdHMvdGVzdGRvd25sb2FkCiAKICMgQWRkIGFkZGl0aW9uYWwgdGVzdHMg
aGVyZQogUHJvZ3JhbXNfdW5pdHRlc3RzX3Rlc3R3ZWJmcmFtZV9TT1VSQ0VTID0gV2ViS2l0L2d0
ay90ZXN0cy90ZXN0d2ViZnJhbWUuYwpAQCAtNTAyLDYgKzUwMyw5IEBAIFByb2dyYW1zX3VuaXR0
ZXN0c190ZXN0d2ViaGlzdG9yeWl0ZW1fU09VUkNFUyA9IFdlYktpdC9ndGsvdGVzdHMvdGVzdHdl
Ymhpc3RvcnlpCiBQcm9ncmFtc191bml0dGVzdHNfdGVzdHdlYmhpc3RvcnlpdGVtX0NGTEFHUyA9
ICQod2Via2l0X3Rlc3RzX2NmbGFncykKIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0d2ViaGlzdG9y
eWl0ZW1fTERBREQgPSAkKHdlYmtpdF90ZXN0c19sZGFkZCkKIAorUHJvZ3JhbXNfdW5pdHRlc3Rz
X3Rlc3Rkb3dubG9hZF9TT1VSQ0VTID0gV2ViS2l0L2d0ay90ZXN0cy90ZXN0ZG93bmxvYWQuYwor
UHJvZ3JhbXNfdW5pdHRlc3RzX3Rlc3Rkb3dubG9hZF9DRkxBR1MgPSAkKHdlYmtpdF90ZXN0c19j
ZmxhZ3MpCitQcm9ncmFtc191bml0dGVzdHNfdGVzdGRvd25sb2FkX0xEQUREID0gJCh3ZWJraXRf
dGVzdHNfbGRhZGQpCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2VzCiBCVUlMVF9TT1VSQ0VTIDo9
IFwKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvdGVzdHMvdGVzdGRvd25sb2FkLmMgYi9XZWJLaXQv
Z3RrL3Rlc3RzL3Rlc3Rkb3dubG9hZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjhhZjg0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rkb3du
bG9hZC5jCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXN0
aWFuIER5d2FuIDxjaHJpc3RpYW5AdHdvdG9hc3RzLmRlPgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyLDEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPHdlYmtpdC93ZWJr
aXQuaD4KKworI2lmIEdUS19DSEVDS19WRVJTSU9OKDIsIDE0LCAwKQorCitzdGF0aWMgdm9pZAor
dGVzdF93ZWJraXRfZG93bmxvYWRfY3JlYXRlKHZvaWQpCit7CisgICAgV2ViS2l0TmV0d29ya1Jl
cXVlc3QqIHJlcXVlc3Q7CisgICAgV2ViS2l0RG93bmxvYWQqIGRvd25sb2FkOworICAgIGNvbnN0
IGdjaGFyKiB1cmkgPSAiaHR0cDovL2V4YW1wbGUuY29tIjsKKyAgICBnY2hhciogdG1wRGlyOwor
CisgICAgcmVxdWVzdCA9IHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfbmV3KHVyaSk7CisgICAgZG93
bmxvYWQgPSB3ZWJraXRfZG93bmxvYWRfbmV3KHJlcXVlc3QpOworICAgIGdfb2JqZWN0X3VucmVm
KHJlcXVlc3QpOworICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfZG93bmxvYWRfZ2V0X3VyaShk
b3dubG9hZCksID09LCB1cmkpOworICAgIGdfYXNzZXJ0KHdlYmtpdF9kb3dubG9hZF9nZXRfbmV0
d29ya19yZXF1ZXN0KGRvd25sb2FkKSA9PSByZXF1ZXN0KTsKKyAgICBnX2Fzc2VydChnX3N0cnJz
dHIodXJpLCB3ZWJraXRfZG93bmxvYWRfZ2V0X3N1Z2dlc3RlZF9maWxlbmFtZShkb3dubG9hZCkp
KTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfZG93bmxvYWRfZ2V0X3N0YXR1cyhkb3dubG9hZCkgPT0g
V0VCS0lUX0RPV05MT0FEX1NUQVRVU19DUkVBVEVEKTsKKyAgICBnX2Fzc2VydCghd2Via2l0X2Rv
d25sb2FkX2dldF90b3RhbF9zaXplKGRvd25sb2FkKSk7CisgICAgZ19hc3NlcnQoIXdlYmtpdF9k
b3dubG9hZF9nZXRfY3VycmVudF9zaXplKGRvd25sb2FkKSk7CisgICAgZ19hc3NlcnQoIXdlYmtp
dF9kb3dubG9hZF9nZXRfcHJvZ3Jlc3MoZG93bmxvYWQpKTsKKyAgICBnX2Fzc2VydCghd2Via2l0
X2Rvd25sb2FkX2dldF9lbGFwc2VkX3RpbWUoZG93bmxvYWQpKTsKKyAgICB0bXBEaXIgPSBnX3N0
cmNvbmNhdCgiZmlsZTovLyIsIGdfZ2V0X3RtcF9kaXIoKSwgTlVMTCk7CisgICAgd2Via2l0X2Rv
d25sb2FkX3NldF9kZXN0aW5hdGlvbl91cmkoZG93bmxvYWQsIHRtcERpcik7CisgICAgZ19hc3Nl
cnRfY21wc3RyKHRtcERpciwgPT0sIHdlYmtpdF9kb3dubG9hZF9nZXRfZGVzdGluYXRpb25fdXJp
KGRvd25sb2FkKSk7OworICAgIGdfZnJlZSh0bXBEaXIpOworICAgIGdfb2JqZWN0X3VucmVmKGRv
d25sb2FkKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQoreworICAgIGdf
dGhyZWFkX2luaXQoTlVMTCk7CisgICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIE5VTEwp
OworCisgICAgZ190ZXN0X2J1Z19iYXNlKCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8iKTsKKyAg
ICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvZG93bmxvYWQvY3JlYXRlIiwgdGVzdF93ZWJraXRf
ZG93bmxvYWRfY3JlYXRlKTsKKyAgICByZXR1cm4gZ190ZXN0X3J1biAoKTsKK30KKworI2Vsc2UK
KworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQoreworICAgIGdfY3JpdGljYWwoIllv
dSB3aWxsIG5lZWQgYXQgbGVhc3QgR1RLKyAyLjE0LjAgdG8gcnVuIHRoZSB1bml0IHRlc3RzLiIp
OworICAgIHJldHVybiAwOworfQorCisjZW5kaWYK
</data>
<flag name="review"
          id="14336"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29163</attachid>
            <date>2009-04-01 10:16:28 -0700</date>
            <delta_ts>2009-04-02 08:12:26 -0700</delta_ts>
            <desc>Fixes for the crash and critical message detected by the unit tests</desc>
            <filename>Extra-checks-to-avoid-crashing-and-a-critical-message-when-property.patch</filename>
            <type>text/plain</type>
            <size>1751</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">MGM3OWI1MzQ2Y2VhNzE5Y2NiNTZiZjg0OGE5MzNhMGQ1NWE5OWQxOQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA2YzQwNDg0Li5l
ZDM5NDc4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDA5LTA0LTAxICBHdXN0YXZvIE5vcm9uaGEg
U2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNDg0NAorICAgICAgICBVbml0IHRlc3QgV2ViS2l0RG93bmxvYWQK
KworICAgICAgICBFeHRyYSBjaGVja3MgdG8gYXZvaWQgY3Jhc2hpbmcgYW5kIGEgY3JpdGljYWwg
bWVzc2FnZSB3aGVuCisJcHJvcGVydHkgYWNjZXNzb3IgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYmVm
b3JlIHRoZSBkb3dubG9hZCBpcworCXN0YXJ0ZWQuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwOgorICAgICAgICAoX1dlYktpdERvd25sb2FkUHJpdmF0ZTo6d2Via2l0X2Rv
d25sb2FkX2dldF9wcm9ncmVzcyk6CisgICAgICAgIChfV2ViS2l0RG93bmxvYWRQcml2YXRlOjp3
ZWJraXRfZG93bmxvYWRfZ2V0X2VsYXBzZWRfdGltZSk6CisKKzIwMDktMDQtMDEgIEd1c3Rhdm8g
Tm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CisKICAgICAg
ICAgVW5yZXZpZXdlZCB0eXBvIGZpeGVzLCBhbmQgbmFtaW5nIG5vcm1hbGl6YXRpb24gaW4gdGhl
CiAgICAgICAgIGRvY3VtZW50YXRpb24uCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGRvd25sb2FkLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNw
cAppbmRleCA4ZGI4OWUzLi5hMjhjZDNiIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQu
Y3BwCkBAIC02OTgsNiArNjk4LDkgQEAgZ2RvdWJsZSB3ZWJraXRfZG93bmxvYWRfZ2V0X3Byb2dy
ZXNzKFdlYktpdERvd25sb2FkKiBkb3dubG9hZCkKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfSVNfRE9XTkxPQUQoZG93bmxvYWQpLCAxLjApOwogCiAgICAgV2ViS2l0RG93bmxvYWRQ
cml2YXRlKiBwcml2ID0gZG93bmxvYWQtPnByaXY7CisgICAgaWYgKCFwcml2LT5uZXR3b3JrUmVz
cG9uc2UpCisgICAgICAgIHJldHVybiAwOworCiAgICAgZ2RvdWJsZSB0b3RhbF9zaXplID0gKGdk
b3VibGUpcHJpdi0+bmV0d29ya1Jlc3BvbnNlLT5leHBlY3RlZENvbnRlbnRMZW5ndGgoKTsKIAog
ICAgIGlmICh0b3RhbF9zaXplID09IDApCkBAIC03MjMsNiArNzI2LDkgQEAgZ2RvdWJsZSB3ZWJr
aXRfZG93bmxvYWRfZ2V0X2VsYXBzZWRfdGltZShXZWJLaXREb3dubG9hZCogZG93bmxvYWQpCiAg
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX0RPV05MT0FEKGRvd25sb2FkKSwgMC4w
KTsKIAogICAgIFdlYktpdERvd25sb2FkUHJpdmF0ZSogcHJpdiA9IGRvd25sb2FkLT5wcml2Owor
ICAgIGlmICghcHJpdi0+dGltZXIpCisgICAgICAgIHJldHVybiAwLjA7CisKICAgICByZXR1cm4g
Z190aW1lcl9lbGFwc2VkKHByaXYtPnRpbWVyLCBOVUxMKTsKIH0KIAo=
</data>
<flag name="review"
          id="14455"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>