<?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>45934</bug_id>
          
          <creation_ts>2010-09-16 16:31:54 -0700</creation_ts>
          <short_desc>Cleanup: Extract common border radii expansion code in RenderBoxModelObject::paintBoxShadow() into function</short_desc>
          <delta_ts>2010-09-20 21:28:06 -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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>bdakin</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280443</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-16 16:31:54 -0700</bug_when>
    <thetext>There are three places in RenderBoxModelObject::paintBoxShadow() that use almost verbatim code to expand the border radii rects and clamp their dimensions to non-negative values.

http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderBoxModelObject.cpp?rev=66170#L1641
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderBoxModelObject.cpp?rev=66170#L1660
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderBoxModelObject.cpp?rev=66170#L1737

We should extract the common code into a function, say uniformlyExpandBorderRadii, to remove duplication and shorten the function body of RenderBoxModelObject::paintBoxShadow(), which is long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280445</commentid>
    <comment_count>1</comment_count>
      <attachid>67860</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-16 16:42:07 -0700</bug_when>
    <thetext>Created attachment 67860
Patch

I was not sure what to call the function or how best to incorporate the knowledge that we also clamp the rects to non-negative dimensions. Some name ideas were uniformlyExpandAndClampToNonNegativeDimensionsBorderRadii, uniformlyExpandAndClampNegativeToZeroBorderRadii, and uniformlyExpandBorderRadiiAndClampToNonNegativeDimensions. I felt these were a bit verbose and didn&apos;t read well so I went with uniformlyExpandBorderRadii. I am open to suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282081</commentid>
    <comment_count>2</comment_count>
      <attachid>67860</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-20 21:27:54 -0700</bug_when>
    <thetext>Comment on attachment 67860
Patch

Clearing flags on attachment: 67860

Committed r67921: &lt;http://trac.webkit.org/changeset/67921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282082</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-20 21:28:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67860</attachid>
            <date>2010-09-16 16:42:07 -0700</date>
            <delta_ts>2010-09-20 21:27:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug45934.patch</filename>
            <type>text/plain</type>
            <size>5077</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzY3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDktMTYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsZWFu
