<?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>111687</bug_id>
          
          <creation_ts>2013-03-06 22:58:47 -0800</creation_ts>
          <short_desc>FormData should allow setting filename to empty</short_desc>
          <delta_ts>2013-03-07 17:19:16 -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>Page Loading</component>
          <version>528+ (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>
          <dependson>111765</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>annevk</cc>
    
    <cc>costan</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>michaeln</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>849763</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-06 22:58:47 -0800</bug_when>
    <thetext>Per XMLHttpRequest spec, empty filename should be supported:

- Set its name to name.
- Set its value to value.
- Set its type to &quot;text&quot; if value is a string and &quot;file&quot; if it is a Blob.
- If its type is &quot;file&quot; set its filename to &quot;blob&quot;.
- If its type is &quot;file&quot; and value is a File whose name attribute is not the empty string, set entry&apos;s filename to the attribute&apos;s value.
- If the filename parameter is not omitted set entry&apos;s filename to filename.

This makes sense, because empty form type=file controls are sent as files with empty name by normal form submission.

Also, this would be helpful for WebKit, because currently we have to simulate empty path with a File that has an empty path internally, which is an unfortunate hack. Using a blob would be nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849771</commentid>
    <comment_count>1</comment_count>
      <attachid>191928</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-06 23:12:07 -0800</bug_when>
    <thetext>Created attachment 191928
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849779</commentid>
    <comment_count>2</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-06 23:21:46 -0800</bug_when>
    <thetext>Thank you for cc-ing me on this! I will use the test structure you set up there for the tests in 111380.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849791</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-06 23:31:36 -0800</bug_when>
    <thetext>&gt; we have to simulate empty path with a File that has an empty path

This wasn&apos;t very clear, but the patch should speak louder than words.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849843</commentid>
    <comment_count>4</comment_count>
      <attachid>191928</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-07 01:03:15 -0800</bug_when>
    <thetext>Comment on attachment 191928
proposed fix

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

&gt; Source/WebCore/html/FileInputType.cpp:158
&gt; +        encoding.appendBlob(element()-&gt;name(), BlobBuilder().getBlob(&quot;application/octet-stream&quot;), emptyString());

ASCIILiteral(&quot;application/octet-stream&quot;)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850128</commentid>
    <comment_count>5</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-07 08:44:03 -0800</bug_when>
    <thetext>Since BlobBuilder was deprecated in the spec, would it simplify the code if its implementation was moved into the Blob constructor?
 
I&apos;m not saying that this should happen here, BTW. I&apos;m mostly asking because I&apos;d be interested in taking up the cleanup work, to learn more about the codebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850207</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 10:06:44 -0800</bug_when>
    <thetext>&gt; ASCIILiteral(&quot;application/octet-stream&quot;)?

Can do.

&gt; Since BlobBuilder was deprecated in the spec, would it simplify the code if its implementation was moved into the Blob constructor?

Possibly. Currently, BlobBuilder interface is a bit too large to include into Blob, and it&apos;s oriented towards incremental building. But perhaps most of that is not needed any more, and can be simplified.

In this patch, I could have avoided using BlobBuilder, although I&apos;m not sure if that&apos;s a win:

OwnPtr&lt;BlobData&gt; emptyBlobData = BlobData::create();
emptyBlobData-&gt;setContentType(ASCIILiteral(&quot;application/octet-stream&quot;));
encoding.appendBlob(element()-&gt;name(), Blob::create(emptyBlobData.release(), 0), emptyString());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850233</commentid>
    <comment_count>7</comment_count>
      <attachid>191928</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-07 10:19:30 -0800</bug_when>
    <thetext>Comment on attachment 191928
proposed fix

R+ with ASCIILiteral fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850238</commentid>
    <comment_count>8</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-07 10:25:28 -0800</bug_when>
    <thetext>I also don&apos;t think removing the BlobBuilder reference is a win. If that cleanup is ever desirable, I&apos;d like to have a helper that makes this task a one-liner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850242</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 10:27:36 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/145097&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850379</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 12:29:34 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 111765</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850380</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-07 12:29:55 -0800</bug_when>
    <thetext>ap and I discussed this topic on #webkit.  We&apos;re going to roll out the change for the time being.  I&apos;m going to remove the ASSERT from the Chromium code and then re-land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850445</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-07 13:31:38 -0800</bug_when>
    <thetext>Chromium side-change is under review at https://codereview.chromium.org/12633004/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850504</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 14:53:19 -0800</bug_when>
    <thetext>OK, so turns out that old and new code is equally wrong in this regard, but old code did not have an assertion to catch that.

What happens is that the object created here is deleted earlier than it should be - it is owned by DOMFormData, and that&apos;s destroyed at the end of FormSubmission::create(). So, a Blob or a File becomes unregistered in blob registry, and cannot be used when actually building form data stream in another process.

We should obviously keep uploaded objects alive while form submission takes place.

Anyway, I&apos;m going to re-land the parts of this patch that actually implement what bug title says. This additional fix should be made separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850507</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-07 14:59:58 -0800</bug_when>
    <thetext>&gt; Anyway, I&apos;m going to re-land the parts of this patch that actually implement what bug title says. This additional fix should be made separately.

It&apos;s unclear to me whether I should land &lt;https://codereview.chromium.org/12633004/&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850512</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 15:05:24 -0800</bug_when>
    <thetext>Re-landed safe parts in &lt;http://trac.webkit.org/changeset/145142&gt;. Filed bug 111778 to track the pre-existing issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850513</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 15:05:48 -0800</bug_when>
    <thetext>&gt; It&apos;s unclear to me whether I should land &lt;https://codereview.chromium.org/12633004/&gt;.

I don&apos;t think that it should be landed any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850514</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-07 15:07:57 -0800</bug_when>
    <thetext>&gt; I don&apos;t think that it should be landed any more.

Thanks.  I&apos;ve marked the code review as closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850516</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 15:09:55 -0800</bug_when>
    <thetext>I appreciate your help dealing with this issue, and Michael&apos;s insight into the reasons of the assertion!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850517</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2013-03-07 15:11:02 -0800</bug_when>
    <thetext>Fyi: I&apos;ve been working towards fixing that for a while now. Its not just a problem with FormData. The changes I&apos;ve got are simple enough but landing it is troublesome because I&apos;m changing what the blob identifiers identify and I haven&apos;t come up with a great way to do that given the chromium/webkit split svn personality. 

webcore changes - https://codereview.chromium.org/11192017/
chromium changes - https://codereview.chromium.org/11410019/

I have been whittling down on the size of these changes by landing smaller parts independently. This small change awaiting review is a part of that...
   https://bugs.webkit.org/show_bug.cgi?id=108851
... but there come the time to change what the identifier identifies and I don&apos;t know how to cross that chasm quite yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850590</commentid>
    <comment_count>20</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2013-03-07 16:14:03 -0800</bug_when>
    <thetext>Here&apos;s the umbrella bug open for that.
https://bugs.webkit.org/show_bug.cgi?id=108733</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850613</commentid>
    <comment_count>21</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-07 16:33:28 -0800</bug_when>
    <thetext>http/tests/misc/empty-file-formdata.html is failing on WK1 Mac after this
http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r145143%20(7681)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850684</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-07 17:19:16 -0800</bug_when>
    <thetext>Accidental commit of local changes, fixed that now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191928</attachid>
            <date>2013-03-06 23:12:07 -0800</date>
            <delta_ts>2013-03-07 10:19:30 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>EmptyFilename.txt</filename>
            <type>text/plain</type>
            <size>10901</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTA0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAzLTA2ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEZvcm1EYXRhIHNob3VsZCBh
bGxvdyBzZXR0aW5nIGZpbGVuYW1lIHRvIGVtcHR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE2ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9z
ZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5LWJsb2ItZmlsZW5hbWUuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5LWZp
bGUtZmlsZW5hbWUuaHRtbAorCisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDogKFdl
YkNvcmU6OkZpbGVJbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhKToKKyAgICAgICAgVXNlIGEgQmxv
YiBmb3IgZW1wdHkgZmlsZSBpbnB1dCwgbm90IGEgaGFja3kgRmlsZSB3aXRoIGVtcHR5IHBhdGgu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcDogKFdlYkNvcmU6OkZv
cm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyk6CisgICAgICAgIE1pc3NpbmcgdmFsdWUg
aXMgYSBudWxsIHN0cmluZy4gSWYgdGhlIHN0cmluZyBpcyBlbXB0eSwgd2Ugc2hvdWxkIHRyZWF0
IGlzIGFzCisgICAgICAgIGF1dGhvcml0YXRpdmUuCisKIDIwMTMtMDMtMDYgIFBhd2XFgiBGb3J5
c2l1ayAgPHR1eGF0b3JAbzIucGw+CiAKICAgICAgICAgV2ViS2l0IGRvZXMgbm90IGJ1aWxkIHdp
dGhvdXQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgYWZ0ZXIgQ2hhbmdlc2V0IDE0NDgyMwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCShyZXZpc2lvbiAxNDUwMjIpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgorI2lu
Y2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CkBAIC0xNTQsNyArMTU1LDcgQEAgYm9vbCBGaWxlSW5wdXRUeXBlOjphcHBl
bmRGb3JtRGF0YShGb3JtRAogICAgIC8vIElmIG5vIGZpbGVuYW1lIGF0IGFsbCBpcyBlbnRlcmVk
LCByZXR1cm4gc3VjY2Vzc2Z1bCBidXQgZW1wdHkuCiAgICAgLy8gTnVsbCB3b3VsZCBiZSBtb3Jl
IGxvZ2ljYWwsIGJ1dCBOZXRzY2FwZSBwb3N0cyBhbiBlbXB0eSBmaWxlLiBBcmdoLgogICAgIGlm
ICghbnVtRmlsZXMpIHsKLSAgICAgICAgZW5jb2RpbmcuYXBwZW5kQmxvYihlbGVtZW50KCktPm5h
bWUoKSwgRmlsZTo6Y3JlYXRlKCIiKSk7CisgICAgICAgIGVuY29kaW5nLmFwcGVuZEJsb2IoZWxl
bWVudCgpLT5uYW1lKCksIEJsb2JCdWlsZGVyKCkuZ2V0QmxvYigiYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtIiksIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCShy
ZXZpc2lvbiAxNDUwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1E
YXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDExICsyNDQsMTEgQEAgdm9pZCBGb3JtRGF0
YTo6YXBwZW5kS2V5VmFsdWVQYWlySXRlbXMoYwogICAgICAgICAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgICAgICAgICAgLy8gSWYgYSBmaWxlbmFtZSBpcyBwYXNzZWQgaW4gRm9ybURhdGEu
YXBwZW5kKCksIHVzZSBpdCBpbnN0ZWFkIG9mIHRoZSBmaWxlIGJsb2IncyBuYW1lLgotICAgICAg
ICAgICAgICAgICAgICBpZiAoIXZhbHVlLmZpbGVuYW1lKCkuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgICAgICAgICBpZiAoIXZhbHVlLmZpbGVuYW1lKCkuaXNOdWxsKCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICBuYW1lID0gdmFsdWUuZmlsZW5hbWUoKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICAgICAvLyBGb3Igbm9uLWZpbGUgYmxvYiwgdXNlIHRoZSBm
aWxlbmFtZSBpZiBpdCBpcyBwYXNzZWQgaW4gRm9ybURhdGEuYXBwZW5kKCkuCi0gICAgICAgICAg
ICAgICAgICAgIGlmICghdmFsdWUuZmlsZW5hbWUoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICAg
ICAgICAgIGlmICghdmFsdWUuZmlsZW5hbWUoKS5pc051bGwoKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hbWUgPSB2YWx1ZS5maWxlbmFtZSgpOwogICAgICAgICAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gImJsb2IiOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTQ1MDQxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTMtMDMtMDYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5j
b20+CisKKyAgICAgICAgRm9ybURhdGEgc2hvdWxkIGFsbG93IHNldHRpbmcgZmlsZW5hbWUgdG8g
ZW1wdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
MTY4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5LWJsb2It
ZmlsZW5hbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2Fs
L2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktYmxvYi1maWxlbmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRh
LXdpdGgtZW1wdHktZmlsZS1maWxlbmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1lbXB0eS1maWxl
LWZpbGVuYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL211bHRpcGFydC1wb3N0LWVjaG8tZmlsZW5hbWVzLnBocDogQWRkZWQuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczogU2tpcCBvbmUgb2YgdGhl
IHRlc3RzLCBhcyBpdCB1c2VzIGJlZ2luRHJhZ1dpdGhGaWxlcy4KKwogMjAxMy0wMy0wNiAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE0NDcyNi4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1lbXB0eS1ibG9iLWZpbGVuYW1lLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zv
cm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktYmxvYi1maWxlbmFtZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRh
L3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktYmxvYi1maWxlbmFtZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCBmaWxlbmFtZSBwYXNzZWQgdG8g
Rm9ybURhdGEuYXBwZW5kKCkgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGRlZmF1bHQgQmxvYiBmaWxl
bmFtZSAnYmxvYicsIGV2ZW4gaWYgZW1wdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitTZW5kaW5nIEZvcm1EYXRhIGNvbnRhaW5pbmcgb25lIGJsb2Igd2l0aCBjdXN0b20gZW1w
dHkgZmlsZW5hbWU6CitQQVNTIGZpbGVuYW1lIGlzICcnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5
LWJsb2ItZmlsZW5hbWUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5
cGUKICAgKyB0ZXh0L3BsYWluCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13
aXRoLWVtcHR5LWJsb2ItZmlsZW5hbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktYmxvYi1m
aWxlbmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Nh
bC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5LWJsb2ItZmlsZW5hbWUuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVz
dCB0aGF0IGZpbGVuYW1lIHBhc3NlZCB0byBGb3JtRGF0YS5hcHBlbmQoKSB0YWtlcyBwcmVjZWRl
bmNlIG92ZXIgZGVmYXVsdCBCbG9iIGZpbGVuYW1lICdibG9iJywgZXZlbiBpZiBlbXB0eS4iKTsK
Kworc2VsZi5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7Cisg
ICAgZGVidWcoIlNlbmRpbmcgRm9ybURhdGEgY29udGFpbmluZyBvbmUgYmxvYiB3aXRoIGN1c3Rv
bSBlbXB0eSBmaWxlbmFtZToiKTsKKworICAgIHZhciBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YTsK
KyAgICBmb3JtRGF0YS5hcHBlbmQoImJsb2IiLCBuZXcgQmxvYihbIiJdKSwgIiIpOworICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3BlbigiUE9TVCIsICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL211bHRpcGFydC1wb3N0
LWVjaG8tZmlsZW5hbWVzLnBocCIsIHRydWUpOworICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgZmlsZW5hbWUgPSB4aHIucmVzcG9uc2VUZXh0OworICAgICAgICBzaG91bGRC
ZSgiZmlsZW5hbWUiLCAiJyciKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorICAg
IHhoci5zZW5kKGZvcm1EYXRhKTsKK30KKworcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9y
bWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1lbXB0eS1ibG9iLWZpbGVuYW1lLmh0bWwKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1lbXB0eS1m
aWxlLWZpbGVuYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktZmlsZS1maWxl
bmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktZmlsZS1maWxlbmFtZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCBmaWxl
bmFtZSBwYXNzZWQgdG8gRm9ybURhdGEuYXBwZW5kKCkgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGZp
bGVuYW1lIGluIEZpbGUsIGV2ZW4gaWYgZW1wdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitTZW5kaW5nIEZvcm1EYXRhIGNvbnRhaW5pbmcgb25lIGZpbGUgd2l0aCBjdXN0b20g
ZW1wdHkgZmlsZW5hbWU6CitQQVNTIGZpbGVuYW1lIGlzICcnCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVt
cHR5LWZpbGUtZmlsZW5hbWUtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1l
LXR5cGUKICAgKyB0ZXh0L3BsYWluCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0
YS13aXRoLWVtcHR5LWZpbGUtZmlsZW5hbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZW1wdHktZmls
ZS1maWxlbmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWVtcHR5LWZpbGUtZmlsZW5hbWUuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
c2VuZC1mb3JtLWRhdGEtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGZpbGVuYW1lIHBhc3NlZCB0byBGb3JtRGF0YS5hcHBlbmQoKSB0YWtlcyBw
cmVjZWRlbmNlIG92ZXIgZmlsZW5hbWUgaW4gRmlsZSwgZXZlbiBpZiBlbXB0eS4iKTsKKworc2Vs
Zi5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgZGVi
dWcoIlNlbmRpbmcgRm9ybURhdGEgY29udGFpbmluZyBvbmUgZmlsZSB3aXRoIGN1c3RvbSBlbXB0
eSBmaWxlbmFtZToiKTsKKyAgICAKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiaW5wdXQiKVswXTsKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbJy4uL3Jlc291cmNlcy9maWxl
LWZvci1kcmFnLXRvLXNlbmQudHh0J10pOworICAgICAgICBtb3ZlTW91c2VUb0NlbnRlck9mRWxl
bWVudChpbnB1dCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9CisKKyAg
ICB2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGE7CisgICAgZm9ybURhdGEuYXBwZW5kKCJmaWxl
IiwgaW5wdXQuZmlsZXNbMF0sICIiKTsKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CisgICAgeGhyLm9wZW4oIlBPU1QiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3htbGh0dHBy
ZXF1ZXN0L3Jlc291cmNlcy9tdWx0aXBhcnQtcG9zdC1lY2hvLWZpbGVuYW1lcy5waHAiLCB0cnVl
KTsKKyAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGZpbGVuYW1lID0geGhy
LnJlc3BvbnNlVGV4dDsKKyAgICAgICAgc2hvdWxkQmUoImZpbGVuYW1lIiwgIicnIik7CisgICAg
ICAgIGZvcm1EYXRhVGVzdGluZ0NsZWFudXAoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorCisgICAgeGhyLnNlbmQoZm9ybURhdGEpOworfQorCitpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgcnVuVGVzdCgpOworfSBlbHNlIHsKKyAgICBkZWJ1ZygiVG8gcnVuIHRoaXMg
dGVzdCBtYW51YWxseSwgcGxlYXNlIGRyYWcgYSBmaWxlIG9udG8gZmlsZSBpbnB1dCBhYm92ZSIp
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLm9uY2hhbmdl
ID0gcnVuVGVzdDsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdp
dGgtZW1wdHktZmlsZS1maWxlbmFtZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5
cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3Jlc291cmNlcy9tdWx0aXBhcnQtcG9zdC1lY2hvLWZpbGVuYW1lcy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMv
bXVsdGlwYXJ0LXBvc3QtZWNoby1maWxlbmFtZXMucGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvbXVsdGlwYXJ0LXBvc3Qt
ZWNoby1maWxlbmFtZXMucGhwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCisk
Zmlyc3QgPSBUcnVlOworZm9yZWFjaCAoJF9GSUxFUyBhcyAkZmlsZSkgeworICAgIGlmICghJGZp
cnN0KQorICAgICAgICBlY2hvICIsIjsKKyAgICBlY2hvICRmaWxlWyduYW1lJ107CisgICAgJGZp
cnN0ID0gRmFsc2U7Cit9Cis/PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RF
eHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RF
eHBlY3RhdGlvbnMJKHJldmlzaW9uIDE0NTAyMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC04NjgsNiArODY4LDcgQEAgaHR0
cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YQogaHR0cC90ZXN0cy9sb2NhbC9m
b3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWZpbGVuYW1lLmh0bWwKIGh0dHAvdGVzdHMvbG9j
YWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1zbGljZWQtZmlsZS5odG1sCiBodHRwL3Rl
c3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLmh0bWwKK2h0dHAvdGVzdHMvbG9jYWwv
Zm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1lbXB0eS1maWxlLWZpbGVuYW1lLmh0bWwKIGh0
dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvdXBsb2FkLWV2ZW50cy5odG1sCiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MuaHRtbAogbWVkaWEvdmlkZW8t
c3JjLWJsb2IuaHRtbAo=
</data>
<flag name="review"
          id="213010"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>