<?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>193328</bug_id>
          
          <creation_ts>2019-01-10 11:21:57 -0800</creation_ts>
          <short_desc>Bindings generator emits incorrect code when using VoidCallback as an IDL dictionary attribute</short_desc>
          <delta_ts>2019-01-10 13:47:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>193109</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1493371</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 11:21:57 -0800</bug_when>
    <thetext>For instance, this IDL:

    dictionary Foo {
        required VoidCallback bar;
    };

...generates this code in the corresponding implementation of convertDictionary:

    if (!barValue.isUndefined()) {
        result.bar = convert&lt;IDLCallbackFunction&lt;JSVoidCallback&gt;&gt;(state, barValue, );
        RETURN_IF_EXCEPTION(throwScope, { });
    } else {
        throwRequiredMemberTypeError(state, throwScope, &quot;bar&quot;, &quot;FooInit&quot;, &quot;VoidCallback&quot;);
        return { };
    }

...which (of course) fails to compile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493387</commentid>
    <comment_count>1</comment_count>
      <attachid>358816</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 12:01:40 -0800</bug_when>
    <thetext>Created attachment 358816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493436</commentid>
    <comment_count>2</comment_count>
      <attachid>358816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-10 13:46:39 -0800</bug_when>
    <thetext>Comment on attachment 358816
Patch

Clearing flags on attachment: 358816

Committed r239842: &lt;https://trac.webkit.org/changeset/239842&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493437</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-10 13:46:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493438</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-10 13:47:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/47189164&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358816</attachid>
            <date>2019-01-10 12:01:40 -0800</date>
            <delta_ts>2019-01-10 13:46:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193328-20190110120139.patch</filename>
            <type>text/plain</type>
            <size>5135</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFkMDZjNTU2ZWVjNWM4
