<?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>58934</bug_id>
          
          <creation_ts>2011-04-19 15:32:09 -0700</creation_ts>
          <short_desc>arc() should add a circle to the path when start and end angles are far enough apart</short_desc>
          <delta_ts>2011-04-21 11:51:36 -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>Canvas</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="Matthew Delaney">mdelaney7</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>388849</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-04-19 15:32:09 -0700</bug_when>
    <thetext>The spec says:

&quot;If the anticlockwise argument is omitted or false and endAngle-startAngle is equal to or greater than 2π, or, if the anticlockwise argument is true and startAngle-endAngle is equal to or greater than 2π, then the arc is the whole circumference of this circle.&quot;
[http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-arc]

We don&apos;t currently check for this case. The test fast/canvas/canvas-largedraws.html appears to somewhat exercise this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389341</commentid>
    <comment_count>1</comment_count>
      <attachid>90359</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-04-20 10:46:08 -0700</bug_when>
    <thetext>Created attachment 90359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389344</commentid>
    <comment_count>2</comment_count>
      <attachid>90359</attachid>
    <who name="">mitz</who>
    <bug_when>2011-04-20 10:51:08 -0700</bug_when>
    <thetext>Comment on attachment 90359
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=90359&amp;action=review

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:856
&gt; +    if (anticlockwise &amp;&amp; sa - ea &gt;= 2.0f * piFloat) {

The coding style guidelines says that you should just write this as 2 * piFloat.

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:859
&gt; +        m_path.addArc(FloatPoint(x, y), r, sa, sa - piFloat, anticlockwise);
&gt; +        m_path.addArc(FloatPoint(x, y), r, sa - piFloat, sa, anticlockwise);

This can be done as a single 2π arc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389492</commentid>
    <comment_count>3</comment_count>
      <attachid>90402</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-04-20 13:41:55 -0700</bug_when>
    <thetext>Created attachment 90402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389518</commentid>
    <comment_count>4</comment_count>
      <attachid>90411</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-04-20 14:21:43 -0700</bug_when>
    <thetext>Created attachment 90411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389915</commentid>
    <comment_count>5</comment_count>
      <attachid>90411</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-21 02:59:17 -0700</bug_when>
    <thetext>Comment on attachment 90411
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390214</commentid>
    <comment_count>6</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-04-21 11:51:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84512</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90359</attachid>
            <date>2011-04-20 10:46:08 -0700</date>
            <delta_ts>2011-04-20 13:41:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58934-20110420104609.patch</filename>
            <type>text/plain</type>
            <size>4554</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0Mzk0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjAgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBhcmMoKSBzaG91bGQgYWRkIGEgY2lyY2xlIHRvIHRoZSBw
YXRoIHdoZW4gc3RhcnQgYW5kIGVuZCBhbmdsZXMgYXJlIGZhciBlbm91Z2ggYXBhcnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTM0CisKKyAgICAg
ICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sCisKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmMpOgorCiAyMDExLTA0LTE5ICBS
b2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24g
ODQzODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NTEsNiArODUxLDIxIEBAIHZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjphcmMoZmxvYXQKIAogICAgIGlmICghc3RhdGUoKS5tX2ludmVy
dGlibGVDVE0pCiAgICAgICAgIHJldHVybjsKKworICAgIC8vIElmICdzYScgYW5kICdlYScgZGlm
ZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEgY2lyY2xlIHN0YXJ0aW5nL2VuZGluZyBh
dCAnc2EnCisgICAgaWYgKGFudGljbG9ja3dpc2UgJiYgc2EgLSBlYSA+PSAyLjBmICogcGlGbG9h
dCkgeworICAgICAgICBzYSA9IGZtb2Qoc2EsIDIuMGYgKiBwaUZsb2F0KTsKKyAgICAgICAgbV9w
YXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSBwaUZsb2F0LCBhbnRpY2xv
Y2t3aXNlKTsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSAt
IHBpRmxvYXQsIHNhLCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAyLjBmICogcGlGbG9hdCkgeworICAg
ICAgICBzYSA9IGZtb2Qoc2EsIDIuMGYgKiBwaUZsb2F0KTsKKyAgICAgICAgbV9wYXRoLmFkZEFy
YyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsK
KyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSArIHBpRmxvYXQs
IHNhLCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fcGF0
aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIGVhLCBhbnRpY2xvY2t3aXNlKTsKIH0K
IApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gODQzOTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNC0yMCAgTWF0dGhldyBEZWxhbmV5
ICA8bWRlbGFuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGFyYygpIHNob3VsZCBhZGQgYSBjaXJjbGUgdG8gdGhlIHBhdGggd2hl
biBzdGFydCBhbmQgZW5kIGFuZ2xlcyBhcmUgZmFyIGVub3VnaCBhcGFydAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg5MzQKKworICAgICAgICAqIGZh
c3QvY2FudmFzL2NhbnZhc19hcmNfbGFyZ2VhbmdsZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLmh0bWw6IEFkZGVkLgor
CiAyMDExLTA0LTIwICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgZW1iZWRkaW5nIGNoZWNrc3VtcyBpbiBwbmcgZmlsZXMgaW4gcGxhdGZvcm0v
bWFjLSouCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5n
bGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXNfYXJjX2xhcmdlYW5nbGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhc19hcmNfbGFyZ2VhbmdsZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitQQVNTRUQgCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICA8Ym9keT4KKwk8YSBpZD0icmVzdWx0Ij48L2E+CisJICAgPHNjcmlwdD4KKwkgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKwkgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisKKwkJY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFz
Iik7CisJCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFzKTsKKwkJY2FudmFzLndpZHRo
ID0gMTAwOworCQljYW52YXMuaGVpZ2h0ID0gMTAwOworCQljdHggPSBjYW52YXMuZ2V0Q29udGV4
dCgiMmQiKTsKKwkJY3R4Lm1vdmVUbygyNSwyNSk7CisJCWN0eC5hcmMoMjUsIDI1LCAyNSwgTWF0
aC5QSSwgNTAwKk1hdGguUEksIGZhbHNlKTsKKwkJY3R4LmNsb3NlUGF0aCgpOworCQkKKwkJY3R4
Lm1vdmVUbyg3NSwgNzUpOworCQljdHguYXJjKDc1LCA3NSwgMjUsIDUwMCpNYXRoLlBJLCBNYXRo
LlBJLCB0cnVlKTsKKwkJY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKwkJY3R4LmZpbGwoKTsKKwkJ
CisJCXZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CisJCXZh
ciBwYXNzZWQgPSB0cnVlOworCisJCWNoZWNrUGl4ZWwoMjUsIDI1LCAwLCAyNTUsIDAsIDI1NSk7
CisJCWNoZWNrUGl4ZWwoNzUsIDc1LCAwLCAyNTUsIDAsIDI1NSk7CisJCWlmIChwYXNzZWQpIHJl
c3VsdC5pbm5lckhUTUwgPSAiUEFTU0VEIjsKKwkJCisJCWZ1bmN0aW9uIGNoZWNrUGl4ZWwoeCwg
eSwgciwgZywgYiwgYSkgeworCQkJdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKHgseSwxLDEp
LmRhdGE7CisJCQl2YXIgcmVkID0gZGF0YVswXTsKKwkJCXZhciBncmVlbiA9IGRhdGFbMV07CisJ
CQl2YXIgYmx1ZSA9IGRhdGFbMl07CisJCQl2YXIgYWxwaGEgPSBkYXRhWzNdOworCisJCQlpZiAo
cmVkICE9IHIpIHsKKwkJCQlyZXN1bHQuaW5uZXJIVE1MICs9ICJSZWQgc2hvdWxkIGJlICIrcisi
LCBidXQgd2FzICIrcmVkKyIuICI7CisJCQkJcGFzc2VkID0gZmFsc2U7CisJCQl9CisJCQlpZiAo
Z3JlZW4gIT0gZykgeworCQkJCXJlc3VsdC5pbm5lckhUTUwgKz0gImdyZWVuIHNob3VsZCBiZSAi
K2crIiwgYnV0IHdhcyAiK2dyZWVuKyIuICI7CisJCQkJcGFzc2VkID0gZmFsc2U7CisJCQl9CisJ
CQlpZiAoYmx1ZSAhPSBiKSB7CisJCQkJcmVzdWx0LmlubmVySFRNTCArPSAiYmx1ZSBzaG91bGQg
YmUgIitiKyIsIGJ1dCB3YXMgIitibHVlKyIuICI7CisJCQkJcGFzc2VkID0gZmFsc2U7CisJCQl9
CisJCQlpZiAoYWxwaGEgIT0gYSkgeworCQkJCXJlc3VsdC5pbm5lckhUTUwgKz0gImFscGhhIHNo
b3VsZCBiZSAiK2ErIiwgYnV0IHdhcyAiK2FscGhhKyIuICI7CisJCQkJcGFzc2VkID0gZmFsc2U7
CisJCQl9CisJCX0KKworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90402</attachid>
            <date>2011-04-20 13:41:55 -0700</date>
            <delta_ts>2011-04-20 14:21:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58934-20110420134153.patch</filename>
            <type>text/plain</type>
            <size>4344</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NDEwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjAgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBhcmMoKSBzaG91bGQgYWRkIGEgY2lyY2xlIHRvIHRoZSBw
YXRoIHdoZW4gc3RhcnQgYW5kIGVuZCBhbmdsZXMgYXJlIGZhciBlbm91Z2ggYXBhcnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTM0CisKKyAgICAg
ICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sCisKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmMpOgorCiAyMDExLTA0LTIwICBE
aXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA4NDQxMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg1MSw2ICs4NTEsMTkgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmFyYyhmbG9hdAogCiAgICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKICAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gSWYgJ3NhJyBhbmQgJ2VhJyBkaWZmZXIgYnkgbW9yZSB0aGFu
IDJQaSwganVzdCBhZGQgYSBjaXJjbGUgc3RhcnRpbmcvZW5kaW5nIGF0ICdzYScKKyAgICBpZiAo
YW50aWNsb2Nrd2lzZSAmJiBzYSAtIGVhID49IDIgKiBwaUZsb2F0KSB7CisgICAgICAgIHNhID0g
Zm1vZChzYSwgMiAqIHBpRmxvYXQpOworICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQo
eCwgeSksIHIsIHNhLCBzYSAtIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAyICog
cGlGbG9hdCkgeworICAgICAgICBzYSA9IGZtb2Qoc2EsIDIgKiBwaUZsb2F0KTsKKyAgICAgICAg
bV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwg
YW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtX3BhdGguYWRk
QXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBlYSwgYW50aWNsb2Nrd2lzZSk7CiB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDg0NDEwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMjAgIE1hdHRoZXcgRGVsYW5leSAgPG1k
ZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBhcmMoKSBzaG91bGQgYWRkIGEgY2lyY2xlIHRvIHRoZSBwYXRoIHdoZW4gc3Rh
cnQgYW5kIGVuZCBhbmdsZXMgYXJlIGZhciBlbm91Z2ggYXBhcnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTM0CisKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sOiBBZGRlZC4KKwogMjAx
MS0wMy0wNyAgVmljdG9yaWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNaWhhaSBQYXJwYXJpdGEuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXNfYXJjX2xhcmdlYW5nbGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhc19hcmNfbGFyZ2Vhbmds
ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitQQVNTRUQgCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xl
cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzX2Fy
Y19sYXJnZWFuZ2xlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICA8Ym9keT4KKwk8YSBpZD0icmVzdWx0Ij48L2E+CisJICAgPHNj
cmlwdD4KKwkgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKwkgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKwkJY2FudmFzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiY2FudmFzIik7CisJCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFz
KTsKKwkJY2FudmFzLndpZHRoID0gMTAwOworCQljYW52YXMuaGVpZ2h0ID0gMTAwOworCQljdHgg
PSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKwkJY3R4Lm1vdmVUbygyNSwyNSk7CisJCWN0eC5h
cmMoMjUsIDI1LCAyNSwgTWF0aC5QSSwgNTAwKk1hdGguUEksIGZhbHNlKTsKKwkJY3R4LmNsb3Nl
UGF0aCgpOworCQkKKwkJY3R4Lm1vdmVUbyg3NSwgNzUpOworCQljdHguYXJjKDc1LCA3NSwgMjUs
IDUwMCpNYXRoLlBJLCBNYXRoLlBJLCB0cnVlKTsKKwkJY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
KwkJY3R4LmZpbGwoKTsKKwkJCisJCXZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0Iik7CisJCXZhciBwYXNzZWQgPSB0cnVlOworCisJCWNoZWNrUGl4ZWwoMjUsIDI1
LCAwLCAyNTUsIDAsIDI1NSk7CisJCWNoZWNrUGl4ZWwoNzUsIDc1LCAwLCAyNTUsIDAsIDI1NSk7
CisJCWlmIChwYXNzZWQpIHJlc3VsdC5pbm5lckhUTUwgPSAiUEFTU0VEIjsKKwkJCisJCWZ1bmN0
aW9uIGNoZWNrUGl4ZWwoeCwgeSwgciwgZywgYiwgYSkgeworCQkJdmFyIGRhdGEgPSBjdHguZ2V0
SW1hZ2VEYXRhKHgseSwxLDEpLmRhdGE7CisJCQl2YXIgcmVkID0gZGF0YVswXTsKKwkJCXZhciBn
cmVlbiA9IGRhdGFbMV07CisJCQl2YXIgYmx1ZSA9IGRhdGFbMl07CisJCQl2YXIgYWxwaGEgPSBk
YXRhWzNdOworCisJCQlpZiAocmVkICE9IHIpIHsKKwkJCQlyZXN1bHQuaW5uZXJIVE1MICs9ICJS
ZWQgc2hvdWxkIGJlICIrcisiLCBidXQgd2FzICIrcmVkKyIuICI7CisJCQkJcGFzc2VkID0gZmFs
c2U7CisJCQl9CisJCQlpZiAoZ3JlZW4gIT0gZykgeworCQkJCXJlc3VsdC5pbm5lckhUTUwgKz0g
ImdyZWVuIHNob3VsZCBiZSAiK2crIiwgYnV0IHdhcyAiK2dyZWVuKyIuICI7CisJCQkJcGFzc2Vk
ID0gZmFsc2U7CisJCQl9CisJCQlpZiAoYmx1ZSAhPSBiKSB7CisJCQkJcmVzdWx0LmlubmVySFRN
TCArPSAiYmx1ZSBzaG91bGQgYmUgIitiKyIsIGJ1dCB3YXMgIitibHVlKyIuICI7CisJCQkJcGFz
c2VkID0gZmFsc2U7CisJCQl9CisJCQlpZiAoYWxwaGEgIT0gYSkgeworCQkJCXJlc3VsdC5pbm5l
ckhUTUwgKz0gImFscGhhIHNob3VsZCBiZSAiK2ErIiwgYnV0IHdhcyAiK2FscGhhKyIuICI7CisJ
CQkJcGFzc2VkID0gZmFsc2U7CisJCQl9CisJCX0KKworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+
Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90411</attachid>
            <date>2011-04-20 14:21:43 -0700</date>
            <delta_ts>2011-04-21 02:59:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58934-20110420142142.patch</filename>
            <type>text/plain</type>
            <size>4270</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NDEwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjAgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBhcmMoKSBzaG91bGQgYWRkIGEgY2lyY2xlIHRvIHRoZSBw
YXRoIHdoZW4gc3RhcnQgYW5kIGVuZCBhbmdsZXMgYXJlIGZhciBlbm91Z2ggYXBhcnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTM0CisKKyAgICAg
ICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sCisKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmMpOgorCiAyMDExLTA0LTIwICBE
aXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA4NDQxMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg1MSw2ICs4NTEsMTcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmFyYyhmbG9hdAogCiAgICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKICAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gSWYgJ3NhJyBhbmQgJ2VhJyBkaWZmZXIgYnkgbW9yZSB0aGFu
IDJQaSwganVzdCBhZGQgYSBjaXJjbGUgc3RhcnRpbmcvZW5kaW5nIGF0ICdzYScKKyAgICBpZiAo
YW50aWNsb2Nrd2lzZSAmJiBzYSAtIGVhID49IDIgKiBwaUZsb2F0KSB7CisgICAgICAgIG1fcGF0
aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIHNhIC0gMiAqIHBpRmxvYXQsIGFudGlj
bG9ja3dpc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghYW50aWNsb2Nrd2lz
ZSAmJiBlYSAtIHNhID49IDIgKiBwaUZsb2F0KSB7CisgICAgICAgIG1fcGF0aC5hZGRBcmMoRmxv
YXRQb2ludCh4LCB5KSwgciwgc2EsIHNhICsgMiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgs
IHkpLCByLCBzYSwgZWEsIGFudGljbG9ja3dpc2UpOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4
NDQxMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDExLTA0LTIwICBNYXR0aGV3IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgYXJjKCkg
c2hvdWxkIGFkZCBhIGNpcmNsZSB0byB0aGUgcGF0aCB3aGVuIHN0YXJ0IGFuZCBlbmQgYW5nbGVz
IGFyZSBmYXIgZW5vdWdoIGFwYXJ0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01ODkzNAorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzX2FyY19s
YXJnZWFuZ2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2Nh
bnZhc19hcmNfbGFyZ2VhbmdsZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMDcgIFZpY3Rvcmlh
IEtpcnN0ICA8dnJrQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkgUGFy
cGFyaXRhLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFu
Z2xlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzX2FyY19sYXJnZWFuZ2xlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXNfYXJjX2xhcmdlYW5nbGVzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorUEFTU0VEIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzX2FyY19sYXJnZWFuZ2xlcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhc19hcmNfbGFyZ2VhbmdsZXMuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhc19hcmNfbGFyZ2VhbmdsZXMuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgPGJvZHk+CisJPGEgaWQ9InJlc3VsdCI+PC9hPgorCSAgIDxzY3JpcHQ+CisJICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisJICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworCisJCWNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZh
cyIpOworCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNhbnZhcyk7CisJCWNhbnZhcy53aWR0
aCA9IDEwMDsKKwkJY2FudmFzLmhlaWdodCA9IDEwMDsKKwkJY3R4ID0gY2FudmFzLmdldENvbnRl
eHQoIjJkIik7CisJCWN0eC5tb3ZlVG8oMjUsMjUpOworCQljdHguYXJjKDI1LCAyNSwgMjUsIE1h
dGguUEksIDUwMCpNYXRoLlBJLCBmYWxzZSk7CisJCWN0eC5jbG9zZVBhdGgoKTsKKwkJCisJCWN0
eC5tb3ZlVG8oNzUsIDc1KTsKKwkJY3R4LmFyYyg3NSwgNzUsIDI1LCA1MDAqTWF0aC5QSSwgTWF0
aC5QSSwgdHJ1ZSk7CisJCWN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisJCWN0eC5maWxsKCk7CisJ
CQorCQl2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpOworCQl2
YXIgcGFzc2VkID0gdHJ1ZTsKKworCQljaGVja1BpeGVsKDI1LCAyNSwgMCwgMjU1LCAwLCAyNTUp
OworCQljaGVja1BpeGVsKDc1LCA3NSwgMCwgMjU1LCAwLCAyNTUpOworCQlpZiAocGFzc2VkKSBy
ZXN1bHQuaW5uZXJIVE1MID0gIlBBU1NFRCI7CisJCQorCQlmdW5jdGlvbiBjaGVja1BpeGVsKHgs
IHksIHIsIGcsIGIsIGEpIHsKKwkJCXZhciBkYXRhID0gY3R4LmdldEltYWdlRGF0YSh4LHksMSwx
KS5kYXRhOworCQkJdmFyIHJlZCA9IGRhdGFbMF07CisJCQl2YXIgZ3JlZW4gPSBkYXRhWzFdOwor
CQkJdmFyIGJsdWUgPSBkYXRhWzJdOworCQkJdmFyIGFscGhhID0gZGF0YVszXTsKKworCQkJaWYg
KHJlZCAhPSByKSB7CisJCQkJcmVzdWx0LmlubmVySFRNTCArPSAiUmVkIHNob3VsZCBiZSAiK3Ir
IiwgYnV0IHdhcyAiK3JlZCsiLiAiOworCQkJCXBhc3NlZCA9IGZhbHNlOworCQkJfQorCQkJaWYg
KGdyZWVuICE9IGcpIHsKKwkJCQlyZXN1bHQuaW5uZXJIVE1MICs9ICJncmVlbiBzaG91bGQgYmUg
IitnKyIsIGJ1dCB3YXMgIitncmVlbisiLiAiOworCQkJCXBhc3NlZCA9IGZhbHNlOworCQkJfQor
CQkJaWYgKGJsdWUgIT0gYikgeworCQkJCXJlc3VsdC5pbm5lckhUTUwgKz0gImJsdWUgc2hvdWxk
IGJlICIrYisiLCBidXQgd2FzICIrYmx1ZSsiLiAiOworCQkJCXBhc3NlZCA9IGZhbHNlOworCQkJ
fQorCQkJaWYgKGFscGhhICE9IGEpIHsKKwkJCQlyZXN1bHQuaW5uZXJIVE1MICs9ICJhbHBoYSBz
aG91bGQgYmUgIithKyIsIGJ1dCB3YXMgIithbHBoYSsiLiAiOworCQkJCXBhc3NlZCA9IGZhbHNl
OworCQkJfQorCQl9CisKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgorCg==
</data>
<flag name="review"
          id="83165"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>