<?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>26175</bug_id>
          
          <creation_ts>2009-06-03 15:32:11 -0700</creation_ts>
          <short_desc>[GTK] Download progress notification should be throttled, for the benefit of download managers</short_desc>
          <delta_ts>2009-06-06 18:43:15 -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>PC</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124228</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-03 15:32:11 -0700</bug_when>
    <thetext>This means less notifications for changes on the &quot;progress&quot; property. Someone who really wants to get all notifications can still connect to the &quot;current-size&quot; property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124253</commentid>
    <comment_count>1</comment_count>
      <attachid>30932</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-03 17:04:26 -0700</bug_when>
    <thetext>Created attachment 30932
Throttle download speed.

 WebKit/gtk/ChangeLog                 |   16 ++++++++++++++++
 WebKit/gtk/webkit/webkitdownload.cpp |   26 ++++++++++++++++++++++----
 2 files changed, 38 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124632</commentid>
    <comment_count>2</comment_count>
      <attachid>30932</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-06 01:51:10 -0700</bug_when>
    <thetext>Comment on attachment 30932
Throttle download speed.

Looks good to me. I wonder if current-size should be throttled too, in case it reports changes more often than needed (and uses too much CPU in doing so).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124664</commentid>
    <comment_count>3</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-06 18:43:15 -0700</bug_when>
    <thetext>Landed as r44485.

About throttling current-size, my original patch did that, but the high CPU usage we experienced was not caused by the signal emissions (notice we already have signal emissions, and many function calls on that code path), but by the download manager updating the UI based on the emissions. I decided to not propose throttling the emissions of current-size and total-size, because then those properties will work for whoever wants to follow the progress more closely, while download managers can keep using the convenience property without having to do throttling themselves. Thoughts on that?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30932</attachid>
            <date>2009-06-03 17:04:26 -0700</date>
            <delta_ts>2009-06-06 01:51:10 -0700</delta_ts>
            <desc>Throttle download speed.</desc>
            <filename>Throttle-download-speed..patch</filename>
            <type>text/plain</type>
            <size>2799</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">MTNlNGFkZDY1NWFhYTNhOTE3Y2FlYjgxODg0MWFkOWVjODBiZDdjMwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA3ZDgzMTk4Li5h