OGUyNzI3YzE5NWNlMmNlOGIwZDJkZDEzZC4uZjM2YjMwYTZmYTAxMzg1MjhmYzg5YTMxOGVmNzdi
YWRlNDUzMGVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAxLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEJpbmRpbmdzIGdl
bmVyYXRvciBlbWl0cyBpbmNvcnJlY3QgY29kZSB3aGVuIHVzaW5nIFZvaWRDYWxsYmFjayBhcyBh
biBJREwgZGljdGlvbmFyeSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzMyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgd2hlbiBnZW5lcmF0aW5nIHRoZSBmdW5jdGlv
biBib2R5IG9mIGBjb252ZXJ0RGljdGlvbmFyeWAsIG91ciBiaW5kaW5ncyBnZW5lcmF0b3IgZG9l
cyBub3QgcGFzcyBpbiBhbgorICAgICAgICBhcmd1bWVudCB0byB1c2UgYXMgdGhlIGAkZ2xvYmFs
T2JqZWN0UmVmZXJlbmNlYCBpbiBgSlNWYWx1ZVRvTmF0aXZlYCwgd2hlbiBnZW5lcmF0aW5nIGNv
ZGUgdG8gY29udmVydCBhIHdyYXBwZWQKKyAgICAgICAgYXR0cmlidXRlIHZhbHVlIHRvIHRoZSBu
YXRpdmUgdmFsdWUuIEFzIGEgcmVzdWx0LCBpZiB0aGUgZ2VuZXJhdGVkIElETCB0eXBlIHJldHVy
bnMgYHRydWVgIGZyb20KKyAgICAgICAgYEpTVmFsdWVUb05hdGl2ZURPTUNvbnZlcnROZWVkc0ds
b2JhbE9iamVjdGAgKGkuZS4gZm9yIGNhbGxiYWNrIGZ1bmN0aW9uIHR5cGVzKSwgd2Ugd2lsbCBl
bmQgdXAgdXNpbmcgdGhlIGVtcHR5CisgICAgICAgIHN0cmluZyBhcyB0aGUgZ2VuZXJhdGVkIGV4
cHJlc3Npb24gZm9yIHRoZSBnbG9iYWwgb2JqZWN0LiBUaGlzIGVtaXRzIHN5bnRhY3RpY2FsbHkg
aW5jb3JyZWN0IGNvZGU6CisKKyAgICAgICAgICAgIGBjb252ZXJ0PElETENhbGxiYWNrRnVuY3Rp
b248SlNWb2lkQ2FsbGJhY2s+PihzdGF0ZSwgc29tZVZhbHVlLCApO2AKKworICAgICAgICBUbyBm
aXggdGhpcywgd2UgcGFzcyBpbiBhIHN0cmluZyB0byB1c2UgYXMgdGhlIGdsb2JhbCBvYmplY3Qs
IHdoaWNoIHVzZXMgdGhlIGdpdmVuIEV4ZWNTdGF0ZSB0byBncmFiIHRoZSBnbG9iYWwKKyAgICAg
ICAgb2JqZWN0LiBUZXN0ZWQgYnkgYXVnbWVudGluZyBUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnku
aWRsIGFuZCBpdHMgZ2VuZXJhdGVkIGV4cGVjdGF0aW9uLgorCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZURpY3Rpb25hcnlJ
bXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252
ZXJ0RGljdGlvbmFyeTxEaWN0aW9uYXJ5SW1wbE5hbWU+KToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmlkbDoKKwogMjAxOS0wMS0wOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTihyMjM5MTU2KTogW0ZyZWVUeXBlXSBmaXhlZCB3aWR0aCwgYW5kIHN5bnRoZXRpYyBi
b2xkL2l0YWxpYyBub3QgY29ycmVjdGx5IGFwcGxpZWQgc2luY2UgcjIzOTE1NgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBh
OTgyNjRiNzliZDhhZDk4NDAxMGNjZGZjNTY3NDAwYmQ5OGEyNjQ4Li5mOTJlZDJkZWQ5OTE4NDJl
MjMzZmZlZGY2YzVmNTc0MDRiYWM5NmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjM0OCw3ICsyMzQ4LDcgQEAgc3Vi
IEdlbmVyYXRlRGljdGlvbmFyeUltcGxlbWVudGF0aW9uQ29udGVudAogICAgICAgICAgICAgIyA0
LjMuIElmIHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW46CiAgICAgICAgICAgICAkcmVzdWx0
IC49ICIgICAgaWYgKCEke2tleX1WYWx1ZS5pc1VuZGVmaW5lZCgpKSB7XG4iOwogCi0gICAgICAg
ICAgICBteSAkbmF0aXZlVmFsdWUgPSBKU1ZhbHVlVG9OYXRpdmUoJHR5cGVTY29wZSwgJG1lbWJl
ciwgIiR7a2V5fVZhbHVlIiwgJG1lbWJlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q29uZGl0aW9u
YWx9LCAiJnN0YXRlIiwgInN0YXRlIik7CisgICAgICAgICAgICBteSAkbmF0aXZlVmFsdWUgPSBK
U1ZhbHVlVG9OYXRpdmUoJHR5cGVTY29wZSwgJG1lbWJlciwgIiR7a2V5fVZhbHVlIiwgJG1lbWJl
ci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q29uZGl0aW9uYWx9LCAiJnN0YXRlIiwgInN0YXRlIiwg
IiIsICIqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUubGV4aWNhbEdsb2JhbE9iamVj
dCgpKSIpOwogICAgICAgICAgICAgJHJlc3VsdCAuPSAiICAgICAgICByZXN1bHQuJGltcGxlbWVu
dGVkQXNLZXkgPSAkbmF0aXZlVmFsdWU7XG4iOwogICAgICAgICAgICAgJHJlc3VsdCAuPSAiICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7XG4iOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RhbmRh
bG9uZURpY3Rpb25hcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmNwcAppbmRleCBhYmM3YzQxYzM1MDM1NjFh
OTBkOGFlZTE0YzFlMDM3NGI2MWEyMTliLi5lMjEyNTllOTExZjJjYTU2NDg2ZmJjZGVjMGM3MDIw
YmY5MDZhZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5jcHAK
QEAgLTI1LDcgKzI1LDEwIEBACiAjaW5jbHVkZSAiSlNUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnku
aCIKIAogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJvb2xlYW4uaCIKKyNpbmNsdWRlICJKU0RPTUNv
bnZlcnRDYWxsYmFja3MuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU1ZvaWRDYWxsYmFjay5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAt
NTgsNiArNjEsMTcgQEAgdGVtcGxhdGU8PiBEaWN0aW9uYXJ5SW1wbE5hbWUgY29udmVydERpY3Rp
b25hcnk8RGljdGlvbmFyeUltcGxOYW1lPihFeGVjU3RhdGUmIHMKICAgICAgICAgcmVzdWx0LmJv
b2xNZW1iZXIgPSBjb252ZXJ0PElETEJvb2xlYW4+KHN0YXRlLCBib29sTWVtYmVyVmFsdWUpOwog
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgfQorICAg
IEpTVmFsdWUgY2FsbGJhY2tNZW1iZXJWYWx1ZTsKKyAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQp
CisgICAgICAgIGNhbGxiYWNrTWVtYmVyVmFsdWUgPSBqc1VuZGVmaW5lZCgpOworICAgIGVsc2Ug
eworICAgICAgICBjYWxsYmFja01lbWJlclZhbHVlID0gb2JqZWN0LT5nZXQoJnN0YXRlLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZzdGF0ZSwgImNhbGxiYWNrTWVtYmVyIikpOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgfQorICAgIGlmICghY2Fs
bGJhY2tNZW1iZXJWYWx1ZS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc3VsdC5jYWxsYmFj
a01lbWJlciA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU1ZvaWRDYWxsYmFjaz4+KHN0
YXRlLCBjYWxsYmFja01lbWJlclZhbHVlLCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3Rh
dGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgeyB9KTsKKyAgICB9CiAgICAgSlNWYWx1ZSBlbnVtTWVtYmVyVmFsdWU7CiAg
ICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKQogICAgICAgICBlbnVtTWVtYmVyVmFsdWUgPSBqc1Vu
ZGVmaW5lZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmlkbAppbmRleCA3N2E1ODk0
YjBhODAwNmYzYzY2OWJhOGFmNWQwYjEzNzY2YzhjNTYyLi41NzI3YmFjNjY4ZDFhOWVhYmFlMjYz
OTQ5ZjNmMTJkZjFmMmM3MDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmlkbApA
QCAtMzYsNCArMzYsNSBAQCBlbnVtIFRlc3RFbnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGUg
eyAiZW51bVZhbHVlMSIsICJlbnVtVmFsdWUyIiB9OwogICAgIGJvb2xlYW4gYm9vbE1lbWJlcjsK
ICAgICBET01TdHJpbmcgc3RyaW5nTWVtYmVyOwogICAgIFRlc3RFbnVtSW5TdGFuZGFsb25lRGlj
dGlvbmFyeUZpbGUgZW51bU1lbWJlcjsKKyAgICBWb2lkQ2FsbGJhY2sgY2FsbGJhY2tNZW1iZXI7
CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>