<?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>163885</bug_id>
          
          <creation_ts>2016-10-24 03:10:53 -0700</creation_ts>
          <short_desc>[CodeGeneratorJS] Support enums for standalone dictionaries</short_desc>
          <delta_ts>2016-10-24 11:27:02 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243662</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 03:10:53 -0700</bug_when>
    <thetext>[CodeGeneratorJS] Support enums for standalone dictionaries</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243664</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 03:18:07 -0700</bug_when>
    <thetext>*** Bug 163880 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243665</commentid>
    <comment_count>2</comment_count>
      <attachid>292599</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 03:20:25 -0700</bug_when>
    <thetext>Created attachment 292599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243675</commentid>
    <comment_count>3</comment_count>
      <attachid>292599</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 04:56:53 -0700</bug_when>
    <thetext>Comment on attachment 292599
Patch

LGTM, just one question below.

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

&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:219
&gt; +            $codeGenerator-&gt;GenerateDictionary($dictionary, $useDocument-&gt;enumerations);

I think I saw some IDL files with more than one dictionary inside (probably with a defined interface though).
Should we die or would it work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243686</commentid>
    <comment_count>4</comment_count>
      <attachid>292599</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 06:41:20 -0700</bug_when>
    <thetext>Comment on attachment 292599
Patch

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

&gt;&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:219
&gt;&gt; +            $codeGenerator-&gt;GenerateDictionary($dictionary, $useDocument-&gt;enumerations);
&gt; 
&gt; I think I saw some IDL files with more than one dictionary inside (probably with a defined interface though).
&gt; Should we die or would it work?

It would work if there were no enumerations. Each dictionary would have the bindings code generated into separate files. Any enumerations specified in the IDL files would have their bindings code generated in each of those files, which would throw a link-time error because of multiple definitions.

Generation of interfaces has the same problem, and the FIXME there just supposes that there are no multiple interfaces in an IDL file that also contains enumerations or dictionaries. An exit in case of multiple interfaces or dictionaries would probably make the most sense at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243687</commentid>
    <comment_count>5</comment_count>
      <attachid>292599</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 06:53:28 -0700</bug_when>
    <thetext>Comment on attachment 292599
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243688</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 06:56:05 -0700</bug_when>
    <thetext>&gt; Generation of interfaces has the same problem, and the FIXME there just
&gt; supposes that there are no multiple interfaces in an IDL file that also
&gt; contains enumerations or dictionaries. An exit in case of multiple
&gt; interfaces or dictionaries would probably make the most sense at this point.

If that is just one line, adding such a check might make sense, at least in the case of dictionaries where there could be multiple dictionaries in the same file (TypeConversions.idl e.g.).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243695</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 07:41:00 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Generation of interfaces has the same problem, and the FIXME there just
&gt; &gt; supposes that there are no multiple interfaces in an IDL file that also
&gt; &gt; contains enumerations or dictionaries. An exit in case of multiple
&gt; &gt; interfaces or dictionaries would probably make the most sense at this point.
&gt; 
&gt; If that is just one line, adding such a check might make sense, at least in
&gt; the case of dictionaries where there could be multiple dictionaries in the
&gt; same file (TypeConversions.idl e.g.).

Bug #163889.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243729</commentid>
    <comment_count>8</comment_count>
      <attachid>292599</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-24 09:35:22 -0700</bug_when>
    <thetext>Comment on attachment 292599
Patch

