<?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>69427</bug_id>
          
          <creation_ts>2011-10-05 08:06:41 -0700</creation_ts>
          <short_desc>HTML canvas strokes with dash and dashOffset for V8.</short_desc>
          <delta_ts>2013-05-02 11:13:11 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>0</everconfirmed>
          <reporter name="Young Han Lee">joybro201</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>arv</cc>
    
    <cc>krit</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478357</commentid>
    <comment_count>0</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-10-05 08:06:41 -0700</bug_when>
    <thetext>HTML canvas strokes with dash and dashOffset for V8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478360</commentid>
    <comment_count>1</comment_count>
      <attachid>109794</attachid>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-10-05 08:10:44 -0700</bug_when>
    <thetext>Created attachment 109794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478368</commentid>
    <comment_count>2</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-10-05 08:18:29 -0700</bug_when>
    <thetext>This is a follow-up patch for the bug 63933.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486170</commentid>
    <comment_count>3</comment_count>
      <attachid>109794</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-18 10:57:46 -0700</bug_when>
    <thetext>Comment on attachment 109794
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:116
&gt; +    v8::Local&lt;v8::Array&gt; result = v8::Array::New(dash-&gt;size());
&gt; +    DashArray::const_iterator end = dash-&gt;end();
&gt; +    int index = 0;
&gt; +    for (DashArray::const_iterator it = dash-&gt;begin(); it != end; ++it, ++index)
&gt; +        result-&gt;Set(v8::Integer::New(index), v8::Number::New(*it));
&gt; +
&gt; +    return result;
&gt; +}

I think we already have a function that does this.  If we don&apos;t have one, you should add it.  It&apos;s a very general operation.

Also, per the recent webkit-dev thread, we should be using indicies rather than iterators to walk arrays.  That will also help you avoid the nuttiness of incrementing the iterator and the index at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489003</commentid>
    <comment_count>4</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-10-23 03:15:13 -0700</bug_when>
    <thetext>&gt; 
&gt; I think we already have a function that does this.  If we don&apos;t have one, you should add it.  It&apos;s a very general operation.

To clarify what &apos;a function that does this&apos; means...

1. Do you mean a function converting Vector&lt;float&gt; to v8:Array?
(e.g. v8::Handle&lt;v8::Value&gt; toV8(const Vector&lt;float&gt;&amp; vector))

This is not a general operation. The patch I uploaded is the only place using the operation, so I don&apos;t think we should add the function.


2. Do you mean a function converting any Vector to v8::Array?
(e.g. template &lt;class T&gt; v8::Handle&lt;v8::Value&gt; toV8(const T&amp; vector))

I&apos;m not sure it is possible to generalize this kind of operation.

There are only two places doing this operation under WebCore/bindings/v8, and following is one of them.

typedef Vector&lt;RefPtr&lt;ScriptProfile&gt; &gt; ProfilesArray;

v8::Handle&lt;v8::Value&gt; V8Console::profilesAccessorGetter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
{
    ......
    const ProfilesArray&amp; profiles = imp-&gt;profiles();
    ......

    for (ProfilesArray::const_iterator iter = profiles.begin(); iter != end; ++iter)
        result-&gt;Set(v8::Integer::New(index++), toV8(iter-&gt;get()));
    return result;
}

This function converts the element of the Vector like this &apos;toV8(iter-&gt;get())&apos;, because the element is RefPtr. But my patch converts like this &apos;v8::Number::New(*iter))&apos;, because the element is just float.

I don&apos;t know a clear way to generalize these two function. Any Idea? 


&gt; 
&gt; Also, per the recent webkit-dev thread, we should be using indicies rather than iterators to walk arrays.  That will also help you avoid the nuttiness of incrementing the iterator and the index at the same time.

agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883842</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-02 11:13:11 -0700</bug_when>
    <thetext>V8 is gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109794</attachid>
            <date>2011-10-05 08:10:44 -0700</date>
            <delta_ts>2011-10-18 10:57:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69427-20111006001043.patch</filename>
            <type>text/plain</type>
            <size>5622</size>
            <attacher name="Young Han Lee">joybro201</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY2OTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2ZmY1Mzk4YjE4MmZjYjgzMjZhNjlm
