<?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>26059</bug_id>
          
          <creation_ts>2009-05-28 04:49:34 -0700</creation_ts>
          <short_desc>[SKIA] Crash in radial gradients with a radius of zero.</short_desc>
          <delta_ts>2009-06-10 17:24:37 -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>DOM</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="Dean McNamee">deanm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>skylined</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>123394</commentid>
    <comment_count>0</comment_count>
    <who name="Dean McNamee">deanm</who>
    <bug_when>2009-05-28 04:49:34 -0700</bug_when>
    <thetext>This is a Skia-specific bug, originally from the Chromium bug tracker:

http://code.google.com/p/chromium/issues/detail?id=10731&amp;can=3&amp;colspec=ID%20Stars%20Pri%20Area%20Type%20Status%20Summary%20Modified%20Owner%20Mstone

The problem is that if we ask Skia to create a radial gradient with a radius of zero, it will fail and return NULL.  I don&apos;t see a way to return a failure from this code, so I will just map zero to the smallest possible radius.

Patch and layout test coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123397</commentid>
    <comment_count>1</comment_count>
      <attachid>30734</attachid>
    <who name="Dean McNamee">deanm</who>
    <bug_when>2009-05-28 05:07:00 -0700</bug_when>
    <thetext>Created attachment 30734
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123566</commentid>
    <comment_count>2</comment_count>
      <attachid>30734</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-29 11:04:07 -0700</bug_when>
    <thetext>Comment on attachment 30734
patch

Why don&apos;t we just null-check m_gradiant in other places?  That would avoid this whole class of crashers, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123965</commentid>
    <comment_count>3</comment_count>
    <who name="Dean McNamee">deanm</who>
    <bug_when>2009-06-02 02:27:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 30734 [review])
&gt; Why don&apos;t we just null-check m_gradiant in other places?  That would avoid this
&gt; whole class of crashers, no?

What&apos;s the whole class of crashers?  The problem I see is that other ports don&apos;t expect this to ever fail.  See Gradient::platformGradient in the CG port or in the Cairo port.  The thing that seemed smartest to me was the match the other ports, and have this never fail.

What were you proposing?

&gt; </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124038</commentid>
    <comment_count>4</comment_count>
      <attachid>30734</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-02 13:18:30 -0700</bug_when>
    <thetext>Comment on attachment 30734
patch

We should probably ASSERT(m_gradient) after this block then.  If m_gradient should never fail to create.

Someone can add an ASSERT when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125170</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 10:57:43 -0700</bug_when>
    <thetext>Added ASSERT(m_gradient).  Corrected tab characters in LayoutTests/ChangeLog.

Landed in @r44574.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125231</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 16:23:21 -0700</bug_when>
    <thetext>Landed expected results in @r44595.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125251</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 17:24:37 -0700</bug_when>
    <thetext>Landed proper pixel-level expected results in @r44596.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30734</attachid>
            <date>2009-05-28 05:07:00 -0700</date>
            <delta_ts>2009-06-02 13:18:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>3574</size>
            <attacher name="Dean McNamee">deanm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZmE4ZWE1Li45Y2IyMTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDUt
