<?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>45015</bug_id>
          
          <creation_ts>2010-08-31 19:15:13 -0700</creation_ts>
          <short_desc>Add helpers to FloatRect to compute bounding box from points</short_desc>
          <delta_ts>2010-09-01 10:10:58 -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>
          
          <blocked>44729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>jamesr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>272574</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-08-31 19:15:13 -0700</bug_when>
    <thetext>For some geometric algorithms, it is necessary to compute the bounding box of a set of points. Methods on FloatRect for this purpose would be very helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272576</commentid>
    <comment_count>1</comment_count>
      <attachid>66159</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-08-31 19:19:59 -0700</bug_when>
    <thetext>Created attachment 66159
Patch

From the ChangeLog:

Added fitToPoints, including a few overloaded variants for the cases of two, three and four points. I opted not to add a generalized version taking const FloatRect* or Vector&lt;FloatRect&gt; at the present time because for my own purposes they are unnecessary, and the specific versions can be more tightly coded. Also added left() and top() for symmetry with right() and bottom(). These changes have been tested with new code to be added later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272609</commentid>
    <comment_count>2</comment_count>
      <attachid>66159</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-08-31 20:24:07 -0700</bug_when>
    <thetext>Comment on attachment 66159
Patch

r=me but please look at FloatQuad and see if any of the methods in there could be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272860</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-01 09:56:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 66159 [details])
&gt; r=me but please look at FloatQuad and see if any of the methods in there could be updated.

I checked the FloatQuad class but none of these changes apply there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272862</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-01 09:59:24 -0700</bug_when>
    <thetext>Committed r66611: &lt;http://trac.webkit.org/changeset/66611&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66159</attachid>
            <date>2010-08-31 19:19:59 -0700</date>
            <delta_ts>2010-08-31 20:24:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>float-rect.patch</filename>
            <type>text/plain</type>
            <size>5595</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjU2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDgtMzEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBoZWxwZXJzIHRvIEZsb2F0UmVjdCB0byBjb21wdXRlIGJvdW5kaW5nIGJveCBmcm9tIHBvaW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUwMTUK
KworICAgICAgICBBZGRlZCBmaXRUb1BvaW50cywgaW5jbHVkaW5nIGEgZmV3IG92ZXJsb2FkZWQg
dmFyaWFudHMgZm9yIHRoZQorICAgICAgICBjYXNlcyBvZiB0d28sIHRocmVlIGFuZCBmb3VyIHBv
aW50cy4gSSBvcHRlZCBub3QgdG8gYWRkIGEKKyAgICAgICAgZ2VuZXJhbGl6ZWQgdmVyc2lvbiB0
YWtpbmcgY29uc3QgRmxvYXRSZWN0KiBvciBWZWN0b3I8RmxvYXRSZWN0PgorICAgICAgICBhdCB0
aGUgcHJlc2VudCB0aW1lIGJlY2F1c2UgZm9yIG15IG93biBwdXJwb3NlcyB0aGV5IGFyZQorICAg
ICAgICB1bm5lY2Vzc2FyeSwgYW5kIHRoZSBzcGVjaWZpYyB2ZXJzaW9ucyBjYW4gYmUgbW9yZSB0
aWdodGx5IGNvZGVkLgorICAgICAgICBBbHNvIGFkZGVkIGxlZnQoKSBhbmQgdG9wKCkgZm9yIHN5
bW1ldHJ5IHdpdGggcmlnaHQoKSBhbmQgYm90dG9tKCkuCisgICAgICAgIFRoZXNlIGNoYW5nZXMg
aGF2ZSBiZWVuIHRlc3RlZCB3aXRoIG5ldyBjb2RlIHRvIGJlIGFkZGVkIGxhdGVyLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZsb2F0UmVjdDo6aW50ZXJzZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZsb2F0UmVjdDo6dW5p
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RmxvYXRSZWN0OjpmaXRUb1BvaW50cyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpGbG9h
dFJlY3Q6OmxlZnQpOgorICAgICAgICAoV2ViQ29yZTo6RmxvYXRSZWN0Ojp0b3ApOgorICAgICAg
ICAoV2ViQ29yZTo6RmxvYXRSZWN0OjpzZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMpOgorCiAy
MDEwLTA4LTMxICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuY3BwCShyZXZpc2lvbiA2NjU1OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRSZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsMTAgKzc2LDcgQEAgdm9pZCBG
bG9hdFJlY3Q6OmludGVyc2VjdChjb25zdCBGbG9hdFJlYwogICAgICAgICBiID0gMDsKICAgICB9
CiAKLSAgICBtX2xvY2F0aW9uLnNldFgobCk7Ci0gICAgbV9sb2NhdGlvbi5zZXRZKHQpOwotICAg
IG1fc2l6ZS5zZXRXaWR0aChyIC0gbCk7Ci0gICAgbV9zaXplLnNldEhlaWdodChiIC0gdCk7Cisg
ICAgc2V0TG9jYXRpb25BbmRTaXplRnJvbUVkZ2VzKGwsIHQsIHIsIGIpOwogfQogCiB2b2lkIEZs
b2F0UmVjdDo6dW5pdGUoY29uc3QgRmxvYXRSZWN0JiBvdGhlcikKQEAgLTk3LDEwICs5NCw3IEBA
IHZvaWQgRmxvYXRSZWN0Ojp1bml0ZShjb25zdCBGbG9hdFJlY3QmIG8KICAgICBmbG9hdCByID0g
bWF4KHJpZ2h0KCksIG90aGVyLnJpZ2h0KCkpOwogICAgIGZsb2F0IGIgPSBtYXgoYm90dG9tKCks
IG90aGVyLmJvdHRvbSgpKTsKIAotICAgIG1fbG9jYXRpb24uc2V0WChsKTsKLSAgICBtX2xvY2F0
aW9uLnNldFkodCk7Ci0gICAgbV9zaXplLnNldFdpZHRoKHIgLSBsKTsKLSAgICBtX3NpemUuc2V0
SGVpZ2h0KGIgLSB0KTsKKyAgICBzZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMobCwgdCwgciwg
Yik7CiB9CiAKIHZvaWQgRmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpCkBAIC0x
MTEsNiArMTA1LDY1IEBAIHZvaWQgRmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kK
ICAgICBtX3NpemUuc2V0SGVpZ2h0KGhlaWdodCgpICogc3kpOwogfQogCit2b2lkIEZsb2F0UmVj
dDo6Zml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQmIHAx
KQoreworICAgIGZsb2F0IGxlZnQgPSBtaW4ocDAueCgpLCBwMS54KCkpOworICAgIGZsb2F0IHRv
cCA9IG1pbihwMC55KCksIHAxLnkoKSk7CisgICAgZmxvYXQgcmlnaHQgPSBtYXgocDAueCgpLCBw
MS54KCkpOworICAgIGZsb2F0IGJvdHRvbSA9IG1heChwMC55KCksIHAxLnkoKSk7CisKKyAgICBz
ZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMobGVmdCwgdG9wLCByaWdodCwgYm90dG9tKTsKK30K
KworbmFtZXNwYWNlIHsKKy8vIEhlbHBlcnMgZm9yIDMtIGFuZCA0LXdheSBtYXggYW5kIG1pbi4K
KwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitUIG1pbjMoY29uc3QgVCYgdjEsIGNvbnN0IFQmIHYy
LCBjb25zdCBUJiB2MykKK3sKKyAgICByZXR1cm4gbWluKG1pbih2MSwgdjIpLCB2Myk7Cit9CisK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorVCBtYXgzKGNvbnN0IFQmIHYxLCBjb25zdCBUJiB2Miwg
Y29uc3QgVCYgdjMpCit7CisgICAgcmV0dXJuIG1heChtYXgodjEsIHYyKSwgdjMpOworfQorCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK1QgbWluNChjb25zdCBUJiB2MSwgY29uc3QgVCYgdjIsIGNv
bnN0IFQmIHYzLCBjb25zdCBUJiB2NCkKK3sKKyAgICByZXR1cm4gbWluKG1pbih2MSwgdjIpLCBt
aW4odjMsIHY0KSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorVCBtYXg0KGNvbnN0IFQm
IHYxLCBjb25zdCBUJiB2MiwgY29uc3QgVCYgdjMsIGNvbnN0IFQmIHY0KQoreworICAgIHJldHVy
biBtYXgobWF4KHYxLCB2MiksIG1heCh2MywgdjQpKTsKK30KKworfSAvLyBhbm9ueW1vdXMgbmFt
ZXNwYWNlCisKK3ZvaWQgRmxvYXRSZWN0OjpmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBw
MCwgY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyKQoreworICAgIGZs
b2F0IGxlZnQgPSBtaW4zKHAwLngoKSwgcDEueCgpLCBwMi54KCkpOworICAgIGZsb2F0IHRvcCA9
IG1pbjMocDAueSgpLCBwMS55KCksIHAyLnkoKSk7CisgICAgZmxvYXQgcmlnaHQgPSBtYXgzKHAw
LngoKSwgcDEueCgpLCBwMi54KCkpOworICAgIGZsb2F0IGJvdHRvbSA9IG1heDMocDAueSgpLCBw
MS55KCksIHAyLnkoKSk7CisKKyAgICBzZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMobGVmdCwg
dG9wLCByaWdodCwgYm90dG9tKTsKK30KKwordm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNv
bnN0IEZsb2F0UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2lu
dCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIHAzKQoreworICAgIGZsb2F0IGxlZnQgPSBtaW40KHAw
LngoKSwgcDEueCgpLCBwMi54KCksIHAzLngoKSk7CisgICAgZmxvYXQgdG9wID0gbWluNChwMC55
KCksIHAxLnkoKSwgcDIueSgpLCBwMy55KCkpOworICAgIGZsb2F0IHJpZ2h0ID0gbWF4NChwMC54
KCksIHAxLngoKSwgcDIueCgpLCBwMy54KCkpOworICAgIGZsb2F0IGJvdHRvbSA9IG1heDQocDAu
eSgpLCBwMS55KCksIHAyLnkoKSwgcDMueSgpKTsKKworICAgIHNldExvY2F0aW9uQW5kU2l6ZUZy
b21FZGdlcyhsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20pOworfQorCiBzdGF0aWMgaW5saW5lIGlu
dCBzYWZlRmxvYXRUb0ludChmbG9hdCB4KQogewogICAgIHN0YXRpYyBjb25zdCBpbnQgc19pbnRN
YXggPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5oCShyZXZpc2lvbiA2NjU1OSkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDkgQEAg
cHVibGljOgogCiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9zaXplLmlzRW1w
dHkoKTsgfQogCisgICAgZmxvYXQgbGVmdCgpIGNvbnN0IHsgcmV0dXJuIHgoKTsgfQogICAgIGZs
b2F0IHJpZ2h0KCkgY29uc3QgeyByZXR1cm4geCgpICsgd2lkdGgoKTsgfQorICAgIGZsb2F0IHRv
cCgpIGNvbnN0IHsgcmV0dXJuIHkoKTsgfQogICAgIGZsb2F0IGJvdHRvbSgpIGNvbnN0IHsgcmV0
dXJuIHkoKSArIGhlaWdodCgpOyB9CiAKICAgICBGbG9hdFBvaW50IGNlbnRlcigpIGNvbnN0IHsg
cmV0dXJuIEZsb2F0UG9pbnQoeCgpICsgd2lkdGgoKSAvIDIsIHkoKSArIGhlaWdodCgpIC8gMik7
IH0KQEAgLTEyOSw2ICsxMzEsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2NhbGUoZmxvYXQgcykg
eyBzY2FsZShzLCBzKTsgfQogICAgIHZvaWQgc2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KTsKIAor
ICAgIC8vIFJlLWluaXRpYWxpemVzIHRoaXMgcmVjdGFuZ2xlIHRvIGZpdCB0aGUgc2V0cyBvZiBw
YXNzZWQgcG9pbnRzLgorICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAs
IGNvbnN0IEZsb2F0UG9pbnQmIHAxKTsKKyAgICB2b2lkIGZpdFRvUG9pbnRzKGNvbnN0IEZsb2F0
UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIpOwor
ICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3QgRmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9p
bnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYgcDMpOworCiAj
aWYgUExBVEZPUk0oQ0cpCiAgICAgRmxvYXRSZWN0KGNvbnN0IENHUmVjdCYpOwogICAgIG9wZXJh
dG9yIENHUmVjdCgpIGNvbnN0OwpAQCAtMTY4LDYgKzE3NSwxMyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIEZsb2F0UG9pbnQgbV9sb2NhdGlvbjsKICAgICBGbG9hdFNpemUgbV9zaXplOworCisg
ICAgdm9pZCBzZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMoZmxvYXQgbGVmdCwgZmxvYXQgdG9w
LCBmbG9hdCByaWdodCwgZmxvYXQgYm90dG9tKQorICAgIHsKKyAgICAgICAgbV9sb2NhdGlvbi5z
ZXQobGVmdCwgdG9wKTsKKyAgICAgICAgbV9zaXplLnNldFdpZHRoKHJpZ2h0IC0gbGVmdCk7Cisg
ICAgICAgIG1fc2l6ZS5zZXRIZWlnaHQoYm90dG9tIC0gdG9wKTsKKyAgICB9CiB9OwogCiBpbmxp
bmUgRmxvYXRSZWN0IGludGVyc2VjdGlvbihjb25zdCBGbG9hdFJlY3QmIGEsIGNvbnN0IEZsb2F0
UmVjdCYgYikK
</data>
<flag name="review"
          id="55086"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="55087"
          type_id="3"
          status="-"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>