dXA6IEV4dHJhY3QgY29tbW9uIGJvcmRlciByYWRpaSBleHBhbnNpb24gY29kZSBpbgorICAgICAg
ICBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRCb3hTaGFkb3coKSBpbnRvIGZ1bmN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTkzNAorCisg
ICAgICAgIEV4dHJhY3RlZCBjb2RlIGZvciBleHBhbmRpbmcgYW5kIGNsYW1waW5nIHRoZSBib3Jk
ZXIgcmFkaWkKKyAgICAgICAgaW50byBjb21tb24gZnVuY3Rpb24gdG8gcmVtb3ZlIGR1cGxpY2F0
ZSBjb2RlLgorCisgICAgICAgIE5vIGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dW5pZm9ybWx5RXhwYW5kQm9yZGVyUmFkaWkpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEJveFNoYWRvdyk6
IE1vdmVkIGNvbW1vbiBjb2RlIHRvIHVuaWZvcm1seUV4cGFuZEJvcmRlclJhZGlpKCkuCisKIDIw
MTAtMDktMTYgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBcml5YSBIaWRheWF0LgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gNjc2NzYpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NTQs
NiArMTU1NCwxOCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpjbGlwQm9yZGVyU2lkCiAg
ICAgZ3JhcGhpY3NDb250ZXh0LT5jbGlwQ29udmV4UG9seWdvbig0LCBzZWNvbmRRdWFkLCAhc2Vj
b25kRWRnZU1hdGNoZXMpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdW5pZm9ybWx5RXhwYW5k
Qm9yZGVyUmFkaWkoaW50IGRlbHRhLCBJbnRTaXplJiB0b3BMZWZ0LCBJbnRTaXplJiB0b3BSaWdo
dCwgSW50U2l6ZSYgYm90dG9tTGVmdCwgSW50U2l6ZSYgYm90dG9tUmlnaHQpCit7CisgICAgdG9w
TGVmdC5leHBhbmQoZGVsdGEsIGRlbHRhKTsKKyAgICB0b3BMZWZ0LmNsYW1wTmVnYXRpdmVUb1pl
cm8oKTsKKyAgICB0b3BSaWdodC5leHBhbmQoZGVsdGEsIGRlbHRhKTsKKyAgICB0b3BSaWdodC5j
bGFtcE5lZ2F0aXZlVG9aZXJvKCk7CisgICAgYm90dG9tTGVmdC5leHBhbmQoZGVsdGEsIGRlbHRh
KTsKKyAgICBib3R0b21MZWZ0LmNsYW1wTmVnYXRpdmVUb1plcm8oKTsKKyAgICBib3R0b21SaWdo
dC5leHBhbmQoZGVsdGEsIGRlbHRhKTsKKyAgICBib3R0b21SaWdodC5jbGFtcE5lZ2F0aXZlVG9a
ZXJvKCk7Cit9CisKIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Qm94U2hhZG93KEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgaW50IHR4LCBpbnQgdHksIGludCB3LCBpbnQgaCwgY29u
c3QgUmVuZGVyU3R5bGUqIHMsIFNoYWRvd1N0eWxlIHNoYWRvd1N0eWxlLCBib29sIGJlZ2luLCBi
b29sIGVuZCkKIHsKICAgICAvLyBGSVhNRTogRGVhbCB3aXRoIGJvcmRlci1pbWFnZS4gIFdvdWxk
IGJlIGdyZWF0IHRvIHVzZSBib3JkZXItaW1hZ2UgYXMgYSBtYXNrLgpAQCAtMTYzNywzNyArMTY0
OSwxNSBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEJveFNoYWRvCiAgICAgICAg
ICAgICAgICAgSW50U2l6ZSBib3R0b21MZWZ0VG9DbGlwT3V0ID0gYm90dG9tTGVmdDsKICAgICAg
ICAgICAgICAgICBJbnRTaXplIGJvdHRvbVJpZ2h0VG9DbGlwT3V0ID0gYm90dG9tUmlnaHQ7CiAK
LSAgICAgICAgICAgICAgICBpZiAoc2hhZG93U3ByZWFkIDwgMCkgewotICAgICAgICAgICAgICAg
ICAgICB0b3BMZWZ0LmV4cGFuZChzaGFkb3dTcHJlYWQsIHNoYWRvd1NwcmVhZCk7Ci0gICAgICAg
ICAgICAgICAgICAgIHRvcExlZnQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOwotCi0gICAgICAgICAg
ICAgICAgICAgIHRvcFJpZ2h0LmV4cGFuZChzaGFkb3dTcHJlYWQsIHNoYWRvd1NwcmVhZCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHRvcFJpZ2h0LmNsYW1wTmVnYXRpdmVUb1plcm8oKTsKLQotICAg
ICAgICAgICAgICAgICAgICBib3R0b21MZWZ0LmV4cGFuZChzaGFkb3dTcHJlYWQsIHNoYWRvd1Nw
cmVhZCk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdHRvbUxlZnQuY2xhbXBOZWdhdGl2ZVRvWmVy
bygpOwotCi0gICAgICAgICAgICAgICAgICAgIGJvdHRvbVJpZ2h0LmV4cGFuZChzaGFkb3dTcHJl
YWQsIHNoYWRvd1NwcmVhZCk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdHRvbVJpZ2h0LmNsYW1w
TmVnYXRpdmVUb1plcm8oKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYg
KHNoYWRvd1NwcmVhZCA8IDApCisgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1seUV4cGFuZEJv
cmRlclJhZGlpKHNoYWRvd1NwcmVhZCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJv
dHRvbVJpZ2h0KTsKIAogICAgICAgICAgICAgICAgIC8vIElmIHRoZSBib3ggaXMgb3BhcXVlLCBp
dCBpcyB1bm5lY2Vzc2FyeSB0byBjbGlwIGl0IG91dC4gSG93ZXZlciwgZG9pbmcgc28gc2F2ZXMg
dGltZQogICAgICAgICAgICAgICAgIC8vIHdoZW4gcGFpbnRpbmcgdGhlIHNoYWRvdy4gT24gdGhl
IG90aGVyIGhhbmQsIGl0IGludHJvZHVjZXMgc3VicGl4ZWwgZ2FwcyBhbG9uZyB0aGUKICAgICAg
ICAgICAgICAgICAvLyBjb3JuZXJzLiBUaG9zZSBhcmUgYXZvaWRlZCBieSBpbnNldHRpbmcgdGhl
IGNsaXBwaW5nIHBhdGggYnkgb25lIHBpeGVsLgogICAgICAgICAgICAgICAgIGlmIChoYXNPcGFx
dWVCYWNrZ3JvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgIHJlY3RUb0NsaXBPdXQuaW5mbGF0
ZSgtMSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgdG9wTGVmdFRvQ2xpcE91dC5leHBhbmQoLTEs
IC0xKTsKLSAgICAgICAgICAgICAgICAgICAgdG9wTGVmdFRvQ2xpcE91dC5jbGFtcE5lZ2F0aXZl
VG9aZXJvKCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgdG9wUmlnaHRUb0NsaXBPdXQuZXhwYW5k
KC0xLCAtMSk7Ci0gICAgICAgICAgICAgICAgICAgIHRvcFJpZ2h0VG9DbGlwT3V0LmNsYW1wTmVn
YXRpdmVUb1plcm8oKTsKLQotICAgICAgICAgICAgICAgICAgICBib3R0b21MZWZ0VG9DbGlwT3V0
LmV4cGFuZCgtMSwgLTEpOwotICAgICAgICAgICAgICAgICAgICBib3R0b21MZWZ0VG9DbGlwT3V0
LmNsYW1wTmVnYXRpdmVUb1plcm8oKTsKLQotICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdo
dFRvQ2xpcE91dC5leHBhbmQoLTEsIC0xKTsKLSAgICAgICAgICAgICAgICAgICAgYm90dG9tUmln
aHRUb0NsaXBPdXQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOworICAgICAgICAgICAgICAgICAgICB1
bmlmb3JtbHlFeHBhbmRCb3JkZXJSYWRpaSgtMSwgdG9wTGVmdFRvQ2xpcE91dCwgdG9wUmlnaHRU
b0NsaXBPdXQsIGJvdHRvbUxlZnRUb0NsaXBPdXQsIGJvdHRvbVJpZ2h0VG9DbGlwT3V0KTsKICAg
ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoIXJlY3RUb0NsaXBPdXQuaXNF
bXB0eSgpKQpAQCAtMTczMywxOSArMTcyMyw4IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6
OnBhaW50Qm94U2hhZG8KICAgICAgICAgICAgIGNvbnRleHQtPmFkZFBhdGgoUGF0aDo6Y3JlYXRl
UmVjdGFuZ2xlKG91dGVyUmVjdCkpOwogCiAgICAgICAgICAgICBpZiAoaGFzQm9yZGVyUmFkaXVz
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNoYWRvd1NwcmVhZCA+IDApIHsKLSAgICAgICAgICAg
ICAgICAgICAgdG9wTGVmdC5leHBhbmQoLXNoYWRvd1NwcmVhZCwgLXNoYWRvd1NwcmVhZCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHRvcExlZnQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOwotCi0gICAg
ICAgICAgICAgICAgICAgIHRvcFJpZ2h0LmV4cGFuZCgtc2hhZG93U3ByZWFkLCAtc2hhZG93U3By
ZWFkKTsKLSAgICAgICAgICAgICAgICAgICAgdG9wUmlnaHQuY2xhbXBOZWdhdGl2ZVRvWmVybygp
OwotCi0gICAgICAgICAgICAgICAgICAgIGJvdHRvbUxlZnQuZXhwYW5kKC1zaGFkb3dTcHJlYWQs
IC1zaGFkb3dTcHJlYWQpOwotICAgICAgICAgICAgICAgICAgICBib3R0b21MZWZ0LmNsYW1wTmVn
YXRpdmVUb1plcm8oKTsKLQotICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdodC5leHBhbmQo
LXNoYWRvd1NwcmVhZCwgLXNoYWRvd1NwcmVhZCk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdHRv
bVJpZ2h0LmNsYW1wTmVnYXRpdmVUb1plcm8oKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgaWYgKHNoYWRvd1NwcmVhZCA+IDApCisgICAgICAgICAgICAgICAgICAgIHVuaWZv
cm1seUV4cGFuZEJvcmRlclJhZGlpKC1zaGFkb3dTcHJlYWQsIHRvcExlZnQsIHRvcFJpZ2h0LCBi
b3R0b21MZWZ0LCBib3R0b21SaWdodCk7CiAgICAgICAgICAgICAgICAgY29udGV4dC0+YWRkUGF0
aChQYXRoOjpjcmVhdGVSb3VuZGVkUmVjdGFuZ2xlKGhvbGVSZWN0LCB0b3BMZWZ0LCB0b3BSaWdo
dCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgICAgIGNvbnRleHQtPmFkZFBhdGgoUGF0aDo6Y3JlYXRlUmVjdGFuZ2xlKGhvbGVSZWN0
KSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>