<?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>82928</bug_id>
          
          <creation_ts>2012-04-02 12:46:12 -0700</creation_ts>
          <short_desc>Optimizing tracking of intruding floats being removed from RenderBlock during layout</short_desc>
          <delta_ts>2012-04-13 17:38:49 -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>All</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ken Buchanan">kenrb</reporter>
          <assigned_to name="Ken Buchanan">kenrb</assigned_to>
          <cc>hyatt</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>593703</commentid>
    <comment_count>0</comment_count>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2012-04-02 12:46:12 -0700</bug_when>
    <thetext>This is a follow-up for bug 74056, for some performance improvements in special cases.

dhyatt&apos;s comment on https://bugs.webkit.org/show_bug.cgi?id=74056 --

&gt; Not going to minus for this but thought of a couple of optimizations if you don&apos;t mind following up:
&gt; 
&gt; (1) If the oldIntrudingFloat set ever empties out, you can bail out of that last loop early.
&gt; 
&gt; In other words:
&gt; 
&gt; for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end &amp;&amp; !oldIntrudingFloatSet.isEmpty(); ++it)
&gt;     oldIntrudingFloatSet.remove((*it)-&gt;m_renderer);
&gt; 
&gt; That way once the set gets emptied out, you don&apos;t waste time iterating over floats that you know won&apos;t be found in the set.
&gt; 
&gt; (2) If you cached an intruding object count and kept it up to date, you could really optimize the avoidsFloats case, since all it did was checked for if you had any intruding floats at all. Then you could make that case O(1) instead of O(n).
&gt; 
&gt; I won&apos;t minus, but I&apos;d appreciate a follow-up bug and fixes for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601396</commentid>
    <comment_count>1</comment_count>
      <attachid>136945</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2012-04-12 11:45:24 -0700</bug_when>
    <thetext>Created attachment 136945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602190</commentid>
    <comment_count>2</comment_count>
      <attachid>136945</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-04-13 10:44:49 -0700</bug_when>
    <thetext>Comment on attachment 136945
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602553</commentid>
    <comment_count>3</comment_count>
      <attachid>136945</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 17:38:42 -0700</bug_when>
    <thetext>Comment on attachment 136945
Patch

Clearing flags on attachment: 136945

Committed r114190: &lt;http://trac.webkit.org/changeset/114190&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602554</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 17:38:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136945</attachid>
            <date>2012-04-12 11:45:24 -0700</date>
            <delta_ts>2012-04-13 17:38:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82928-20120412144445.patch</filename>
            <type>text/plain</type>
            <size>2356</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkxMjcxYTg0ZDJmNzky
MWRmYjk2MTcxNjBkMTc5NTA5M2UwZTdjMS4uNWEwZWQ2NWRhYzYyMTU1Nzk2NzcwM2JjMGMzN2Uy
YWFhNjI4NDdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTEyICBLZW4g
QnVjaGFuYW4gIDxrZW5yYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgT3B0aW1pemUgdHJhY2tp
bmcgb2YgaW50cnVkaW5nIGZsb2F0cyBiZWluZyByZW1vdmVkIGZyb20gUmVuZGVyQmxvY2sgZHVy
aW5nIGxheW91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODI5MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQZXJmb3JtYW5jZSB0d2Vha3MgaW4gUmVuZGVyQmxvY2sgbGF5b3V0IGFzIGEgZm9sbG93IHVw
IHRvIHIxMTI5MzUuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFyRmxvYXRzKToKKwogMjAxMi0wNC0wNSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExMzI0MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCmluZGV4IGExZWFhOTUxMjY4YjY0NzU3YmJkNzhlMWE3MGUwNDUwN2E2Y2Zj
YTkuLmE4NWFjMjZiYjIxOWVmODMwNjJiYTg5ODk5NDMzMmIxNGVjYzNhNTAgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNDI5NCwxMiArNDI5NCwxNiBAQCB2
b2lkIFJlbmRlckJsb2NrOjpjbGVhckZsb2F0cyhCbG9ja0xheW91dFBhc3MgbGF5b3V0UGFzcykK
ICAgICB9IGVsc2UgaWYgKCFvbGRJbnRydWRpbmdGbG9hdFNldC5pc0VtcHR5KCkpIHsKICAgICAg
ICAgLy8gSWYgdGhlcmUgYXJlIHByZXZpb3VzbHkgaW50cnVkaW5nIGZsb2F0cyB0aGF0IG5vIGxv
bmdlciBpbnRydWRlLCB0aGVuIGNoaWxkcmVuIHdpdGggZmxvYXRzCiAgICAgICAgIC8vIHNob3Vs
ZCBhbHNvIGdldCBsYXlvdXQgYmVjYXVzZSB0aGV5IG1pZ2h0IG5lZWQgdGhlaXIgZmxvYXRpbmcg
b2JqZWN0IGxpc3RzIGNsZWFyZWQuCi0gICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBm
bG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICAgICAgRmxv
YXRpbmdPYmplY3RTZXRJdGVyYXRvciBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAg
ICAgICAgZm9yIChGbG9hdGluZ09iamVjdFNldEl0ZXJhdG9yIGl0ID0gZmxvYXRpbmdPYmplY3RT
ZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAgb2xkSW50cnVkaW5nRmxv
YXRTZXQucmVtb3ZlKCgqaXQpLT5tX3JlbmRlcmVyKTsKLSAgICAgICAgaWYgKCFvbGRJbnRydWRp
bmdGbG9hdFNldC5pc0VtcHR5KCkpCisgICAgICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0
KCkuc2l6ZSgpIDwgb2xkSW50cnVkaW5nRmxvYXRTZXQuc2l6ZSgpKQogICAgICAgICAgICAgbWFy
a0FsbERlc2NlbmRhbnRzV2l0aEZsb2F0c0ZvckxheW91dCgpOworICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1f
ZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKKyAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0U2V0SXRl
cmF0b3IgZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7CisgICAgICAgICAgICBmb3IgKEZs
b2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBp
dCAhPSBlbmQgJiYgIW9sZEludHJ1ZGluZ0Zsb2F0U2V0LmlzRW1wdHkoKTsgKytpdCkKKyAgICAg
ICAgICAgICAgICBvbGRJbnRydWRpbmdGbG9hdFNldC5yZW1vdmUoKCppdCktPm1fcmVuZGVyZXIp
OworICAgICAgICAgICAgaWYgKCFvbGRJbnRydWRpbmdGbG9hdFNldC5pc0VtcHR5KCkpCisgICAg
ICAgICAgICAgICAgbWFya0FsbERlc2NlbmRhbnRzV2l0aEZsb2F0c0ZvckxheW91dCgpOworICAg
ICAgICB9CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>