<?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>57997</bug_id>
          
          <creation_ts>2011-04-06 16:18:10 -0700</creation_ts>
          <short_desc>Document leaks when navigating away from a scrolled page</short_desc>
          <delta_ts>2011-04-06 19:04:18 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>380947</commentid>
    <comment_count>0</comment_count>
      <attachid>88541</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-04-06 16:18:10 -0700</bug_when>
    <thetext>Created attachment 88541
testcase

&lt;rdar://problem/9187856&gt; REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs

When navigating away from a page in a scrolled state the scrollbars are reset which fires a scroll event.  WIth the new EventQueue for scroll events the event is never dispatched before the page detaches and keeps the Document alive.  

Solution is to cancel the scroll event when detaching the page. 

To repro:
Load attached testcase
Scroll
navigate to about:blank
close the window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380969</commentid>
    <comment_count>1</comment_count>
      <attachid>88542</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-04-06 16:48:28 -0700</bug_when>
    <thetext>Created attachment 88542
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380971</commentid>
    <comment_count>2</comment_count>
      <attachid>88542</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-06 16:50:24 -0700</bug_when>
    <thetext>Comment on attachment 88542
patch

I don’t understand this patch. It adds two new functions, but nobody calls the Document function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380982</commentid>
    <comment_count>3</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-04-06 17:13:00 -0700</bug_when>
    <thetext>the call to to cancelEnqueuedEvents is in Document::detach.  It would be more concise I suppose to just call the QueueEvent function from there and not add a function to Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381011</commentid>
    <comment_count>4</comment_count>
      <attachid>88542</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-06 17:52:55 -0700</bug_when>
    <thetext>Comment on attachment 88542
patch

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

&gt; Source/WebCore/dom/Document.cpp:3553
&gt; +void Document::cancelEnqueuedEvents()
&gt; +{
&gt; +    m_eventQueue-&gt;cancelEnqueuedEvents();
&gt; +}

I suggest just doing this in Document::detach instead of adding a function for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381030</commentid>
    <comment_count>5</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-04-06 18:23:57 -0700</bug_when>
    <thetext>committed http://trac.webkit.org/changeset/83128</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381058</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-06 19:04:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83128 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
fast/dom/52776.html
fast/text/complex-text-opacity.html
fast/text/international/bidi-AN-after-L.html
fast/text/international/bidi-AN-after-empty-run.html
fast/text/international/bidi-CS-after-AN.html
fast/text/international/bidi-mirror-he-ar.html
fast/text/international/bidi-neutral-run.html
platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>88541</attachid>
            <date>2011-04-06 16:18:10 -0700</date>
            <delta_ts>2011-04-06 16:18:10 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>ScrollingLeak.html</filename>
            <type>text/html</type>
            <size>425</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">PEhUTUw+PEhFQUQ+CjwhLS0JCQk8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+CgkJCQlm
dW5jdGlvbiBPbkxvYWQoKQoJCQkJewoJCQkJCXZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvdW50ZXIiKTsKCQkJCQlzZWxmLnNjcm9sbFRvKDAsIGVsZW0ub2Zmc2V0VG9wKTsJ
CQoJCQkJCXNldFRpbWVvdXQoImRvY3VtZW50LmxvY2F0aW9uPSdhYm91dDpibGFuayciLCAzMDAw
MCk7CgkJCQl9CgkJCTwvc2NyaXB0Pi0tPgo8L0hFQUQ+CjwhLS08Qk9EWSBvbkxvYWQ9IkxvYWQo
KSI+LS0+Cjxib2R5Pgo8ZGl2IGlkPSJjb3VudGVyIiBzdHlsZT0ncG9zaXRpb246IGFic29sdXRl
OyBiYWNrZ3JvdW5kOiByZWQ7IHdpZHRoOiA2MDBweDsgaGVpZ2h0OiAxMDAwIHB4OyB0b3A6MTAw
cHg7Jz48L2Rpdj4KPC9ib2R5PjwvSFRNTD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88542</attachid>
            <date>2011-04-06 16:48:28 -0700</date>
            <delta_ts>2011-04-06 17:52:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>ScrollEventLeak.txt</filename>
            <type>text/plain</type>
            <size>3421</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzMTE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDQtMDYgIFN0ZXBoYW5p
ZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU3OTk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MTg3ODU2PiBSRUdSRVNTSU9OKHI3
NTU1NSk6IH41LTcgTUIgaW5jcmVhc2UgaW4gbWVtb3J5IGJldHdlZW4gaUJlbmNoIHJ1bnMKKyAg
ICAgICAgTmF2aWdhdGluZyBhd2F5IGZyb20gYSBTY3JvbGxlZCBwYWdlIHdoaWNoIHF1ZXVlcyBh
IHNjcm9sbCBldmVudCB0aGF0IGlzIG5ldmVyIGRpc3BhdGNoZWQuCisgICAgICAgIENhbmNlbCBh
bGwgZW5xdWV1ZWQgZXZlbnRzIHdoZW4gZGV0YWNoaW5nIHRoZSBEb2N1bWVudCB0aGUgZXZlbnRz
IGNhbm5vdCBrZWVwIHRoZSBEb2N1bWVudAorICAgICAgICBhbGl2ZS4KKworICAgICAgICBObyBj
aGFuZ2UgaW4gZnVuY3Rpb25hbGl0eSBzbyBubyBuZXcgdGVzdHMuICAgICAgICAKKworICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGV0YWNo
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjYW5jZWxFbnF1ZXVlZEV2ZW50cyk6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6Y2FuY2VsRW5xdWV1ZWRFdmVudHMpOgorICAg
ICAgICAqIGRvbS9FdmVudFF1ZXVlLmg6CisKIDIwMTEtMDQtMDYgIElhbiBIZW5kZXJzb24gIDxp
YW5oQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gODI2MjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzY3LDYgKzE3NjcsNyBA
QCB2b2lkIERvY3VtZW50OjpkZXRhY2goKQogCiAgICAgY2xlYXJBWE9iamVjdENhY2hlKCk7CiAg
ICAgc3RvcEFjdGl2ZURPTU9iamVjdHMoKTsKKyAgICBjYW5jZWxFbnF1ZXVlZEV2ZW50cygpOwog
CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIC8vIEZJWE1FOiBjb25z
aWRlciB1c2luZyBBY3RpdmVET01PYmplY3QuCkBAIC0zNTQ2LDYgKzM1NDcsMTEgQEAgdm9pZCBE
b2N1bWVudDo6ZW5xdWV1ZURvY3VtZW50RXZlbnQoUGFzcwogICAgIG1fZXZlbnRRdWV1ZS0+ZW5x
dWV1ZUV2ZW50KGV2ZW50KTsKIH0KIAordm9pZCBEb2N1bWVudDo6Y2FuY2VsRW5xdWV1ZWRFdmVu
dHMoKQoreworICAgIG1fZXZlbnRRdWV1ZS0+Y2FuY2VsRW5xdWV1ZWRFdmVudHMoKTsKK30KKwog
UGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZl
bnRUeXBlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDgyNjI5KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNzAsNiArMTA3MCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGVucXVldWVQYWdlc2hvd0V2ZW50KFBhZ2VzaG93RXZlbnRQZXJzaXN0
ZW5jZSk7CiAgICAgdm9pZCBlbnF1ZXVlSGFzaGNoYW5nZUV2ZW50KGNvbnN0IFN0cmluZyYgb2xk
VVJMLCBjb25zdCBTdHJpbmcmIG5ld1VSTCk7CiAgICAgdm9pZCBlbnF1ZXVlUG9wc3RhdGVFdmVu
dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc3RhdGVPYmplY3QpOworICAgIHZv
aWQgY2FuY2VsRW5xdWV1ZWRFdmVudHMoKTsKICAgICBFdmVudFF1ZXVlKiBldmVudFF1ZXVlKCkg
Y29uc3QgeyByZXR1cm4gbV9ldmVudFF1ZXVlLmdldCgpOyB9CiAKICAgICB2b2lkIGFkZE1lZGlh
Q2FuU3RhcnRMaXN0ZW5lcihNZWRpYUNhblN0YXJ0TGlzdGVuZXIqKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRRdWV1ZS5jcHAJKHJldmlzaW9uIDgyNjI5KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50UXVldWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5MiwxMiBAQCBib29sIEV2
ZW50UXVldWU6OmNhbmNlbEV2ZW50KEV2ZW50KiBldmVuCiAgICAgcmV0dXJuIGZvdW5kOwogfQog
Cit2b2lkIEV2ZW50UXVldWU6OmNhbmNlbEVucXVldWVkRXZlbnRzKCkKK3sKKyAgICBtX3BlbmRp
bmdFdmVudFRpbWVyLT5zdG9wKCk7CisgICAgbV9xdWV1ZWRFdmVudHMuY2xlYXIoKTsKK30KKwog
dm9pZCBFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKCkKIHsKICAgICBBU1NFUlQo
IW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50UXVldWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRR
dWV1ZS5oCShyZXZpc2lvbiA4MjYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIHZvaWQgZW5x
dWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKICAgICB2b2lkIGVucXVldWVTY3JvbGxFdmVu
dChQYXNzUmVmUHRyPE5vZGU+LCBTY3JvbGxFdmVudFRhcmdldFR5cGUpOwogICAgIGJvb2wgY2Fu
Y2VsRXZlbnQoRXZlbnQqKTsKKyAgICB2b2lkIGNhbmNlbEVucXVldWVkRXZlbnRzKCk7CiAKIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgRXZlbnRRdWV1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7
Cg==
</data>
<flag name="review"
          id="81068"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>