<?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>20343</bug_id>
          
          <creation_ts>2008-08-10 23:08:44 -0700</creation_ts>
          <short_desc>[CAIRO] half functionality of border-radius</short_desc>
          <delta_ts>2008-09-01 05:45:57 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.the-art-of-web.com/css/border-radius/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Cairo</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>88197</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-08-10 23:08:44 -0700</bug_when>
    <thetext>border-radius doesn&apos;t support different values for with-radius and height-radius (ellipse) and dotted or dashed borders with border-radius look strange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88198</commentid>
    <comment_count>1</comment_count>
      <attachid>22724</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-08-10 23:12:10 -0700</bug_when>
    <thetext>Created attachment 22724
Fixes border-radius

This is nearly a copy of the Mac-part with adaptions to cairo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89096</commentid>
    <comment_count>2</comment_count>
      <attachid>22724</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-22 02:27:49 -0700</bug_when>
    <thetext>Comment on attachment 22724
Fixes border-radius

I&apos;m not sure I 100% understand the code, but it looks sane enough.

falen really could have a better variable name.  &quot;fa&quot; too.

It seems sad there is not a slicker way to handle this:
+    if (w != h)
+        cairo_scale(cr, 1., scaleFactor);
+    
+    cairo_arc_negative(cr, x + hRadius, (y + vRadius) * reverseScaleFactor, hRadius, -fa * M_PI/180, -falen * M_PI/180);
+
+    if (w != h)
+        cairo_scale(cr, 1., reverseScaleFactor);
+

w/o setting and un-setting the scale factor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89859</commentid>
    <comment_count>3</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-09-01 05:45:57 -0700</bug_when>
    <thetext>landed in r36011</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22724</attachid>
            <date>2008-08-10 23:12:10 -0700</date>
            <delta_ts>2008-08-22 02:27:49 -0700</delta_ts>
            <desc>Fixes border-radius</desc>
            <filename>Cairo-border-radius.patch</filename>
            <type>text/plain</type>
            <size>3899</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTY2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxLDEwIEBACisyMDA4LTA4LTEwICBEaXJrIFNjaHVsemUgIDx2YnM4NUBnbXguZGU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgYm9y
