<?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>85214</bug_id>
          
          <creation_ts>2012-04-30 11:16:03 -0700</creation_ts>
          <short_desc>Add absoluteValue method for LayoutUnits to allow overloading abs()</short_desc>
          <delta_ts>2012-05-02 12:24:08 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>darin</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>612778</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-30 11:16:03 -0700</bug_when>
    <thetext>Since we can&apos;t overload std::abs() directly, adding an inline absoluteValue method instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612785</commentid>
    <comment_count>1</comment_count>
      <attachid>139485</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-30 11:23:31 -0700</bug_when>
    <thetext>Created attachment 139485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612840</commentid>
    <comment_count>2</comment_count>
      <attachid>139485</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-30 12:03:35 -0700</bug_when>
    <thetext>Comment on attachment 139485
Patch

Darin Adler is a better reviewer for this than I am.  But this is OK for me.  I&apos;d like you to wait a few hours and see if you can get him to comment as well though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612841</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-30 12:04:07 -0700</bug_when>
    <thetext>The reason why I suggest Darin, is that he might have a clever suggestion for your std::abs() problem other than this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612845</commentid>
    <comment_count>4</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-30 12:05:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; The reason why I suggest Darin, is that he might have a clever suggestion for your std::abs() problem other than this one.

Deal! I&apos;ll wait till near EOD PST.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613054</commentid>
    <comment_count>5</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-30 16:37:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; The reason why I suggest Darin, is that he might have a clever suggestion for your std::abs() problem other than this one.
&gt; 
&gt; Deal! I&apos;ll wait till near EOD PST.

Unless there&apos;s argument, I&apos;ll move forward on landing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613077</commentid>
    <comment_count>6</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-30 17:05:43 -0700</bug_when>
    <thetext>Committed r115691: &lt;http://trac.webkit.org/changeset/115691&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613574</commentid>
    <comment_count>7</comment_count>
      <attachid>139485</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-05-01 11:56:10 -0700</bug_when>
    <thetext>Comment on attachment 139485
Patch

Clearing flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614520</commentid>
    <comment_count>8</comment_count>
      <attachid>139485</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-02 12:24:08 -0700</bug_when>
    <thetext>Comment on attachment 139485
Patch

Only thing I might have done differently would have been to overload it for int and FractionalLayoutUnit from the start rather than defining it as a function that takes LayoutUnit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139485</attachid>
            <date>2012-04-30 11:23:31 -0700</date>
            <delta_ts>2012-05-02 12:24:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85214-20120430112330.patch</filename>
            <type>text/plain</type>
            <size>5966</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTY1MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA0LTMwICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYWJzb2x1dGVWYWx1
