<?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>56859</bug_id>
          
          <creation_ts>2011-03-22 13:09:48 -0700</creation_ts>
          <short_desc>Reduce float iteration in logicalLeft/RightOffsetForLine</short_desc>
          <delta_ts>2011-03-29 18:09:56 -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.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>
          
          <blocked>57093</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>371576</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-03-22 13:09:48 -0700</bug_when>
    <thetext>Floats in the floating object list are ordered in the order that they are positioned.  Following normal positioning rules, this means that the rightmost float in the set of left objects and the leftmost float in the set of right objects that actually intersect the vertical position specified in logicalLeftOffsetForLine and logicalRightOffsetForLine are the only floats we need to check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371581</commentid>
    <comment_count>1</comment_count>
      <attachid>86496</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-03-22 13:12:50 -0700</bug_when>
    <thetext>Created attachment 86496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371584</commentid>
    <comment_count>2</comment_count>
      <attachid>86496</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-03-22 13:17:39 -0700</bug_when>
    <thetext>Comment on attachment 86496
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Floats in the floating object list occur in the order that they are positioned.  This means
&gt; +        that for a given vertical offset, the last left object in the list that intersects that offset
&gt; +        will be the rightmost float.  There is no need to check any previous floats, since they have to be
&gt; +        further left than that rightmost float.  The same rules hold true for right-aligned floats.

One space after periods!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374620</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-03-28 11:08:11 -0700</bug_when>
    <thetext>Fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86496</attachid>
            <date>2011-03-22 13:12:50 -0700</date>
            <delta_ts>2011-03-22 13:17:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4277</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNjg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDMtMjIgIERhdmlkIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
