<?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>42211</bug_id>
          
          <creation_ts>2010-07-13 16:37:42 -0700</creation_ts>
          <short_desc>Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0</short_desc>
          <delta_ts>2010-07-13 17:45:43 -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>WebCore Misc.</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>HTML5</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>250812</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-13 16:37:42 -0700</bug_when>
    <thetext>Quoth HTML5:

The rect(x, y, w, h) method must create a new subpath containing just the four points (x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight lines, and must then mark the subpath as closed. It must then create a new subpath with the point (x, y) as the only point in the subpath.

This would fix one in-tree layout test:
- canvas/philip/tests/2d.path.rect.zero.4.html

Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-rect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250816</commentid>
    <comment_count>1</comment_count>
      <attachid>61433</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-13 16:40:45 -0700</bug_when>
    <thetext>Created attachment 61433
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250841</commentid>
    <comment_count>2</comment_count>
      <attachid>61433</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-13 17:18:57 -0700</bug_when>
    <thetext>Comment on attachment 61433
Proposed patch

Do we still need the validateRectForCanvas function? Can we refactor it so we can still use it?

&gt; +    if (!isfinite(x) | !isfinite(y) | !isfinite(width) | !isfinite(height))
&gt; +        return;

Why &quot;|&quot; instead of &quot;||&quot;?

&gt; +    if (width &lt; 0) {
&gt; +        width = -width;
&gt; +        x -= width;
&gt; +    }
&gt; +
&gt; +    if (height &lt; 0) {
&gt; +        height = -height;
&gt; +        y -= height;
&gt; +    }

It’s inelegant to modify the arguments like this.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250858</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-13 17:45:43 -0700</bug_when>
    <thetext>Committed r63270: &lt;http://trac.webkit.org/changeset/63270&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61433</attachid>
            <date>2010-07-13 16:40:45 -0700</date>
            <delta_ts>2010-07-13 17:25:11 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-42211.diff</filename>
            <type>text/plain</type>
            <size>3553</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmOWNhMmUwLi41ODBlNTY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0yNSw2ICsyNSwxOCBAQAogCiAyMDEw
LTA3LTEzICBBbmRyZWFzIEtsaW5nICA8YW5kcmVhcy5rbGluZ0Bub2tpYS5jb20+CiAKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FudmFzOiByZWN0KHgs
eSx3LGgpIHNob3VsZCBtb3ZlIHRvICh4LHkpIGV2ZW4gaWYgdz0wIGFuZCBoPTAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjExCisKKyAgICAgICAg
VW5za2lwIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lw
cGVkOgorCisyMDEwLTA3LTEzICBBbmRyZWFzIEtsaW5nICA8YW5kcmVhcy5rbGluZ0Bub2tpYS5j
b20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiAKICAgICAgICAgQ2FudmFz
OiBkcmF3SW1hZ2UoKSB3aXRoIHdyb25nICdpbWFnZScgYXJndW1lbnQgdHlwZSBzaG91bGQgYWx3
YXlzIHRocm93IFR5cGVFcnJvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBjM2RhYzgx
Li4zZWRmMjYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMjI0LDcgKzIyNCw2IEBA
IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQubWlzc2luZ2FyZ3MuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi5odG1sCiBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGgu
cmVjdC53aW5kaW5nLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQucGF0aC5yZWN0Lnplcm8u
NC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGRjZjE4YzMuLjhlNWU5NDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZApAQCAtNTI4OSw3ICs1Mjg5LDYgQEAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXRo
LmFyYy50d29waWUuMy5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5zY2FsZWQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uc2hhcGUuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXRoLnJlY3Qud2lu
ZGluZy5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGgucmVjdC56ZXJvLjQuaHRtbAog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXRoLnJlY3QuemVyby42Lmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQucGF0dGVybi5pbWFnZS5icm9rZW4uaHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNjUwZDc5Li4zMzA1ZWUwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNjUsNiArNjUs
MTYgQEAKIAogMjAxMC0wNy0xMyAgQW5kcmVhcyBLbGluZyAgPGFuZHJlYXMua2xpbmdAbm9raWEu
Y29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENh
bnZhczogcmVjdCh4LHksdyxoKSBzaG91bGQgbW92ZSB0byAoeCx5KSBldmVuIGlmIHc9MCBhbmQg
aD0wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjIx
MQorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cmVjdCk6CisKKzIw
MTAtMDctMTMgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KKwogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBDYW52YXM6IGRyYXdJbWFn
ZSgpIHdpdGggd3JvbmcgJ2ltYWdlJyBhcmd1bWVudCB0eXBlIHNob3VsZCBhbHdheXMgdGhyb3cg
VHlwZUVycm9yCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHAKaW5kZXggYjNkMjEyYS4uNGM5NjRjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtNjQ2LDEwICs2NDYsMjcgQEAg
c3RhdGljIGJvb2wgdmFsaWRhdGVSZWN0Rm9yQ2FudmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxv
YXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2gKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OnJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKIHsKLSAg
ICBpZiAoIXZhbGlkYXRlUmVjdEZvckNhbnZhcyh4LCB5LCB3aWR0aCwgaGVpZ2h0KSkKLSAgICAg
ICAgcmV0dXJuOwogICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCiAgICAgICAgIHJl
dHVybjsKKworICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkgfCAhaXNmaW5pdGUo
d2lkdGgpIHwgIWlzZmluaXRlKGhlaWdodCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
d2lkdGggJiYgIWhlaWdodCkgeworICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwg
eSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHdpZHRoIDwgMCkgeworICAg
ICAgICB3aWR0aCA9IC13aWR0aDsKKyAgICAgICAgeCAtPSB3aWR0aDsKKyAgICB9CisKKyAgICBp
ZiAoaGVpZ2h0IDwgMCkgeworICAgICAgICBoZWlnaHQgPSAtaGVpZ2h0OworICAgICAgICB5IC09
IGhlaWdodDsKKyAgICB9CisKICAgICBtX3BhdGguYWRkUmVjdChGbG9hdFJlY3QoeCwgeSwgd2lk
dGgsIGhlaWdodCkpOwogfQogCg==
</data>
<flag name="review"
          id="49464"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="49465"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>