<?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>52910</bug_id>
          
          <creation_ts>2011-01-21 11:55:54 -0800</creation_ts>
          <short_desc>Add various clampToInt() methods to MathExtras.h</short_desc>
          <delta_ts>2011-01-28 21:02:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>barraclough</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>338229</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-21 11:55:54 -0800</bug_when>
    <thetext>In CSS code we need to range-check doubles before double-to-int conversion in various places. We need versions that allow only positive numbers, and positive and negative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338256</commentid>
    <comment_count>1</comment_count>
      <attachid>79774</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-21 12:23:22 -0800</bug_when>
    <thetext>Created attachment 79774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338306</commentid>
    <comment_count>2</comment_count>
      <attachid>79774</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-21 13:45:33 -0800</bug_when>
    <thetext>Comment on attachment 79774
Patch

r+,
but have you thought about how these methods will handle NaN? - I&apos;m guessing that the answer is, we don&apos;t care for CSS - in which case I&apos;d suggest ASSERT(!isNaN(d)) in each.  If you&apos;re not going to guard against NaN, I think you should document what expected behaviour is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338338</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-21 14:12:55 -0800</bug_when>
    <thetext>Attachment 79774 did not build on win:
Build output: http://queues.webkit.org/results/7515282</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338343</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-21 14:24:53 -0800</bug_when>
    <thetext>Gah, windows:

14&gt;C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\include\private\JavaScriptCore/MathExtras.h(213) : error C2220: warning treated as error - no &apos;object&apos; file generated
14&gt;C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\include\private\JavaScriptCore/MathExtras.h(213) : warning C4003: not enough actual parameters for macro &apos;max&apos;
14&gt;C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\include\private\JavaScriptCore/MathExtras.h(213) : error C2589: &apos;(&apos; : illegal token on right side of &apos;::&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341816</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-28 15:58:54 -0800</bug_when>
    <thetext>Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341901</commentid>
    <comment_count>6</comment_count>
      <attachid>80531</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-28 17:49:09 -0800</bug_when>
    <thetext>Created attachment 80531
Need this change too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341979</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-28 21:02:55 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77045</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79774</attachid>
            <date>2011-01-21 12:23:22 -0800</date>
            <delta_ts>2011-01-21 13:45:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52910-20110121122321.patch</filename>
            <type>text/plain</type>
            <size>4334</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkyZDFmMWU0YzA5YWUyZmI2ZjZhZDYzYmY3YTdj
ZGQ3NWYwNDYxMzUuLmUzMGEyMjM3Zjg5MTQ0ZWU2ZWIxZTIzYzFjMzUyNGM4MzI2MDFkNTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTIxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB2YXJpb3VzIGNsYW1wVG9JbnQoKSBtZXRo
b2RzIHRvIE1hdGhFeHRyYXMuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI5MTAKKyAgICAgICAgCisgICAgICAgIEFkZCBmdW5jdGlvbnMgZm9yIGNs
YW1waW5nIGRvdWJsZXMgYW5kIGZsb2F0cyB0byB2YWxpZCBpbnQKKyAgICAgICAgcmFuZ2VzLCBm
b3Igc2lnbmVkIGFuZCBwb3NpdGl2ZSBpbnRlZ2Vycy4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0
cmFzLmg6CisgICAgICAgIChjbGFtcFRvSW50ZWdlcik6CisgICAgICAgIChjbGFtcFRvUG9zaXRp
dmVJbnRlZ2VyKToKKwogMjAxMS0wMS0yMSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL01hdGhFeHRyYXMuaAppbmRleCAwOTU1NDllNTVlMDNmMjk3OTliNjhiZjU5NjBjZjg2
Yjg0ZDBmZjBhLi45NjA0OTdjNThhMzZlYmQ0MjFmNjA4ZjY1NTU0ODIxNWVjNzkwZDE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaApAQCAtMjYsOCArMjYsMTAgQEAKICNp
Zm5kZWYgV1RGX01hdGhFeHRyYXNfaAogI2RlZmluZSBXVEZfTWF0aEV4dHJhc19oCiAKKyNpbmNs
dWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y21hdGg+CiAjaW5jbHVkZSA8ZmxvYXQuaD4KKyNp
bmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKICNpZiBPUyhTT0xBUklTKQpA
QCAtMjA1LDYgKzIwNywzMiBAQCBpbmxpbmUgZmxvYXQgZGVnMnR1cm4oZmxvYXQgZCkgeyByZXR1
cm4gZCAvIDM2MC4wZjsgfQogaW5saW5lIGZsb2F0IHJhZDJncmFkKGZsb2F0IHIpIHsgcmV0dXJu
IHIgKiAyMDAuMGYgLyBwaUZsb2F0OyB9CiBpbmxpbmUgZmxvYXQgZ3JhZDJyYWQoZmxvYXQgZykg
eyByZXR1cm4gZyAqIHBpRmxvYXQgLyAyMDAuMGY7IH0KIAoraW5saW5lIGludCBjbGFtcFRvSW50
ZWdlcihkb3VibGUgZCkKK3sKKyAgICBjb25zdCBkb3VibGUgbWluSW50QXNEb3VibGUgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPGludD46Om1pbigpOworICAgIGNvbnN0IGRvdWJsZSBtYXhJbnRBc0Rv
dWJsZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGludD4oc3RkOjptYXgoc3RkOjptaW4oZCwgbWF4SW50QXNEb3VibGUpLCBtaW5JbnRB
c0RvdWJsZSkpOworfQorCitpbmxpbmUgaW50IGNsYW1wVG9Qb3NpdGl2ZUludGVnZXIoZG91Ymxl
IGQpCit7CisgICAgY29uc3QgZG91YmxlIG1heEludEFzRG91YmxlID0gc3RkOjpudW1lcmljX2xp
bWl0czxpbnQ+OjptYXgoKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihzdGQ6Om1heDxk
b3VibGU+KHN0ZDo6bWluKGQsIG1heEludEFzRG91YmxlKSwgMCkpOworfQorCitpbmxpbmUgaW50
IGNsYW1wVG9JbnRlZ2VyKGZsb2F0IGQpCit7CisgICAgY29uc3QgZmxvYXQgbWluSW50QXNGbG9h
dCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CisgICAgY29uc3QgZmxvYXQgbWF4
SW50QXNGbG9hdCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGludD4oc3RkOjptYXgoc3RkOjptaW4oZCwgbWF4SW50QXNGbG9hdCksIG1p
bkludEFzRmxvYXQpKTsKK30KKworaW5saW5lIGludCBjbGFtcFRvUG9zaXRpdmVJbnRlZ2VyKGZs
b2F0IGQpCit7CisgICAgY29uc3QgZmxvYXQgbWF4SW50QXNGbG9hdCA9IHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50Pjo6bWF4KCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oc3RkOjptYXg8
ZmxvYXQ+KHN0ZDo6bWluKGQsIG1heEludEFzRmxvYXQpLCAwKSk7Cit9CisKICNpZiAhQ09NUElM
RVIoTVNWQykgJiYgIUNPTVBJTEVSKFdJTlNDVykgJiYgIShDT01QSUxFUihSVkNUKSAmJiAoT1Mo
U1lNQklBTikgfHwgUExBVEZPUk0oQlJFV01QKSkpCiB1c2luZyBzdGQ6OmlzZmluaXRlOwogdXNp
bmcgc3RkOjppc2luZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzkzMDAxMzEzOGVmMjE2ZWU1YTljZDFhMWFh
NGYxM2E0OWY3OGE1Li5kMGFmZDI1MThiOWYzZGZiNWY3NjQ4YjgxMGMyOTYxODc1YmFkZmFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDEtMjEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgY2xhbXBUb0ludCgpIG1ldGhvZHMgdG8gTWF0aEV4
dHJhcy5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjkxMAorCisgICAgICAgIFVzZSBjbGFtcFRvSW50ZWdlcigpIGZyb20gTWF0aEV4dHJhcy5oCisK
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VDb3VudGVyKToKKwogMjAxMS0wMS0yMSAgQW50b24gTXVoaW4gIDxhbnRvbm1AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAppbmRleCBhNGRlZDY1NzI0MWQ4ZmZhNWY0MTk5YWU2ZDFiZGM4YmYxNDcz
YzllLi43MmEzMjZlZTUzMmQ1NDllZWYwMDM4YTc4YjA0N2M0YmY4NGJhNzdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcApAQCAtMTI1LDEzICsxMjUsNiBAQCBzdGF0aWMgYm9vbCBoYXNQcmVm
aXgoY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IGNoYXIqIHByZWZp
eCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbnQgY2xhbXBUb1NpZ25lZEludGVn
ZXIoZG91YmxlIGQpCi17Ci0gICAgY29uc3QgZG91YmxlIG1pbkludEFzRG91YmxlID0gc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKLSAgICBjb25zdCBkb3VibGUgbWF4SW50QXNEb3Vi
bGUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQ+KG1heChtaW5JbnRBc0RvdWJsZSwgbWluKGQsIG1heEludEFzRG91YmxlKSkpOwot
fQotCiBDU1NQYXJzZXI6OkNTU1BhcnNlcihib29sIHN0cmljdFBhcnNpbmcpCiAgICAgOiBtX3N0
cmljdChzdHJpY3RQYXJzaW5nKQogICAgICwgbV9pbXBvcnRhbnQoZmFsc2UpCkBAIC00NjI5LDcg
KzQ2MjIsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb3VudGVyKGludCBwcm9wSWQsIGludCBk
ZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgY2FzZSBWQUw6IHsKICAg
ICAgICAgICAgICAgICBpbnQgaSA9IGRlZmF1bHRWYWx1ZTsKICAgICAgICAgICAgICAgICBpZiAo
dmFsICYmIHZhbC0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikgewotICAg
ICAgICAgICAgICAgICAgICBpID0gY2xhbXBUb1NpZ25lZEludGVnZXIodmFsLT5mVmFsdWUpOwor
ICAgICAgICAgICAgICAgICAgICBpID0gY2xhbXBUb0ludGVnZXIodmFsLT5mVmFsdWUpOwogICAg
ICAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICAgICAgICAgIH0K
IAo=
</data>
<flag name="review"
          id="71206"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>80531</attachid>
            <date>2011-01-28 17:49:09 -0800</date>
            <delta_ts>2011-01-28 17:49:09 -0800</delta_ts>
            <desc>Need this change too.</desc>
            <filename>vsprops.diff</filename>
            <type>text/plain</type>
            <size>673</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9JbWFnZURpZmZDb21tb24udnNw
cm9wcyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9JbWFnZURpZmZDb21tb24udnNwcm9wcwpp
bmRleCAxMTU2YTcyLi41ZDQxYmY0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vSW1hZ2VEaWZmQ29tbW9uLnZzcHJvcHMKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0ltYWdlRGlmZkNvbW1vbi52c3Byb3BzCkBAIC03LDYgKzcsNyBAQAogCTxUb29sCiAJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCiAJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9u
QnVpbGREaXIpXGluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7IgorCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0i
Tk9NSU5NQVgiCiAJLz4KIAk8VG9vbAogCQlOYW1lPSJWQ0xpbmtlclRvb2wiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>