Njg1OQorICAgICAgICAKKyAgICAgICAgRmxvYXRzIGluIHRoZSBmbG9hdGluZyBvYmplY3QgbGlz
dCBvY2N1ciBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IGFyZSBwb3NpdGlvbmVkLiAgVGhpcyBtZWFu
cworICAgICAgICB0aGF0IGZvciBhIGdpdmVuIHZlcnRpY2FsIG9mZnNldCwgdGhlIGxhc3QgbGVm
dCBvYmplY3QgaW4gdGhlIGxpc3QgdGhhdCBpbnRlcnNlY3RzIHRoYXQgb2Zmc2V0CisgICAgICAg
IHdpbGwgYmUgdGhlIHJpZ2h0bW9zdCBmbG9hdC4gIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sg
YW55IHByZXZpb3VzIGZsb2F0cywgc2luY2UgdGhleSBoYXZlIHRvIGJlCisgICAgICAgIGZ1cnRo
ZXIgbGVmdCB0aGFuIHRoYXQgcmlnaHRtb3N0IGZsb2F0LiAgVGhlIHNhbWUgcnVsZXMgaG9sZCB0
cnVlIGZvciByaWdodC1hbGlnbmVkIGZsb2F0cy4KKyAgICAgICAgCisgICAgICAgIENoYW5nZSBs
b2dpY2FsTGVmdC9SaWdodE9mZnNldEZvckxpbmUgdG8gaXRlcmF0ZSBiYWNrd2FyZHMgaW5zdGVh
ZCBvZiBmb3J3YXJkcyBhbmQgdG8gc3RvcCB0aGUgbW9tZW50CisgICAgICAgIHRoZXkgZW5jb3Vu
dGVyIGEgZmxvYXQgdGhhdCBpbnRlcnNlY3RzIHRoZSB2ZXJ0aWNhbCByYW5nZS4KKyAgICAgICAg
CisgICAgICAgIFRoaXMgY3V0cyB0aGUgbWF6ZSBzb2x2aW5nIHRpbWUgZm9yIGEgMjB4MjAgbWF6
ZSBpbiB0aGUgSUUgTWF6ZVNvbHZlciB0ZXN0IGluIGhhbGYuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2lj
YWxMZWZ0T2Zmc2V0Rm9yTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9n
aWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSk6CisKIDIwMTEtMDMtMjIgIEp1c3RpbiBTY2h1aCAgPGpz
Y2h1aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1bHplLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA4
MTY4MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM0MTIsOSArMzQxMiwxNCBAQCBpbnQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxM
ZWZ0T2Zmc2V0Rm9yTGluCiAgICAgICAgIGlmIChoZWlnaHRSZW1haW5pbmcpCiAgICAgICAgICAg
ICAqaGVpZ2h0UmVtYWluaW5nID0gMTsKIAorICAgICAgICAvLyBXZSBrbm93IHRoZSBsaXN0IGlz
IG5vbi1lbXB0eSwgc2luY2Ugd2UgaGF2ZSAibGVmdCIgb2JqZWN0cyB0byBzZWFyY2ggZm9yLgor
ICAgICAgICAvLyBUaGVyZWZvcmUgd2UgY2FuIGFzc3VtZSB0aGF0IGJlZ2luICE9IGVuZCwgYW5k
IHRoYXQgd2UgY2FuIGRvIGF0IGxlYXN0IG9uZQorICAgICAgICAvLyBkZWNyZW1lbnQuCiAgICAg
ICAgIEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmpl
Y3RzLT5zZXQoKTsKLSAgICAgICAgRmxvYXRpbmdPYmplY3RTZXRJdGVyYXRvciBlbmQgPSBmbG9h
dGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgZm9yIChGbG9hdGluZ09iamVjdFNldEl0ZXJh
dG9yIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Cisg
ICAgICAgIEZsb2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgYmVnaW4gPSBmbG9hdGluZ09iamVjdFNl
dC5iZWdpbigpOworICAgICAgICBGbG9hdGluZ09iamVjdFNldEl0ZXJhdG9yIGl0ID0gZmxvYXRp
bmdPYmplY3RTZXQuZW5kKCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIC0taXQ7CiAgICAg
ICAgICAgICBGbG9hdGluZ09iamVjdCogciA9ICppdDsKICAgICAgICAgICAgIGlmIChyLT5pc1Bs
YWNlZCgpICYmIGxvZ2ljYWxUb3BGb3JGbG9hdChyKSA8PSBsb2dpY2FsVG9wICYmIGxvZ2ljYWxC
b3R0b21Gb3JGbG9hdChyKSA+IGxvZ2ljYWxUb3AKICAgICAgICAgICAgICAgICAmJiByLT50eXBl
KCkgPT0gRmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdApAQCAtMzQyMiw4ICszNDI3LDkgQEAgaW50
IFJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbgogICAgICAgICAgICAgICAgIGxl
ZnQgPSBsb2dpY2FsUmlnaHRGb3JGbG9hdChyKTsKICAgICAgICAgICAgICAgICBpZiAoaGVpZ2h0
UmVtYWluaW5nKQogICAgICAgICAgICAgICAgICAgICAqaGVpZ2h0UmVtYWluaW5nID0gbG9naWNh
bEJvdHRvbUZvckZsb2F0KHIpIC0gbG9naWNhbFRvcDsKKyAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChpdCAhPSBiZWdpbik7
CiAgICAgfQogCiAgICAgaWYgKGFwcGx5VGV4dEluZGVudCAmJiBzdHlsZSgpLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkpIHsKQEAgLTM0NDMsOSArMzQ0OSwxNSBAQCBpbnQgUmVuZGVyQmxvY2s6
OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpCiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzICYmIG1f
ZmxvYXRpbmdPYmplY3RzLT5oYXNSaWdodE9iamVjdHMoKSkgewogICAgICAgICBpZiAoaGVpZ2h0
UmVtYWluaW5nKQogICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IDE7CisgICAgICAgICAg
ICAKKyAgICAgICAgLy8gV2Uga25vdyB0aGUgbGlzdCBpcyBub24tZW1wdHksIHNpbmNlIHdlIGhh
dmUgInJpZ2h0IiBvYmplY3RzIHRvIHNlYXJjaCBmb3IuCisgICAgICAgIC8vIFRoZXJlZm9yZSB3
ZSBjYW4gYXNzdW1lIHRoYXQgYmVnaW4gIT0gZW5kLCBhbmQgdGhhdCB3ZSBjYW4gZG8gYXQgbGVh
c3Qgb25lCisgICAgICAgIC8vIGRlY3JlbWVudC4KICAgICAgICAgRmxvYXRpbmdPYmplY3RTZXQm
IGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBG
bG9hdGluZ09iamVjdFNldEl0ZXJhdG9yIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwot
ICAgICAgICBmb3IgKEZsb2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgaXQgPSBmbG9hdGluZ09iamVj
dFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgRmxvYXRpbmdPYmplY3RT
ZXRJdGVyYXRvciBiZWdpbiA9IGZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7CisgICAgICAgIEZs
b2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgaXQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKKyAg
ICAgICAgZG8geworICAgICAgICAgICAgLS1pdDsKICAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0
KiByID0gKml0OwogICAgICAgICAgICAgaWYgKHItPmlzUGxhY2VkKCkgJiYgbG9naWNhbFRvcEZv
ckZsb2F0KHIpIDw9IGxvZ2ljYWxUb3AgJiYgbG9naWNhbEJvdHRvbUZvckZsb2F0KHIpID4gbG9n
aWNhbFRvcAogICAgICAgICAgICAgICAgICYmIHItPnR5cGUoKSA9PSBGbG9hdGluZ09iamVjdDo6
RmxvYXRSaWdodApAQCAtMzQ1Myw4ICszNDY1LDkgQEAgaW50IFJlbmRlckJsb2NrOjpsb2dpY2Fs
UmlnaHRPZmZzZXRGb3JMaQogICAgICAgICAgICAgICAgIHJpZ2h0ID0gbG9naWNhbExlZnRGb3JG
bG9hdChyKTsKICAgICAgICAgICAgICAgICBpZiAoaGVpZ2h0UmVtYWluaW5nKQogICAgICAgICAg
ICAgICAgICAgICAqaGVpZ2h0UmVtYWluaW5nID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KHIpIC0g
bG9naWNhbFRvcDsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgfQorICAgICAgICB9IHdoaWxlIChpdCAhPSBiZWdpbik7CiAgICAgfQogICAgIAogICAgIGlm
IChhcHBseVRleHRJbmRlbnQgJiYgIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkg
ewo=
</data>
<flag name="review"
          id="78777"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>