ZSBtZXRob2QgZm9yIExheW91dFVuaXRzIHRvIGFsbG93IG92ZXJsb2FkaW5nIGFicygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTIxNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBhbiBhYnNv
bHV0ZVZhbHVlIGZyZWUgaW5saW5lIGZ1bmN0aW9uIHRoYXQgb3BlcmF0ZXMgb24gTGF5b3V0VW5p
dHMsIHdoaWNoCisgICAgICAgIGFsbG93cyB1cyB0byBoYXZlIG9uZSBmdW5jdGlvbiBzaWduYXR1
cmUgZm9yIGludHMgb3IgRnJhY3Rpb25hbExheW91dFVuaXRzLiBXZQorICAgICAgICBjYW4ndCBz
aW1wbHkgYWRkIGEgRnJhY3Rpb25hbExheW91dFVuaXQgZmxhdm9yIG9mIGFicyBiZWNhdXNlIGl0
IGNvbmZ1c2VzCisgICAgICAgIHNvbWUgY29tcGlsZXJzIGR1ZSB0byB0aGUgaW1wbGljaXQgRnJh
Y3Rpb25hbExheW91dFVuaXQgY29uc3RydWN0b3JzIHRoYXQgdGFrZQorICAgICAgICBpbnRzIGFu
ZCBmbG9hdHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmRpc3RhbmNlRGF0YUZvck5vZGUpOgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRUeXBl
cy5oOgorICAgICAgICAoV2ViQ29yZTo6YWJzb2x1dGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExp
bmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6cmFuZ2VJbnRlcnNlY3RzUmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKToKKwogMjAxMi0wNC0zMCAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
Rml4IHRlc3QgY3Jhc2hlcyBpbiBXaW4vTGludXggZGVidWcgYnVpbGRzLgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAJKHJldmlzaW9uIDExNTY0NykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02NDUsMTkgKzY0NSwxOSBAQCB2b2lkIGRpc3RhbmNlRGF0YUZvck5vZGUoRm9jdXNEaXJl
Y3Rpb24gCiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKICAgICBjYXNlIEZvY3VzRGlyZWN0aW9u
TGVmdDoKICAgICAgICAgc2FtZUF4aXNEaXN0YW5jZSA9IGV4aXRQb2ludC54KCkgLSBlbnRyeVBv
aW50LngoKTsKLSAgICAgICAgb3RoZXJBeGlzRGlzdGFuY2UgPSBhYnMoZXhpdFBvaW50LnkoKSAt
IGVudHJ5UG9pbnQueSgpKTsKKyAgICAgICAgb3RoZXJBeGlzRGlzdGFuY2UgPSBhYnNvbHV0ZVZh
bHVlKGV4aXRQb2ludC55KCkgLSBlbnRyeVBvaW50LnkoKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRm9jdXNEaXJlY3Rpb25VcDoKICAgICAgICAgc2FtZUF4aXNEaXN0YW5jZSA9IGV4aXRQ
b2ludC55KCkgLSBlbnRyeVBvaW50LnkoKTsKLSAgICAgICAgb3RoZXJBeGlzRGlzdGFuY2UgPSBh
YnMoZXhpdFBvaW50LngoKSAtIGVudHJ5UG9pbnQueCgpKTsKKyAgICAgICAgb3RoZXJBeGlzRGlz
dGFuY2UgPSBhYnNvbHV0ZVZhbHVlKGV4aXRQb2ludC54KCkgLSBlbnRyeVBvaW50LngoKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgRm9jdXNEaXJlY3Rpb25SaWdodDoKICAgICAgICAgc2Ft
ZUF4aXNEaXN0YW5jZSA9IGVudHJ5UG9pbnQueCgpIC0gZXhpdFBvaW50LngoKTsKLSAgICAgICAg
b3RoZXJBeGlzRGlzdGFuY2UgPSBhYnMoZW50cnlQb2ludC55KCkgLSBleGl0UG9pbnQueSgpKTsK
KyAgICAgICAgb3RoZXJBeGlzRGlzdGFuY2UgPSBhYnNvbHV0ZVZhbHVlKGVudHJ5UG9pbnQueSgp
IC0gZXhpdFBvaW50LnkoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRm9jdXNEaXJlY3Rp
b25Eb3duOgogICAgICAgICBzYW1lQXhpc0Rpc3RhbmNlID0gZW50cnlQb2ludC55KCkgLSBleGl0
UG9pbnQueSgpOwotICAgICAgICBvdGhlckF4aXNEaXN0YW5jZSA9IGFicyhlbnRyeVBvaW50Lngo
KSAtIGV4aXRQb2ludC54KCkpOworICAgICAgICBvdGhlckF4aXNEaXN0YW5jZSA9IGFic29sdXRl
VmFsdWUoZW50cnlQb2ludC54KCkgLSBleGl0UG9pbnQueCgpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAkocmV2aXNpb24gMTE1NjQ3KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2
ICsxNDMsMTEgQEAgaW5saW5lIExheW91dFVuaXQgY2VpbGVkTGF5b3V0VW5pdChmbG9hdAogICAg
IHJldHVybiBjZWlsZih2YWx1ZSk7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IGFic29sdXRlVmFs
dWUoY29uc3QgTGF5b3V0VW5pdCYgdmFsdWUpCit7CisgICAgcmV0dXJuIGFicyh2YWx1ZSk7Cit9
CisKIGlubGluZSBMYXlvdXRTaXplIHRvTGF5b3V0U2l6ZShjb25zdCBMYXlvdXRQb2ludCYgcCkK
IHsKICAgICByZXR1cm4gTGF5b3V0U2l6ZShwLngoKSwgcC55KCkpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlz
aW9uIDExNTY0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzU3LDcgKzE3NTcsNyBAQCBib29sIFJlbmRl
ckJsb2NrOjpjaGVja1BhZ2luYXRpb25BbmRGbG9hCiAgICAgd2hpbGUgKFJvb3RJbmxpbmVCb3gq
IG5leHRMaW5lID0gbGFzdExpbmUtPm5leHRSb290Qm94KCkpCiAgICAgICAgIGxhc3RMaW5lID0g
bmV4dExpbmU7CiAKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20gPSBsYXN0TGluZS0+bGlu
ZUJvdHRvbVdpdGhMZWFkaW5nKCkgKyBhYnMobGluZURlbHRhKTsKKyAgICBMYXlvdXRVbml0IGxv
Z2ljYWxCb3R0b20gPSBsYXN0TGluZS0+bGluZUJvdHRvbVdpdGhMZWFkaW5nKCkgKyBhYnNvbHV0
ZVZhbHVlKGxpbmVEZWx0YSk7CiAKICAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRp
bmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7CiAgICAgRmxvYXRpbmdPYmpl
Y3RTZXRJdGVyYXRvciBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkocmV2aXNpb24g
MTE1NjQ3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTU1LDcgKzE1NSw3IEBAIGJvb2wgUmVuZGVyTGluZUJveExp
c3Q6OnJhbmdlSW50ZXJzZWN0c1IKICAgICAgICAgYmxvY2sgPSByZW5kZXJlci0+Y29udGFpbmlu
Z0Jsb2NrKCk7CiAgICAgTGF5b3V0VW5pdCBwaHlzaWNhbFN0YXJ0ID0gYmxvY2stPmZsaXBGb3JX
cml0aW5nTW9kZShsb2dpY2FsVG9wKTsKICAgICBMYXlvdXRVbml0IHBoeXNpY2FsRW5kID0gYmxv
Y2stPmZsaXBGb3JXcml0aW5nTW9kZShsb2dpY2FsQm90dG9tKTsKLSAgICBMYXlvdXRVbml0IHBo
eXNpY2FsRXh0ZW50ID0gYWJzKHBoeXNpY2FsRW5kIC0gcGh5c2ljYWxTdGFydCk7CisgICAgTGF5
b3V0VW5pdCBwaHlzaWNhbEV4dGVudCA9IGFic29sdXRlVmFsdWUocGh5c2ljYWxFbmQgLSBwaHlz
aWNhbFN0YXJ0KTsKICAgICBwaHlzaWNhbFN0YXJ0ID0gbWluKHBoeXNpY2FsU3RhcnQsIHBoeXNp
Y2FsRW5kKTsKICAgICAKICAgICBpZiAocmVuZGVyZXItPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxMTU2NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyOSw3ICsxNDI5LDcgQEAgYm9vbCBS
ZW5kZXJPYmplY3Q6OnJlcGFpbnRBZnRlckxheW91dElmTgogICAgIC8vIHR3byByZWN0YW5nbGVz
IChidXQgdHlwaWNhbGx5IG9ubHkgb25lKS4KICAgICBSZW5kZXJTdHlsZSogb3V0bGluZVN0eWxl
ID0gb3V0bGluZVN0eWxlRm9yUmVwYWludCgpOwogICAgIExheW91dFVuaXQgb3cgPSBvdXRsaW5l
U3R5bGUtPm91dGxpbmVTaXplKCk7Ci0gICAgTGF5b3V0VW5pdCB3aWR0aCA9IGFicyhuZXdPdXRs
aW5lQm94LndpZHRoKCkgLSBvbGRPdXRsaW5lQm94LndpZHRoKCkpOworICAgIExheW91dFVuaXQg
d2lkdGggPSBhYnNvbHV0ZVZhbHVlKG5ld091dGxpbmVCb3gud2lkdGgoKSAtIG9sZE91dGxpbmVC
b3gud2lkdGgoKSk7CiAgICAgaWYgKHdpZHRoKSB7CiAgICAgICAgIExheW91dFVuaXQgc2hhZG93
TGVmdDsKICAgICAgICAgTGF5b3V0VW5pdCBzaGFkb3dSaWdodDsKQEAgLTE0NDgsNyArMTQ0OCw3
IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpyZXBhaW50QWZ0ZXJMYXlvdXRJZk4KICAgICAgICAgICAg
IHJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCByaWdodFJlY3QpOwogICAg
ICAgICB9CiAgICAgfQotICAgIExheW91dFVuaXQgaGVpZ2h0ID0gYWJzKG5ld091dGxpbmVCb3gu
aGVpZ2h0KCkgLSBvbGRPdXRsaW5lQm94LmhlaWdodCgpKTsKKyAgICBMYXlvdXRVbml0IGhlaWdo
dCA9IGFic29sdXRlVmFsdWUobmV3T3V0bGluZUJveC5oZWlnaHQoKSAtIG9sZE91dGxpbmVCb3gu
aGVpZ2h0KCkpOwogICAgIGlmIChoZWlnaHQpIHsKICAgICAgICAgTGF5b3V0VW5pdCBzaGFkb3dU
b3A7CiAgICAgICAgIExheW91dFVuaXQgc2hhZG93Qm90dG9tOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>