MzM5Nzc2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDA5LTA2LTAzICBHdXN0YXZvIE5vcm9uaGEg
U2lsdmEgIDxnbnNAZ25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NjE3NQorICAgICAgICBbR1RLXSBEb3dubG9hZCBwcm9ncmVzcyBub3RpZmljYXRpb24gc2hvdWxk
IGJlIHRocm90dGxlZCwgZm9yIHRoZSBiZW5lZml0IG9mIGRvd25sb2FkIG1hbmFnZXJzCisKKyAg
ICAgICAgVGhyb3R0bGUgbm90aWZpY2F0aW9ucyBmb3IgdGhlICdwcm9ncmVzcycgcHJvcGVydHkg
b2YgdGhlIERvd25sb2FkCisgICAgICAgIG9iamVjdCwgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9u
IHRvIG5vdGUgdGhlIGZhY3QgdGhhdCB0aGlzIGlzCisgICAgICAgIGJlaW5nIGRvbmUsIGFuZCBo
b3cgdG8gZ2V0IGFsbCBub3RpZmljYXRpb25zIGlmIHlvdSByZWFsbHkgY2FyZQorICAgICAgICBh
Ym91dCB0aGVtLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcDoKKyAgICAg
ICAgKHdlYmtpdF9kb3dubG9hZF9jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtpdF9kb3dubG9h
ZF9yZWNlaXZlZF9kYXRhKToKKwogMjAwOS0wNS0yOSAgSmFuIE1pY2hhZWwgQWxvbnpvICA8am1h
bG9uem9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEu
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKaW5kZXggYmZkMDAyZi4uOTIxZTM5ZSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcApAQCAtMjgwLDcgKzI4MCwxMSBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRfZG93bmxvYWRfY2xhc3NfaW5pdChXZWJLaXREb3dubG9hZENsYXNz
KiBkb3dubG9hZENsYXNzKQogICAgIC8qKgogICAgICAqIFdlYktpdERvd25sb2FkOnByb2dyZXNz
OgogICAgICAqCi0gICAgICogRGV0ZXJtaW5lcyB0aGUgY3VycmVudCBwcm9ncmVzcyBvZiB0aGUg
ZG93bmxvYWQuCisgICAgICogRGV0ZXJtaW5lcyB0aGUgY3VycmVudCBwcm9ncmVzcyBvZiB0aGUg
ZG93bmxvYWQuIE5vdGljZSB0aGF0LAorICAgICAqIGFsdGhvdWdoIHRoZSBwcm9ncmVzcyBjaGFu
Z2VzIGFyZSByZXBvcnRlZCBhcyBzb29uIGFzIHBvc3NpYmxlLAorICAgICAqIHRoZSBlbWlzc2lv
biBvZiB0aGUgbm90aWZ5IHNpZ25hbCBmb3IgdGhpcyBwcm9wZXJ0eSBpcworICAgICAqIHRocm90
dGxlZCwgZm9yIHRoZSBiZW5lZml0IG9mIGRvd25sb2FkIG1hbmFnZXJzLiBJZiB5b3UgY2FyZQor
ICAgICAqIGFib3V0IGV2ZXJ5IHVwZGF0ZSwgdXNlIFdlYktpdERvd25sb2FkOmN1cnJlbnQtc2l6
ZS4KICAgICAgKgogICAgICAqIFNpbmNlOiAxLjEuMgogICAgICAqLwpAQCAtNzcwLDkgKzc3NCwy
MyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG93bmxvYWRfcmVjZWl2ZWRfZGF0YShXZWJLaXREb3du
bG9hZCogZG93bmxvYWQsIGNvbnN0IGdjaGFyKgogICAgIGlmIChwcml2LT5jdXJyZW50U2l6ZSA+
IHByaXYtPm5ldHdvcmtSZXNwb25zZS0+ZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkpCiAgICAgICAg
IGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChkb3dubG9hZCksICJ0b3RhbC1zaXplIik7CiAKLSAg
ICAvLyBGSVhNRTogVGhyb3R0bGUgdGhlIG51bWJlciBvZiB1cGRhdGVzPyBTaG91bGQgd2UgcmVt
b3ZlIHRoZQotICAgIC8vIHByZXZpb3VzIGdfb2JqZWN0X25vdGlmeSgpcyBpZiB3ZSBhcmUgZ29p
bmcgdG8gdGhyb3R0bGUgdGhlCi0gICAgLy8gcHJvZ3Jlc3MgdXBkYXRlcz8KKyAgICBnZG91Ymxl
IGxhc3RQcm9ncmVzcyA9IHdlYmtpdF9kb3dubG9hZF9nZXRfcHJvZ3Jlc3MoZG93bmxvYWQpOwor
CisgICAgLy8gVGhyb3R0bGUgcHJvZ3Jlc3Mgbm90aWZpY2F0aW9uIHRvIG5vdCBjb25zdW1lIGhp
Z2ggYW1vdW50cyBvZgorICAgIC8vIENQVSBvbiBmYXN0IGxpbmtzLCBleGNlcHQgd2hlbiB0aGUg
cHJvZ3Jlc3MgaXMgPj0gMyUsIG9yIHdlCisgICAgLy8gcmVhY2hlZCB0aGUgZW5kLgorICAgIHN0
YXRpYyBnZG91YmxlIGxhc3RFbGFwc2VkID0gMDsKKyAgICBnZG91YmxlIGN1cnJlbnRFbGFwc2Vk
ID0gZ190aW1lcl9lbGFwc2VkKHByaXYtPnRpbWVyLCBOVUxMKTsKKworICAgIGlmIChsYXN0RWxh
cHNlZAorICAgICAgICAmJiAoY3VycmVudEVsYXBzZWQgLSBsYXN0RWxhcHNlZCkgPCAwLjEKKyAg
ICAgICAgJiYgKHdlYmtpdF9kb3dubG9hZF9nZXRfcHJvZ3Jlc3MoZG93bmxvYWQpIC0gbGFzdFBy
b2dyZXNzKSA8IDAuMDMKKyAgICAgICAgJiYgd2Via2l0X2Rvd25sb2FkX2dldF9wcm9ncmVzcyhk
b3dubG9hZCkgPCAxLjApIHsKKyAgICAgICAgbGFzdEVsYXBzZWQgPSBjdXJyZW50RWxhcHNlZDsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBsYXN0RWxhcHNlZCA9IGN1cnJlbnRFbGFwc2Vk
OworCiAgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKGRvd25sb2FkKSwgInByb2dyZXNzIik7
CiB9CiAK
</data>
<flag name="review"
          id="15724"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>