MDY4NGQ4NzQ1Njk5ZmQ2N2EzLi5iMWYzNDQ2OTE4Nzc0ZTZiYjVkMDczN2FkMDFiYmNhMTg3ZTE3
YWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMDUgIFlvdW5nIEhhbiBMZWUgIDxq
b3licm8yMDFAZ21haWwuY29tPgorCisgICAgICAgIEhUTUwgY2FudmFzIHN0cm9rZXMgd2l0aCBk
YXNoIGFuZCBkYXNoT2Zmc2V0IGZvciBWOC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSnVzdCBhIGZvbGxvdy11cCBwYXRjaCBmb3IgdGhlIGJ1ZyA2Mzkz
My4gVGhpcyBwYXRjaCBiaW5kcyB3ZWJraXRMaW5lRGFzaCBhbmQKKyAgICAgICAgd2Via2l0TGlu
ZURhc2hPZmZzZXQgYXR0cmlidXRlcyB0byBWOCBlbmdpbmUgc28gdGhhdCB0aGUgYXR0cmlidXRl
cyBiZWNvbWUgdmlzaWJsZSB0bworICAgICAgICB0aGUgcG9ydHMgdXNpbmcgVjguCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiBFeGlzdGluZyB0ZXN0cyBpbiBmYXN0L2NhbnZhcyBjb3ZlciB0aGlz
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Ogor
CiAyMDExLTEwLTA1ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBXVFIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRpbnVv
dXNNb3VzZVNjcm9sbEJ5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggZDAxOGIwYjg4YTI3MTYzOWNhYTBmNTZkNjEyNDBm
MTM1NGU5ZjRiOC4uYThkNzEzNDM3Mjc0NTBlZGExODBjZjJkZTQ0ZjRkMTFjZjg3NmJmOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dApAQCAtOTcsMTAgKzk3LDYgQEAgQlVHQ1IxMDM5NSBTS0lQIDogaHR0cC90ZXN0cy93ZWJh
cmNoaXZlID0gUEFTUyBGQUlMCiAvLyBmYWlscyBmb3Igb3RoZXIgcGxhdGZvcm1zLi4uCiBCVUdD
UjIwNDA0IDogZWRpdGluZy9leGVjQ29tbWFuZC9jb3B5LXdpdGhvdXQtc2VsZWN0aW9uLmh0bWwg
PSBURVhUCiAKLS8vIFRoaXMgd2lsbCBzb29uIGJlIGZpeGVkIGFmdGVyIGltcGxlbWVudGluZyB3
ZWJraXRMaW5lRGFzaCBmb3IgVjguCi1CVUdXSzYzOTMzIDogZmFzdC9jYW52YXMvY2FudmFzLXdl
YmtpdExpbmVEYXNoLmh0bWwgPSBGQUlMCi1CVUdXSzYzOTMzIDogZmFzdC9jYW52YXMvY2FudmFz
LXdlYmtpdExpbmVEYXNoLWludmFsaWQuaHRtbCA9IEZBSUwKLQogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIFdP
TlRGSVggVEVTVFMKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTllOGM2M2JkMzZhYjFmZTAy
M2M4NDY4OTM1ZTQ3MmJhODMxNGJhZS4uMmVhMjg4NjdiNDFhNTYzNzE1ODZhNDkwZjVkYWFiYjJj
MTQyMDkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTEwLTA1ICBZb3VuZyBI
YW4gTGVlICA8am95YnJvMjAxQGdtYWlsLmNvbT4KKworICAgICAgICBIVE1MIGNhbnZhcyBzdHJv
a2VzIHdpdGggZGFzaCBhbmQgZGFzaE9mZnNldCBmb3IgVjguCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYSBmb2xsb3ctdXAgcGF0Y2ggZm9yIHRo
ZSBidWcgNjM5MzMuIFRoaXMgcGF0Y2ggYmluZHMgd2Via2l0TGluZURhc2ggYW5kCisgICAgICAg
IHdlYmtpdExpbmVEYXNoT2Zmc2V0IGF0dHJpYnV0ZXMgdG8gVjggZW5naW5lIHNvIHRoYXQgdGhl
IGF0dHJpYnV0ZXMgYmVjb21lIHZpc2libGUgdG8KKyAgICAgICAgdGhlIHBvcnRzIHVzaW5nIFY4
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhpc3RpbmcgdGVzdHMgaW4gZmFzdC9jYW52YXMg
Y292ZXIgdGhpcy4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyREN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6d2Via2l0TGluZURhc2hBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpWOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6d2Via2l0TGluZURhc2hBY2Nlc3Nv
clNldHRlcik6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlkbDoKKwogMjAxMS0xMC0wNSAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIHdpbmRvd3MgYm90cyBhZnRl
ciByOTY2NzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAppbmRl
eCAyZmViZDgyMDU4MTkzMGQ4Y2MxOTI0NDQ0MTZlODQyN2VhNmYzYTg3Li44MDdiN2Q3ZmIwNjg2
MDMwMWE3NzU0YmU2ZjkzYzg0MDUxMTJhMTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREN1c3RvbS5jcHAKQEAgLTEwMSw0ICsxMDEsMzcgQEAgdm9pZCBWOENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6ZmlsbFN0eWxlQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJp
bmc+IG4KICAgICAgICAgaW1wbC0+c2V0RmlsbFN0eWxlKHRvQ2FudmFzU3R5bGUodmFsdWUpKTsK
IH0KIAordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjp3
ZWJraXRMaW5lRGFzaEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCogaW1wbCA9IFY4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjp0b05hdGl2ZShpbmZvLkhv
bGRlcigpKTsKKyAgICBjb25zdCBEYXNoQXJyYXkqIGRhc2ggPSBpbXBsLT53ZWJraXRMaW5lRGFz
aCgpOworCisgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gcmVzdWx0ID0gdjg6OkFycmF5OjpOZXco
ZGFzaC0+c2l6ZSgpKTsKKyAgICBEYXNoQXJyYXk6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGRhc2gt
PmVuZCgpOworICAgIGludCBpbmRleCA9IDA7CisgICAgZm9yIChEYXNoQXJyYXk6OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gZGFzaC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0LCArK2luZGV4KQorICAg
ICAgICByZXN1bHQtPlNldCh2ODo6SW50ZWdlcjo6TmV3KGluZGV4KSwgdjg6Ok51bWJlcjo6TmV3
KCppdCkpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBWOENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6d2Via2l0TGluZURhc2hBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCit7CisgICAgaWYgKCF2YWx1ZS0+SXNBcnJheSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBEYXNoQXJyYXkgZGFzaDsKKyAgICB2ODo6TG9jYWw8djg6OkFycmF5PiB2OEFy
cmF5ID0gdjg6OkxvY2FsPHY4OjpBcnJheT46OkNhc3QodmFsdWUpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgdjhBcnJheS0+TGVuZ3RoKCk7ICsraSkgeworICAgICAgICBmbG9hdCBlbGVt
ID0gdG9GbG9hdCh2OEFycmF5LT5HZXQodjg6OkludGVnZXI6Ok5ldyhpKSkpOworICAgICAgICBp
ZiAoZWxlbSA8PSAwIHx8ICFpc2Zpbml0ZShlbGVtKSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBkYXNoLmFwcGVuZChlbGVtKTsKKyAgICB9CisKKyAgICBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQqIGltcGwgPSBWOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dG9OYXRpdmUoaW5m
by5Ib2xkZXIoKSk7CisgICAgaW1wbC0+c2V0V2Via2l0TGluZURhc2goZGFzaCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCmluZGV4IDYyZDllNTYyNTI1ZDQ5YTNj
MjY2MmViZTQzMDU1MmZlODU5MDk0YWYuLjdkN2EwZjQ0ZjNmN2E2ZjE2MmY2NTJkM2Q5ZDk3NWM4
MjQyNjU3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbApAQCAtNjAsMTEgKzYwLDggQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgc2hhZG93Qmx1cjsKICAgICAgICAgYXR0cmlidXRl
IFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHNoYWRvd0NvbG9yOwogCi0gICAg
ICAgIC8vIEZJWE1FOiBUaGVzZSBhdHRyaWJ1dGVzIHNob3VsZCBhbHNvIGJlIGltcGxlbWVudGVk
IGZvciBWOC4KLSNpZiAhKGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORykKICAgICAg
ICAgYXR0cmlidXRlIFtDdXN0b21dIEFycmF5IHdlYmtpdExpbmVEYXNoOwogICAgICAgICBhdHRy
aWJ1dGUgZmxvYXQgd2Via2l0TGluZURhc2hPZmZzZXQ7Ci0jZW5kaWYKIAogICAgICAgICB2b2lk
IGNsZWFyUmVjdChpbiBmbG9hdCB4LCBpbiBmbG9hdCB5LCBpbiBmbG9hdCB3aWR0aCwgaW4gZmxv
YXQgaGVpZ2h0KTsKICAgICAgICAgdm9pZCBmaWxsUmVjdChpbiBmbG9hdCB4LCBpbiBmbG9hdCB5
LCBpbiBmbG9hdCB3aWR0aCwgaW4gZmxvYXQgaGVpZ2h0KTsK
</data>
<flag name="review"
          id="107106"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>