It is hard to say without seeing where this is actually going to be used but are there cases where the enum is used in the dictionary but not in the interfaces using the dictionary? Because if it the enum is used in both the interfaces and the standalone dictionary, then we likely want to add support for standalone enumerations (i.e. having enumerations in their own IDL file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243776</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 10:54:17 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 292599 [details]
&gt; Patch
&gt; 
&gt; It is hard to say without seeing where this is actually going to be used but
&gt; are there cases where the enum is used in the dictionary but not in the
&gt; interfaces using the dictionary? Because if it the enum is used in both the
&gt; interfaces and the standalone dictionary, then we likely want to add support
&gt; for standalone enumerations (i.e. having enumerations in their own IDL file).

One future case where an enum is only used in a dictionary is the MediaKeySystemConfiguration dictionary and the accompanying MediaKeysRequirement enum.
https://w3c.github.io/encrypted-media/#mediakeysystemconfiguration-dictionary

It&apos;s likely that standalone enum support will be needed at some point in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243802</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-24 11:27:02 -0700</bug_when>
    <thetext>Committed r207768: &lt;http://trac.webkit.org/changeset/207768&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292599</attachid>
            <date>2016-10-24 03:20:25 -0700</date>
            <delta_ts>2016-10-24 06:53:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163885-20161024031641.patch</filename>
            <type>text/plain</type>
            <size>11268</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJjNWNkNWJmMGE1MTA0
M2YyOTQ0NzJlYTM2NTkzNjk3ODcyZTZhNC4uYmRiYWQ4YjNmZGI2NjZiMzIxZDRiODc2NDc2NWRj
M2ZlY2YzNjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTEwLTI0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29kZUdlbmVyYXRv
ckpTXSBTdXBwb3J0IGVudW1zIGZvciBzdGFuZGFsb25lIGRpY3Rpb25hcmllcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODg1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGVu
dW1lcmF0aW9ucyBpbiBXZWJJREwgZmlsZXMgdGhhdCBzcGVjaWZ5CisgICAgICAgIHN0YW5kYWxv
bmUgZGljdGlvbmFyaWVzLiBJbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGlzIHByZXR0eQorICAgICAg
ICBzdHJhaWdodC1mb3J3YXJkIGFuZCBtaXJyb3JzIGludGVyZmFjZSBhbmQgY2FsbGJhY2sgZ2Vu
ZXJhdG9ycworICAgICAgICBieSBjYWxsaW5nIEdlbmVyYXRlRW51bWVyYXRpb25ze0hlYWRlcixJ
bXBsZW1lbnRhdGlvbn1Db250ZW50KCkKKyAgICAgICAgZnVuY3Rpb25zIGluIEdlbmVyYXRlRGlj
dGlvbmFyeXtIZWFkZXIsSW1wbGVtZW50YXRpb259KCkuCisKKyAgICAgICAgSW4gR2VuZXJhdGVF
bnVtZXJhdGlvbnNJbXBsZW1lbnRhdGlvbkNvbnRlbnQoKSwgdGhlCisgICAgICAgIE5ldmVyRGVz
dHJveWVkLmggaGVhZGVyIGlzIGFkZGVkIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBpbmNsdWRlcwor
ICAgICAgICBzaW5jZSB0aGF0IGNsYXNzIGlzIHVzZWQgdG8gaG9sZCBhbiBhcnJheSBvZiBwb3Nz
aWJsZSBlbnVtCisgICAgICAgIHZhbHVlcy4KKworICAgICAgICBBIHRlc3QgZW51bSBpcyBhZGRl
ZCB0byB0aGUgVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmlkbCBmaWxlCisgICAgICAgIGFuZCB0
aGUgYmFzZWxpbmVzIGFyZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIG5ldyBjYXBhYmlsaXR5Lgor
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtOgorICAgICAgICAo
UHJvY2Vzc0RvY3VtZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlRGljdGlvbmFyeSk6CisgICAgICAgIChHZW5lcmF0
ZUVudW1lcmF0aW9uc0ltcGxlbWVudGF0aW9uQ29udGVudCk6CisgICAgICAgIChHZW5lcmF0ZURp
Y3Rpb25hcnlIZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVEaWN0aW9uYXJ5SW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25l
RGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RW51bWVyYXRpb25Ub0pT
KToKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlRW51bWVyYXRpb248VGVzdFN0YW5kYWxvbmVEaWN0
aW9uYXJ5OjpFbnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGU+KToKKyAgICAgICAgKFdlYkNv
cmU6OmNvbnZlcnRFbnVtZXJhdGlvbjxUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0
YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZT4pOgorICAgICAgICAoV2ViQ29yZTo6ZXhwZWN0ZWRFbnVt
ZXJhdGlvblZhbHVlczxUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0YW5kYWxvbmVE
aWN0aW9uYXJ5RmlsZT4pOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydERpY3Rpb25hcnk8RGlj
dGlvbmFyeUltcGxOYW1lPik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5pZGw6CisKIDIwMTYtMTAtMjIgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBBZGQgSURMVHlwZSBiYXNl
ZCB0b0pTIGNvbnZlcnNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQppbmRleCBiZjQ3YTNiNzg0ZDBmOTI5N2NkYjBjM2E3NzUyMTNiNzVh
ODA5M2UxLi45MDI3OWI5NjNkNTQ5Njg4OGFlYTJkNTdiZWM0N2IyYjE1ZmQ4ZGZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC0y
MTYsNyArMjE2LDcgQEAgc3ViIFByb2Nlc3NEb2N1bWVudAogICAgICMgSXQgaXMgcG9zc2libGUg
dG8gaGF2ZSBkaWN0aW9uYXJpZXMgaW4gYW4gSURMIGZpbGUgd2l0aG91dCBhbnkgaW50ZXJmYWNl
LgogICAgIHVubGVzcyAoQCRpbnRlcmZhY2VzKSB7CiAgICAgICAgIGZvcmVhY2ggbXkgJGRpY3Rp
b25hcnkgKEB7JHVzZURvY3VtZW50LT5kaWN0aW9uYXJpZXN9KSB7Ci0gICAgICAgICAgICAkY29k
ZUdlbmVyYXRvci0+R2VuZXJhdGVEaWN0aW9uYXJ5KCRkaWN0aW9uYXJ5KTsKKyAgICAgICAgICAg
ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZURpY3Rpb25hcnkoJGRpY3Rpb25hcnksICR1c2VEb2N1
bWVudC0+ZW51bWVyYXRpb25zKTsKICAgICAgICAgICAgICRjb2RlR2VuZXJhdG9yLT5Xcml0ZURh
dGEoJGRpY3Rpb25hcnksICR1c2VPdXRwdXREaXIsICR1c2VPdXRwdXRIZWFkZXJzRGlyKTsKICAg
ICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOGU4MTliNzZmOGYzZjJlZjNjNjczYzUzYzY4NzZkMmYx
MWIyMGJhNy4uNDc2NmVkMTYxYjU3ZTAzNzZkN2RhNzFhODRjZDc2YTFlMGE2ZWYwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
QEAgLTEzNCwxMSArMTM0LDExIEBAIHN1YiBuZXcKIAogc3ViIEdlbmVyYXRlRGljdGlvbmFyeQog
ewotICAgIG15ICgkb2JqZWN0LCAkZGljdGlvbmFyeSkgPSBAXzsKKyAgICBteSAoJG9iamVjdCwg
JGRpY3Rpb25hcnksICRlbnVtZXJhdGlvbnMpID0gQF87CiAKICAgICBteSAkY2xhc3NOYW1lID0g
R2V0RGljdGlvbmFyeUNsYXNzTmFtZSgkZGljdGlvbmFyeS0+bmFtZSk7Ci0gICAgJG9iamVjdC0+
R2VuZXJhdGVEaWN0aW9uYXJ5SGVhZGVyKCRkaWN0aW9uYXJ5LCAkY2xhc3NOYW1lKTsKLSAgICAk
b2JqZWN0LT5HZW5lcmF0ZURpY3Rpb25hcnlJbXBsZW1lbnRhdGlvbigkZGljdGlvbmFyeSwgJGNs
YXNzTmFtZSk7CisgICAgJG9iamVjdC0+R2VuZXJhdGVEaWN0aW9uYXJ5SGVhZGVyKCRkaWN0aW9u
YXJ5LCAkY2xhc3NOYW1lLCAkZW51bWVyYXRpb25zKTsKKyAgICAkb2JqZWN0LT5HZW5lcmF0ZURp
Y3Rpb25hcnlJbXBsZW1lbnRhdGlvbigkZGljdGlvbmFyeSwgJGNsYXNzTmFtZSwgJGVudW1lcmF0
aW9ucyk7CiB9CiAKIHN1YiBHZW5lcmF0ZUludGVyZmFjZQpAQCAtODg5LDYgKzg4OSw3IEBAIHN1
YiBHZW5lcmF0ZUVudW1lcmF0aW9uc0ltcGxlbWVudGF0aW9uQ29udGVudAogICAgICAgICAkcmVz
dWx0IC49ICJ7XG4iOwogICAgICAgICAjIEZJWE1FOiBNaWdodCBiZSBuaWNlIHRvIG1ha2UgdGhp
cyBnbG9iYWwgYmUgImNvbnN0IiwgYnV0IE5ldmVyRGVzdHJveWVkIGRvZXMgbm90IGN1cnJlbnRs
eSBzdXBwb3J0IHRoYXQuCiAgICAgICAgICMgRklYTUU6IE1pZ2h0IGJlIG5pY2UgdG8gbWFrZSB0
aGUgZW50aXJlIGFycmF5IGJlIE5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YgZWFjaCB2YWx1ZSwg
YnV0IG5vdCBzdXJlIHdoYXQgdGhlIHN5bnRheCBmb3IgdGhhdCBpcy4KKyAgICAgICAgQWRkVG9J
bXBsSW5jbHVkZXMoIjx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4iKTsKICAgICAgICAgJHJlc3VsdCAu
PSAiICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHZhbHVlc1tdID0ge1xu
IjsKICAgICAgICAgZm9yZWFjaCBteSAkdmFsdWUgKEB7JGVudW1lcmF0aW9uLT52YWx1ZXN9KSB7
CiAgICAgICAgICAgICBpZiAoJHZhbHVlIGVxICIiKSB7CkBAIC00NDU0LDcgKzQ0NTUsNyBAQCBz
dWIgR2VuZXJhdGVSZXR1cm5QYXJhbWV0ZXJzCiAKIHN1YiBHZW5lcmF0ZURpY3Rpb25hcnlIZWFk
ZXIKIHsKLSAgICBteSAoJG9iamVjdCwgJGRpY3Rpb25hcnksICRjbGFzc05hbWUpID0gQF87Cisg
ICAgbXkgKCRvYmplY3QsICRkaWN0aW9uYXJ5LCAkY2xhc3NOYW1lLCAkZW51bWVyYXRpb25zKSA9
IEBfOwogCiAgICAgbXkgJGRpY3Rpb25hcnlOYW1lID0gJGRpY3Rpb25hcnktPm5hbWU7CiAKQEAg
LTQ0NjYsNiArNDQ2Nyw3IEBAIHN1YiBHZW5lcmF0ZURpY3Rpb25hcnlIZWFkZXIKIAogICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICJcbm5hbWVzcGFjZSBXZWJDb3JlIHtcblxuIik7CiAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgR2VuZXJhdGVEaWN0aW9uYXJ5SGVhZGVyQ29udGVudCgkZGljdGlv
bmFyeSwgJGNsYXNzTmFtZSkpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIEdlbmVyYXRlRW51
bWVyYXRpb25zSGVhZGVyQ29udGVudCgkZGljdGlvbmFyeSwgJGVudW1lcmF0aW9ucykpOwogICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICJ9IC8vIG5hbWVzcGFjZSBXZWJDb3JlXG4iKTsKICAgICAK
ICAgICAjIC0gR2VuZXJhdGUgZGVwZW5kZW5jaWVzLgpAQCAtNDQ4NSwxMyArNDQ4NywxNCBAQCBz
dWIgR2VuZXJhdGVEaWN0aW9uYXJ5SGVhZGVyCiAKIHN1YiBHZW5lcmF0ZURpY3Rpb25hcnlJbXBs
ZW1lbnRhdGlvbgogewotICAgIG15ICgkb2JqZWN0LCAkZGljdGlvbmFyeSwgJGNsYXNzTmFtZSkg
PSBAXzsKKyAgICBteSAoJG9iamVjdCwgJGRpY3Rpb25hcnksICRjbGFzc05hbWUsICRlbnVtZXJh
dGlvbnMpID0gQF87CiAKICAgICAjIC0gQWRkIGRlZmF1bHQgaGVhZGVyIHRlbXBsYXRlCiAgICAg
cHVzaChAaW1wbENvbnRlbnRIZWFkZXIsIEdlbmVyYXRlSW1wbGVtZW50YXRpb25Db250ZW50SGVh
ZGVyKCRkaWN0aW9uYXJ5KSk7CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxudXNpbmcgbmFt
ZXNwYWNlIEpTQztcblxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJuYW1lc3BhY2UgV2Vi
Q29yZSB7XG5cbiIpOworICAgIHB1c2goQGltcGxDb250ZW50LCBHZW5lcmF0ZUVudW1lcmF0aW9u
c0ltcGxlbWVudGF0aW9uQ29udGVudCgkZGljdGlvbmFyeSwgJGVudW1lcmF0aW9ucykpOwogICAg
IHB1c2goQGltcGxDb250ZW50LCBHZW5lcmF0ZURpY3Rpb25hcnlJbXBsZW1lbnRhdGlvbkNvbnRl
bnQoJGRpY3Rpb25hcnksICRjbGFzc05hbWUpKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmVcbiIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25l
RGljdGlvbmFyeS5jcHAKaW5kZXggM2Q3ZjBmNGY1ZDI2Y2MyMWQ5NzY3OWNjODVjODJmZTZkNWE3
NDBlMC4uOWRiZTFjNzU0MjJkMzExZmQ1NzNkMmZmNjg4OGRlMjU0NGQ2ZjZhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0YW5kYWxv
bmVEaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkuY3BwCkBAIC0yMSwxMSArMjEsNTIgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU1Rlc3RTdGFuZGFsb25lRGljdGlvbmFy
eS5oIgogCisjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3RlbXBsYXRlPD4gSlNTdHJpbmcqIGNvbnZlcnRFbnVtZXJhdGlvblRvSlMoRXhlY1N0
YXRlJiBzdGF0ZSwgVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5OjpFbnVtSW5TdGFuZGFsb25lRGlj
dGlvbmFyeUZpbGUgZW51bWVyYXRpb25WYWx1ZSkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgU3RyaW5nPiB2YWx1ZXNbXSA9IHsKKyAgICAgICAgQVNDSUlMaXRlcmFsKCJlbnVt
VmFsdWUxIiksCisgICAgICAgIEFTQ0lJTGl0ZXJhbCgiZW51bVZhbHVlMiIpLAorICAgIH07Cisg
ICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFRlc3RTdGFuZGFsb25lRGljdGlv
bmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlOjpFbnVtVmFsdWUxKSA9PSAwLCAi
VGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5OjpFbnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGU6
OkVudW1WYWx1ZTEgaXMgbm90IDAgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0
YXRpY19jYXN0PHNpemVfdD4oVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5OjpFbnVtSW5TdGFuZGFs
b25lRGljdGlvbmFyeUZpbGU6OkVudW1WYWx1ZTIpID09IDEsICJUZXN0U3RhbmRhbG9uZURpY3Rp
b25hcnk6OkVudW1JblN0YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZTo6RW51bVZhbHVlMiBpcyBub3Qg
MSBhcyBleHBlY3RlZCIpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0
aW9uVmFsdWUpIDwgV1RGX0FSUkFZX0xFTkdUSCh2YWx1ZXMpKTsKKyAgICByZXR1cm4ganNTdHJp
bmdXaXRoQ2FjaGUoJnN0YXRlLCB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlv
blZhbHVlKV0pOworfQorCit0ZW1wbGF0ZTw+IE9wdGlvbmFsPFRlc3RTdGFuZGFsb25lRGljdGlv
bmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPiBwYXJzZUVudW1lcmF0aW9uPFRl
c3RTdGFuZGFsb25lRGljdGlvbmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPihF
eGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGF1dG8gc3RyaW5nVmFsdWUg
PSB2YWx1ZS50b1dURlN0cmluZygmc3RhdGUpOworICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAiZW51
bVZhbHVlMSIpCisgICAgICAgIHJldHVybiBUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1J
blN0YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZTo6RW51bVZhbHVlMTsKKyAgICBpZiAoc3RyaW5nVmFs
dWUgPT0gImVudW1WYWx1ZTIiKQorICAgICAgICByZXR1cm4gVGVzdFN0YW5kYWxvbmVEaWN0aW9u
YXJ5OjpFbnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGU6OkVudW1WYWx1ZTI7CisgICAgcmV0
dXJuIE51bGxvcHQ7Cit9CisKK3RlbXBsYXRlPD4gVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5OjpF
bnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGUgY29udmVydEVudW1lcmF0aW9uPFRlc3RTdGFu
ZGFsb25lRGljdGlvbmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPihFeGVjU3Rh
dGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Cisg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byBy
ZXN1bHQgPSBwYXJzZUVudW1lcmF0aW9uPFRlc3RTdGFuZGFsb25lRGljdGlvbmFyeTo6RW51bUlu
U3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPihzdGF0ZSwgdmFsdWUpOworICAgIGlmIChVTkxJS0VM
WSghcmVzdWx0KSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcigmc3RhdGUsIHRocm93U2NvcGUp
OworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0LnZhbHVlKCk7
Cit9CisKK3RlbXBsYXRlPD4gY29uc3QgY2hhciogZXhwZWN0ZWRFbnVtZXJhdGlvblZhbHVlczxU
ZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZT4o
KQoreworICAgIHJldHVybiAiXCJlbnVtVmFsdWUxXCIsIFwiZW51bVZhbHVlMlwiIjsKK30KKwog
dGVtcGxhdGU8PiBEaWN0aW9uYXJ5SW1wbE5hbWUgY29udmVydERpY3Rpb25hcnk8RGljdGlvbmFy
eUltcGxOYW1lPihFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIFZNJiB2
bSA9IHN0YXRlLnZtKCk7CkBAIC00Niw2ICs4NywxMSBAQCB0ZW1wbGF0ZTw+IERpY3Rpb25hcnlJ
bXBsTmFtZSBjb252ZXJ0RGljdGlvbmFyeTxEaWN0aW9uYXJ5SW1wbE5hbWU+KEV4ZWNTdGF0ZSYg
cwogICAgICAgICByZXN1bHQuYm9vbE1lbWJlciA9IGNvbnZlcnQ8SURMQm9vbGVhbj4oc3RhdGUs
IGJvb2xNZW1iZXJWYWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgeyB9KTsKICAgICB9CisgICAgSlNWYWx1ZSBlbnVtTWVtYmVyVmFsdWUgPSBpc051bGxPclVu
ZGVmaW5lZCA/IGpzVW5kZWZpbmVkKCkgOiBvYmplY3QtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6
OmZyb21TdHJpbmcoJnN0YXRlLCAiZW51bU1lbWJlciIpKTsKKyAgICBpZiAoIWVudW1NZW1iZXJW
YWx1ZS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc3VsdC5lbnVtTWVtYmVyID0gY29udmVy
dDxJRExFbnVtZXJhdGlvbjxUZXN0RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPj4oc3Rh
dGUsIGVudW1NZW1iZXJWYWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKKyAgICB9CiAgICAgSlNWYWx1ZSBzdHJpbmdNZW1iZXJWYWx1ZSA9IGlzTnVs
bE9yVW5kZWZpbmVkID8ganNVbmRlZmluZWQoKSA6IG9iamVjdC0+Z2V0KCZzdGF0ZSwgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZygmc3RhdGUsICJzdHJpbmdNZW1iZXIiKSk7CiAgICAgaWYgKCFzdHJp
bmdNZW1iZXJWYWx1ZS5pc1VuZGVmaW5lZCgpKSB7CiAgICAgICAgIHJlc3VsdC5zdHJpbmdNZW1i
ZXIgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHN0cmluZ01lbWJlclZhbHVlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dGFuZGFsb25lRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmgKaW5kZXggNzZhMmFiMWJhNzY4N2Qz
NDBlNjBmZjkyYTk0ZDc4ZTNhYWYzNjdlMC4uYzQ1ZGExYjVlY2I4NDNiMzU1MTgyMzhlOWRiYjgw
MzExOTkzOTM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmgKQEAg
LTI3LDQgKzI3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGU8PiBEaWN0aW9u
YXJ5SW1wbE5hbWUgY29udmVydERpY3Rpb25hcnk8RGljdGlvbmFyeUltcGxOYW1lPihKU0M6OkV4
ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSk7CiAKK3RlbXBsYXRlPD4gSlNDOjpKU1N0cmluZyogY29u
dmVydEVudW1lcmF0aW9uVG9KUyhKU0M6OkV4ZWNTdGF0ZSYsIFRlc3RTdGFuZGFsb25lRGljdGlv
bmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlKTsKKwordGVtcGxhdGU8PiBPcHRp
b25hbDxUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0YW5kYWxvbmVEaWN0aW9uYXJ5
RmlsZT4gcGFyc2VFbnVtZXJhdGlvbjxUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0
YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZT4oSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOwor
dGVtcGxhdGU8PiBUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0YW5kYWxvbmVEaWN0
aW9uYXJ5RmlsZSBjb252ZXJ0RW51bWVyYXRpb248VGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5OjpF
bnVtSW5TdGFuZGFsb25lRGljdGlvbmFyeUZpbGU+KEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1Zh
bHVlKTsKK3RlbXBsYXRlPD4gY29uc3QgY2hhciogZXhwZWN0ZWRFbnVtZXJhdGlvblZhbHVlczxU
ZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6OkVudW1JblN0YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZT4o
KTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5
LmlkbAppbmRleCA5NTg5N2VhMmFjZTQzMjUyZjQxZDFkYmIxODg0NDYyNGVmMjljMmEzLi41NTVk
NjQyMTcyODBhNTg0OWIzZGQzMzcxZTRkODI4NTVmYjU5ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN0YW5kYWxv
bmVEaWN0aW9uYXJ5LmlkbApAQCAtMjYsOSArMjYsMTIgQEAKICAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAor
ZW51bSBUZXN0RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlIHsgImVudW1WYWx1ZTEiLCAi
ZW51bVZhbHVlMiIgfTsKKwogWwogICAgIEltcGxlbWVudGVkQXM9RGljdGlvbmFyeUltcGxOYW1l
LAogXSBkaWN0aW9uYXJ5IFRlc3RTdGFuZGFsb25lRGljdGlvbmFyeSB7CiAgICAgYm9vbGVhbiBi
b29sTWVtYmVyOwogICAgIERPTVN0cmluZyBzdHJpbmdNZW1iZXI7CisgICAgVGVzdEVudW1JblN0
YW5kYWxvbmVEaWN0aW9uYXJ5RmlsZSBlbnVtTWVtYmVyOwogfTsK
</data>
<flag name="review"
          id="315633"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>