ZGVyLXJhZGl1cyBmb3IgQ2Fpcm8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OnN0cm9rZUFyYyk6CisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDA4LTA4
LTEwID09CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAkocmV2aXNpb24gMzU2NTIpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjkwLDMyICsyOTAsODggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdF
bGxpcHNlKGNvbnN0IAogICAgIGNhaXJvX25ld19wYXRoKGNyKTsKIH0KIAotLy8gRklYTUU6IFRo
aXMgZnVuY3Rpb24gbmVlZHMgdG8gYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIGZ1bmN0aW9uYWxp
dHkgb24gdGhlIE1hYyBzaWRlLgogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZUFyYyhjb25z
dCBJbnRSZWN0JiByZWN0LCBpbnQgc3RhcnRBbmdsZSwgaW50IGFuZ2xlU3BhbikKIHsKLSAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoc3Ryb2tl
U3R5bGUoKSA9PSBOb1N0cm9rZSkKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpIHx8IHN0cm9r
ZVN0eWxlKCkgPT0gTm9TdHJva2UpCiAgICAgICAgIHJldHVybjsKIAogICAgIGludCB4ID0gcmVj
dC54KCk7CiAgICAgaW50IHkgPSByZWN0LnkoKTsKICAgICBmbG9hdCB3ID0gcmVjdC53aWR0aCgp
OwotI2lmIDAgLy8gRklYTUU6IHVudXNlZCBzbyBmYXIKICAgICBmbG9hdCBoID0gcmVjdC5oZWln
aHQoKTsKICAgICBmbG9hdCBzY2FsZUZhY3RvciA9IGggLyB3OwogICAgIGZsb2F0IHJldmVyc2VT
Y2FsZUZhY3RvciA9IHcgLyBoOwotI2VuZGlmCi0gICAgZmxvYXQgciA9IHcgLyAyOworCisgICAg
ZmxvYXQgaFJhZGl1cyA9IHcgLyAyOworICAgIGZsb2F0IHZSYWRpdXMgPSBoIC8gMjsKICAgICBm
bG9hdCBmYSA9IHN0YXJ0QW5nbGU7CiAgICAgZmxvYXQgZmFsZW4gPSAgZmEgKyBhbmdsZVNwYW47
CiAKICAgICBjYWlyb190KiBjciA9IG1fZGF0YS0+Y3I7CiAgICAgY2Fpcm9fc2F2ZShjcik7Ci0g
ICAgY2Fpcm9fYXJjX25lZ2F0aXZlKGNyLCB4ICsgciwgeSArIHIsIHIsIC1mYSAqIE1fUEkvMTgw
LCAtZmFsZW4gKiBNX1BJLzE4MCk7CisKKyAgICBpZiAodyAhPSBoKQorICAgICAgICBjYWlyb19z
Y2FsZShjciwgMS4sIHNjYWxlRmFjdG9yKTsKKyAgICAKKyAgICBjYWlyb19hcmNfbmVnYXRpdmUo
Y3IsIHggKyBoUmFkaXVzLCAoeSArIHZSYWRpdXMpICogcmV2ZXJzZVNjYWxlRmFjdG9yLCBoUmFk
aXVzLCAtZmEgKiBNX1BJLzE4MCwgLWZhbGVuICogTV9QSS8xODApOworCisgICAgaWYgKHcgIT0g
aCkKKyAgICAgICAgY2Fpcm9fc2NhbGUoY3IsIDEuLCByZXZlcnNlU2NhbGVGYWN0b3IpOworCisg
ICAgZmxvYXQgd2lkdGggPSBzdHJva2VUaGlja25lc3MoKTsKKyAgICBpbnQgcGF0V2lkdGggPSAw
OworICAgIAorICAgIHN3aXRjaCAoc3Ryb2tlU3R5bGUoKSkgeworICAgICAgICBjYXNlIERvdHRl
ZFN0cm9rZToKKyAgICAgICAgICAgIHBhdFdpZHRoID0gc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCAv
IDIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRGFzaGVkU3Ryb2tlOgorICAg
ICAgICAgICAgcGF0V2lkdGggPSAzICogc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCAvIDIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAg
ICB9CisKICAgICBzZXRDb2xvcihjciwgc3Ryb2tlQ29sb3IoKSk7Ci0gICAgY2Fpcm9fc2V0X2xp
bmVfd2lkdGgoY3IsIHN0cm9rZVRoaWNrbmVzcygpKTsKKworICAgIGlmIChwYXRXaWR0aCkgewor
ICAgICAgICAvLyBFeGFtcGxlOiA4MCBwaXhlbHMgd2l0aCBhIHdpZHRoIG9mIDMwIHBpeGVscy4K
KyAgICAgICAgLy8gUmVtYWluZGVyIGlzIDIwLiAgVGhlIG1heGltdW0gcGl4ZWxzIG9mIGxpbmUg
d2UgY291bGQgcGFpbnQKKyAgICAgICAgLy8gd2lsbCBiZSA1MCBwaXhlbHMuCisgICAgICAgIGlu
dCBkaXN0YW5jZTsKKyAgICAgICAgaWYgKGhSYWRpdXMgPT0gdlJhZGl1cykKKyAgICAgICAgICAg
IGRpc3RhbmNlID0gc3RhdGljX2Nhc3Q8aW50PigoTV9QSSAqIGhSYWRpdXMpIC8gMi4wKTsKKyAg
ICAgICAgZWxzZSAvLyBXZSBhcmUgZWxsaXB0aWNhbCBhbmQgd2lsbCBoYXZlIHRvIGVzdGltYXRl
IHRoZSBkaXN0YW5jZQorICAgICAgICAgICAgZGlzdGFuY2UgPSBzdGF0aWNfY2FzdDxpbnQ+KChN
X1BJICogc3FydGYoKGhSYWRpdXMgKiBoUmFkaXVzICsgdlJhZGl1cyAqIHZSYWRpdXMpIC8gMi4w
KSkgLyAyLjApOworICAgICAgICAKKyAgICAgICAgaW50IHJlbWFpbmRlciA9IGRpc3RhbmNlICUg
cGF0V2lkdGg7CisgICAgICAgIGludCBjb3ZlcmFnZSA9IGRpc3RhbmNlIC0gcmVtYWluZGVyOwor
ICAgICAgICBpbnQgbnVtU2VnbWVudHMgPSBjb3ZlcmFnZSAvIHBhdFdpZHRoOworCisgICAgICAg
IGZsb2F0IHBhdHRlcm5PZmZzZXQgPSAwLjA7CisgICAgICAgIC8vIFNwZWNpYWwgY2FzZSAxcHgg
ZG90dGVkIGJvcmRlcnMgZm9yIHNwZWVkLgorICAgICAgICBpZiAocGF0V2lkdGggPT0gMSkKKyAg
ICAgICAgICAgIHBhdHRlcm5PZmZzZXQgPSAxLjA7CisgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgYm9vbCBldmVuTnVtYmVyT2ZTZWdtZW50cyA9IG51bVNlZ21lbnRzICUgMiA9PSAwOworICAg
ICAgICAgICAgaWYgKHJlbWFpbmRlcikKKyAgICAgICAgICAgICAgICBldmVuTnVtYmVyT2ZTZWdt
ZW50cyA9ICFldmVuTnVtYmVyT2ZTZWdtZW50czsKKyAgICAgICAgICAgIGlmIChldmVuTnVtYmVy
T2ZTZWdtZW50cykgeworICAgICAgICAgICAgICAgIGlmIChyZW1haW5kZXIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgcGF0dGVybk9mZnNldCArPSBwYXRXaWR0aCAtIHJlbWFpbmRlcjsKKyAgICAg
ICAgICAgICAgICAgICAgcGF0dGVybk9mZnNldCArPSByZW1haW5kZXIgLyAyLjA7CisgICAgICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5PZmZzZXQgPSBwYXRX
aWR0aCAvIDIuMDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHJl
bWFpbmRlcikKKyAgICAgICAgICAgICAgICAgICAgcGF0dGVybk9mZnNldCA9IChwYXRXaWR0aCAt
IHJlbWFpbmRlcikgLyAyLjA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBk
b3VibGUgZGFzaCA9IHBhdFdpZHRoOworICAgICAgICBjYWlyb19zZXRfZGFzaChjciwgJmRhc2gs
IDEsIHBhdHRlcm5PZmZzZXQpOworICAgIH0KKwogICAgIGNhaXJvX3N0cm9rZShjcik7CiAgICAg
Y2Fpcm9fcmVzdG9yZShjcik7CiB9Cgo=
</data>
<flag name="review"
          id="10070"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>