MjggIERlYW4gTWNOYW1lZSAgPGRlYW5tQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSB0
ZXN0IGNhc2UgZm9yIGEgcmFkaWFsIGdyYWRpZW50IHdpdGggYSB6ZXJvIHJhZGl1cy4KKwkJCQlo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYwNTkKKworICAgICAgICAq
IGZhc3QvZ3JhZGllbnRzL2NyYXNoLW9uLXplcm8tcmFkaXVzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZ3JhZGllbnRzL3NpbXBsZS1ncmFkaWVudHMuaHRtbDogRml4IGFuIGV4dHJhbmVv
dXMgfSBpbiB0aGUgY3NzLgorCiAyMDA5LTA1LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2dyYWRpZW50cy9jcmFzaC1vbi16ZXJvLXJhZGl1cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ncmFkaWVudHMvY3Jhc2gtb24temVyby1yYWRpdXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjIxZWFlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ncmFkaWVudHMvY3Jhc2gtb24temVyby1yYWRpdXMuaHRtbApAQCAt
MCwwICsxLDEwIEBACis8aGVhZD4KKzxzdHlsZT4KKy5yYWRpYWwgeyB3aWR0aDoxNTBweDsgaGVp
Z2h0OjE1MHB4OyBib3JkZXI6MnB4IHNvbGlkIGJsYWNrOworICAgICAgICAgICBiYWNrZ3JvdW5k
OiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgNDUgNDUsIDAsIDUyIDUwLCAwLCBmcm9tKCNBN0Qz
MEMpLCB0byhyZ2JhKDEsMTU5LDk4LDApKSwgY29sb3Itc3RvcCg5MCUsICMwMTlGNjIpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIDQ1IDQ1LCAxMCwg
NTIgNTAsIDMwLCBmcm9tKCNBN0QzMEMpLCB0byhyZ2JhKDEsMTU5LDk4LDApKSwgY29sb3Itc3Rv
cCg5MCUsICMwMTlGNjIpKSB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8aDE+VHdvIGdy
YWRpZW50cywgb25lIHdpdGggemVybyByYWRpdXMgdGhhdCBzaG91bGQgbm90IGNyYXNoLjwvaDE+
Cis8ZGl2IGNsYXNzPSJyYWRpYWwiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ncmFkaWVudHMvc2ltcGxlLWdyYWRpZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ncmFk
aWVudHMvc2ltcGxlLWdyYWRpZW50cy5odG1sCmluZGV4IGVjYmY2NWEuLjI1NWUwZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZ3JhZGllbnRzL3NpbXBsZS1ncmFkaWVudHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2dyYWRpZW50cy9zaW1wbGUtZ3JhZGllbnRzLmh0bWwKQEAg
LTgsNyArOCw2IEBACiAubGluZWFyIHsgd2lkdGg6MTMwcHg7IGhlaWdodDoxMzBweDsgYm9yZGVy
OjJweCBzb2xpZCBibGFjazsgcGFkZGluZzogMTBweDsgCiAgICAgICAgICAgIGJhY2tncm91bmQ6
IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oIzAw
YWJlYiksIHRvKCNmZmYpLCBjb2xvci1zdG9wKDAuNSwgI2ZmZiksIGNvbG9yLXN0b3AoMC41LCAj
NjZjYzAwKSk7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmct
Ym94OyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7IH0KLX0KIDwvc3R5bGU+
CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOWJkNjJmZi4uNDRiMzE2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0w
NS0yOCAgRGVhbiBNY05hbWVlICA8ZGVhbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBh
IGNyYXNoIGZvciByYWRpYWwgZ3JhZGllbnRzIHdpdGggYSB6ZXJvIHJhZGl1cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MDU5CisKKyAgICAgICAg
VGVzdDogZmFzdC9ncmFkaWVudHMvY3Jhc2gtb24temVyby1yYWRpdXMuaHRtbAorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFkaWVudFNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhZGllbnQ6OnBsYXRmb3JtR3JhZGllbnQpOgorCiAyMDA5LTA1LTI4ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhZGllbnRT
a2lhLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFkaWVudFNraWEuY3Bw
CmluZGV4IDJkMjAwMGMuLjViZjAwNjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9HcmFkaWVudFNraWEuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9HcmFkaWVudFNraWEuY3BwCkBAIC0xNTYsOSArMTU2LDEzIEBAIFNrU2hhZGVyKiBH
cmFkaWVudDo6cGxhdGZvcm1HcmFkaWVudCgpCiAgICAgICAgIC8vIGNpcmNsZSIgKG1fcDEvbV9y
MSkuCiAgICAgICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9ibG9nLzE3NS9pbnRyb2R1Y2lu
Zy1jc3MtZ3JhZGllbnRzLyBmb3IgYQogICAgICAgICAvLyBkZXNjcmlwdGlvbiBvZiB0aGUgZXhw
ZWN0ZWQgYmVoYXZpb3IuCisgICAgICAgIAorICAgICAgICAvLyBUaGUgcmFkaXVzIHdlIGdpdmUg
dG8gU2tpYSBtdXN0IGJlIHBvc2l0aXZlIChhbmQgbm9uLXplcm8pLiAgSWYKKyAgICAgICAgLy8g
d2UncmUgZ2l2ZW4gYSB6ZXJvIHJhZGl1cywganVzdCBhc2sgZm9yIGEgdmVyeSBzbWFsbCByYWRp
dXMgc28KKyAgICAgICAgLy8gU2tpYSB3aWxsIHN0aWxsIHJldHVybiBhbiBvYmplY3QuCisgICAg
ICAgIFNrU2NhbGFyIHJhZGl1cyA9IG1fcjEgPiAwID8gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhciht
X3IxKSA6IFNLX1NjYWxhck1pbjsKICAgICAgICAgbV9ncmFkaWVudCA9IFNrR3JhZGllbnRTaGFk
ZXI6OkNyZWF0ZVJhZGlhbChtX3AxLAotICAgICAgICAgICAgV2ViQ29yZUZsb2F0VG9Ta1NjYWxh
cihtX3IxKSwgY29sb3JzLCBwb3MsCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNvdW50
VXNlZCksIHRpbGUpOworICAgICAgICAgICAgcmFkaXVzLCBjb2xvcnMsIHBvcywgc3RhdGljX2Nh
c3Q8aW50Pihjb3VudFVzZWQpLCB0aWxlKTsKICAgICB9IGVsc2UgewogICAgICAgICBTa1BvaW50
IHB0c1syXSA9IHsgbV9wMCwgbV9wMSB9OwogICAgICAgICBtX2dyYWRpZW50ID0gU2tHcmFkaWVu
dFNoYWRlcjo6Q3JlYXRlTGluZWFyKHB0cywgY29sb3JzLCBwb3MsCg==
</data>
<flag name="review"
          id="15583"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>