<?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>47812</bug_id>
          
          <creation_ts>2010-10-18 04:28:36 -0700</creation_ts>
          <short_desc>V8 binding for DOMSettableTokenList</short_desc>
          <delta_ts>2010-11-02 00:42:18 -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>
          
          <blocked>29363</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arv</cc>
    
    <cc>commit-queue</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295435</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-18 04:28:36 -0700</bug_when>
    <thetext>Implement V8 binding for DOMSettableTokenList. This issue is a part of implementing the &lt;output&gt; element. See https://bugs.webkit.org/show_bug.cgi?id=29363 for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302501</commentid>
    <comment_count>1</comment_count>
      <attachid>72479</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-31 17:46:53 -0700</bug_when>
    <thetext>Created attachment 72479
Patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302543</commentid>
    <comment_count>2</comment_count>
      <attachid>72479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-31 19:54:42 -0700</bug_when>
    <thetext>Comment on attachment 72479
Patch V0

Clearing flags on attachment: 72479

Committed r71007: &lt;http://trac.webkit.org/changeset/71007&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302544</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-31 19:54:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302792</commentid>
    <comment_count>4</comment_count>
      <attachid>72479</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-11-01 11:12:38 -0700</bug_when>
    <thetext>Comment on attachment 72479
Patch V0

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

Also, why do we need custom indexedPropertyGetter? It wasn&apos;t needed for classList. The codegen knows how to generate this.

&gt; WebCore/bindings/v8/custom/V8DOMSettableTokenListCustom.cpp:39
&gt; +    return v8String(list-&gt;item(index));

This does not look right since we should return null when index is out of bounds. ([ConvertNullStringTo=Null]  in the idl)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303255</commentid>
    <comment_count>5</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-11-02 00:42:18 -0700</bug_when>
    <thetext>Hi Erik,

Thank you for your comment.

(In reply to comment #4)
&gt; Also, why do we need custom indexedPropertyGetter? It wasn&apos;t needed for classList. The codegen knows how to generate this.

It looks like that the codegen for V8 bindings does not consider the inheritance of the interface and doesn&apos;t generate indexedPropertyGetter automatically. On the other hand, the codegen for JSC consider the inheritance of the interface and generate getter function automatically. To manage these two case, we need to custom function.

&gt; &gt; WebCore/bindings/v8/custom/V8DOMSettableTokenListCustom.cpp:39
&gt; &gt; +    return v8String(list-&gt;item(index));
&gt; 
&gt; This does not look right since we should return null when index is out of bounds. ([ConvertNullStringTo=Null]  in the idl)

Yes, I&apos;ve made a mistake and I&apos;ll fix it in the patch for https://bugs.webkit.org/show_bug.cgi?id=29363. Thank you for correcting.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72479</attachid>
            <date>2010-10-31 17:46:53 -0700</date>
            <delta_ts>2010-11-01 11:12:38 -0700</delta_ts>
            <desc>Patch V0</desc>
            <filename>bug-47812-20101101094651.patch</filename>
            <type>text/plain</type>
            <size>1658</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTIyZTMzNzEwOTM3ZmYzZmFkOWIyZWYxZjVmY2IxOTI2YWU1OGQwMy4uM2M4OTQ0Yjk2ZTY3Nzg2
MmMxOTFmN2E4OTkyNTEyMmIwOGZkYmYxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMC0zMSAgS2Vu
aWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFY4IGJpbmRpbmcgZm9yIERPTVNldHRhYmxlVG9r
ZW5MaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzgxMgorCisgICAgICAgIFRlc3RzIGZvciB0aGlzIGNoYW5nZSB3aWxsIGJlIGluY2x1ZGVkIGlu
IHRoZSBjaGFuZ2UgZm9yIHN1cHBvcnRpbmcKKyAgICAgICAgdGhlIDxvdXRwdXQ+IGVsZW1lbnQu
CisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjkz
NjMuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRva2VuTGlz
dEN1c3RvbS5jcHA6IEltcGxlbWVudGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhET01TZXR0YWJs
ZVRva2VuTGlzdDo6aW5kZXhlZFByb3BlcnR5R2V0dGVyKTogSnVzdCBjYWxscyBET01TZXR0YWJs
ZVRva2VuTGlzdDo6aXRlbShpbmRleCkuCisKIDIwMTAtMTAtMzEgIEFuZHJlYXMgS2xpbmcgIDxr
bGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxp
c3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRv
a2VuTGlzdEN1c3RvbS5jcHAKaW5kZXggNGVlYjFlMGMyZDMyM2JkNWRlNjlhMDdmNzVjNjk0MDBi
YWJkN2MzNy4uM2JjZjBmYzQwZDkwNjYzMDEwMzk2NWViNDM2MDc2ZmU2YmVlYWUxZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRva2VuTGlzdEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRv
a2VuTGlzdEN1c3RvbS5jcHAKQEAgLTM0LDggKzM0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TZXR0YWJsZVRva2VuTGlzdDo6aW5kZXhlZFBy
b3BlcnR5R2V0dGVyKHVpbnQzMl90IGluZGV4LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZv
KQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4KLSAgICByZXR1cm4g
djhTdHJpbmcoIiIpOworICAgIElOQ19TVEFUUygiRE9NLkRPTVNldHRhYmxlVG9rZW5MaXN0Lklu
ZGV4ZWRQcm9wZXJ0eUdldHRlciIpOworICAgIERPTVNldHRhYmxlVG9rZW5MaXN0KiBsaXN0ID0g
VjhET01TZXR0YWJsZVRva2VuTGlzdDo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7CisgICAgcmV0
dXJuIHY4U3RyaW5nKGxpc3QtPml0ZW0oaW5kZXgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>