<?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>112534</bug_id>
          
          <creation_ts>2013-03-17 23:11:36 -0700</creation_ts>
          <short_desc>WebSocket should not fail the connection when blob data can&apos;t be loaded correctly.</short_desc>
          <delta_ts>2013-03-22 06:21:36 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Li Yin">li.yin</reporter>
          <assigned_to name="Li Yin">li.yin</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>toyoshim</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>856848</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-17 23:11:36 -0700</bug_when>
    <thetext>For WebSocket.send(blob) function, when blob data can&apos;t be loaded correctly(e.g. the File or Blob resource could not be found at the time the read was processed), WebSocket will fail the connection.
I don&apos;t think it is friendly, maybe add console message &quot;blob data can&apos;t be loaded correctly&quot; should be reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856906</commentid>
    <comment_count>1</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-18 01:40:25 -0700</bug_when>
    <thetext>In my mind, if the blob data can&apos;t be loaded successfully, WebSocket object add error message to console, should not fail the connection, and then fetch the next blob to send.
What is your thought?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856910</commentid>
    <comment_count>2</comment_count>
      <attachid>193503</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-18 01:53:11 -0700</bug_when>
    <thetext>Created attachment 193503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857027</commentid>
    <comment_count>3</comment_count>
      <attachid>193503</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-18 05:39:06 -0700</bug_when>
    <thetext>Comment on attachment 193503
Patch

Attachment 193503 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17190513

New failing tests:
http/tests/websocket/tests/hybi/send-blob.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857067</commentid>
    <comment_count>4</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-18 06:51:19 -0700</bug_when>
    <thetext>It seems the diff text can&apos;t be found from the output.
How to get the diff text?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857634</commentid>
    <comment_count>5</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2013-03-18 15:25:37 -0700</bug_when>
    <thetext>Hi Li,
Adding console message sounds good. But I object to your comment #1.
WebSocket API spec about the send operation says;

If the argument is a Blob object
... snip ... if the data cannot be sent, e.g. because it would need to be buffered but the buffer is full, the user agent must close the WebSocket connection with prejudice.

send method doesn&apos;t have a way to notify errors asynchronously. And the spec consistently requires to fail the connection when send operation is not succeeded. To send following data after failure make the upper layer protocol design difficult, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857833</commentid>
    <comment_count>6</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-18 18:15:51 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Hi Li,
&gt; Adding console message sounds good. But I object to your comment #1.
&gt; To send following data after failure make the upper layer protocol design difficult, I think.

After a higher consideration, I think what you said is reasonable.
If we throw some packages away, it is really difficult to use the protocol.
Thanks for your comments.

And we can fix the console message issue, use the readable message to replace Integer value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861399</commentid>
    <comment_count>7</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2013-03-22 06:21:36 -0700</bug_when>
    <thetext>The bug is invalid, sorry for the noise.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193503</attachid>
            <date>2013-03-18 01:53:11 -0700</date>
            <delta_ts>2013-03-18 18:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112534-20130318164910.patch</filename>
            <type>text/plain</type>
            <size>11043</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzYxYTU5MTU0ZDhiYWI4
YTBhOWQyZjVmNDE3N2FlYjNkMjBiNWVjNy4uZmU2YzMzYjI3MDg2N2NlOWMyOTMwNGFlOGNiZGNh
ZDc5NGU2Yjg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAzLTE4ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFdlYlNvY2tldCBzaG91bGQgbm90IGZh
aWwgdGhlIGNvbm5lY3Rpb24gd2hlbiBibG9iIGRhdGEgY2FuJ3QgYmUgbG9hZGVkIGNvcnJlY3Rs
eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjUz
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdoZW4g
YmxvYiBkYXRhIGNhbid0IGJlIGxvYWRlZCBjb3JyZWN0bHkoZS5nLiB0aGUgRmlsZSBvciBCbG9i
IHJlc291cmNlIGNvdWxkIG5vdAorICAgICAgICBiZSBmb3VuZCBhdCB0aGUgdGltZSB0aGUgcmVh
ZCB3YXMgcHJvY2Vzc2VkKSwgV2ViU29ja2V0IHdpbGwgc2tpcCB0aGUgYmxvYiByZXNvdXJjZSwK
KyAgICAgICAgYW5kIGZldGNoIHRoZSBuZXh0IG9uZSwgc2hvdWxkIG5vdCBmYWlsIHRoZSBjb25u
ZWN0aW9uLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
c2VuZC1ibG9iLmh0bWwuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWls
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2luZ0Zy
YW1lUXVldWUpOgorCiAyMDEzLTAzLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUk6IERvbid0IHVwZGF0ZSBzaGFk
b3cgdHJlZSBieSB1cGRhdGluZyBhbnkgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNWI0NWUx
YTQxZjgxY2U5ZTI2OGM2YzRjNTVkODk5MjQyOWQ2NzFkYi4uOWJiODMzOTliNDYzYzBmYWI5OTVk
NTEwZDhiNmY0ODA5ZTA4MjBiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMzc2LDkgKzM3NiwxNCBAQCB2
b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWwoaW50IGVycm9yQ29kZSkKICAgICBMT0coTmV0
d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlkRmFpbCAlZCIsIHRoaXMsIGVycm9yQ29kZSk7
CiAgICAgQVNTRVJUKG1fYmxvYkxvYWRlcik7CiAgICAgQVNTRVJUKG1fYmxvYkxvYWRlclN0YXR1
cyA9PSBCbG9iTG9hZGVyU3RhcnRlZCk7CisgICAgLy8gaWYgYmxvYiBjYW4ndCBiZSBsb2FkZWQg
Y29ycmVjdGx5LCB3ZSB3aWxsIHNraXAgdGhpcyBibG9iLCBhbmQgZmV0Y2ggdGhlIG5leHQuCiAg
ICAgbV9ibG9iTG9hZGVyLmNsZWFyKCk7CiAgICAgbV9ibG9iTG9hZGVyU3RhdHVzID0gQmxvYkxv
YWRlckZhaWxlZDsKLSAgICBmYWlsKCJGYWlsZWQgdG8gbG9hZCBCbG9iOiBlcnJvciBjb2RlID0g
IiArIFN0cmluZzo6bnVtYmVyKGVycm9yQ29kZSkpOyAvLyBGSVhNRTogR2VuZXJhdGUgaHVtYW4t
ZnJpZW5kbHkgcmVhc29uIG1lc3NhZ2UuCisgICAgaWYgKG1fZG9jdW1lbnQpIHsKKyAgICAgICAg
U3RyaW5nIGVycm9yTWVzc2FnZSgiRmFpbGVkIHRvIGxvYWQgQmxvYjogZXJyb3IgY29kZSA9ICIg
KyBTdHJpbmc6Om51bWJlcihlcnJvckNvZGUpKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNz
YWdlKTsKKyAgICB9CisgICAgcHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSgpOwogICAgIGRlcmVm
KCk7CiB9CiAjZW5kaWYKQEAgLTc0MiwxMCArNzQ3LDExIEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6cHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgICAgICBjYXNlIEJsb2JMb2FkZXJTdGFydGVkOgotICAgICAgICAgICAgY2FzZSBC
bG9iTG9hZGVyRmFpbGVkOgogICAgICAgICAgICAgICAgIG1fb3V0Z29pbmdGcmFtZVF1ZXVlLnBy
ZXBlbmQoZnJhbWUucmVsZWFzZSgpKTsKICAgICAgICAgICAgICAgICByZXR1cm47Ci0KKyAgICAg
ICAgICAgIGNhc2UgQmxvYkxvYWRlckZhaWxlZDoKKyAgICAgICAgICAgICAgICBtX2Jsb2JMb2Fk
ZXJTdGF0dXMgPSBCbG9iTG9hZGVyTm90U3RhcnRlZDsKKyAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGNhc2UgQmxvYkxvYWRlckZpbmlzaGVkOiB7CiAgICAgICAgICAgICAgICAg
UmVmUHRyPEFycmF5QnVmZmVyPiByZXN1bHQgPSBtX2Jsb2JMb2FkZXItPmFycmF5QnVmZmVyUmVz
dWx0KCk7CiAgICAgICAgICAgICAgICAgbV9ibG9iTG9hZGVyLmNsZWFyKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTU4
M2Q5MzgzY2YxYzA2ZGYwMWY0ZGMyZWEyODk3MDExYTY2MWE5NC4uMzljNGIwNzU1NzA2ZGI3MGFl
MWM2NjMwYjVlZDkyYTUyYzNhZDE4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTE4
ICBMaSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFdlYlNvY2tldCBzaG91bGQg
bm90IGZhaWwgdGhlIGNvbm5lY3Rpb24gd2hlbiBibG9iIGRhdGEgY2FuJ3QgYmUgbG9hZGVkIGNv
cnJlY3RseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMjUzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWJsb2ItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1ibG9iLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUt
YmxvYi1mYWlsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZmlsZS1ibG9iLWZhaWwuaHRtbDogUmVtb3ZlZC4KKwog
MjAxMy0wMy0xNyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBEb24ndCB1cGRhdGUgc2hhZG93IHRyZWUgYnkgdXBk
YXRpbmcgYW55IGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWJsb2ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWJsb2ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGZkZjQ4ZDA1ZjNmZDcyMGUwYmE1YWE2NzljMjYyZTRkZGIyMzFjMjMuLjE4OWUwOGRmZTVj
MTk1M2UzYTkwNjJjMTVmYjQ3ODllZmIwYzE0MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1ibG9iLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtYmxvYi1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IEZhaWxlZCB0byBs
b2FkIEJsb2I6IGVycm9yIGNvZGUgPSAxCisKIFdlYlNvY2tldDogU2VuZCBCbG9icy4KIAogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWJsb2IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1ibG9iLmh0bWwKaW5kZXggZjMyY2E3MDg3
MjViODQ2YWNlMjk3MDdjNTg4ODBlYWQzYjZjYmM2OC4uZWM5MTMzMjg2OWVmMGY3OWEzNzRhYmQy
NmEzOWVkMmQ4Yjk0YzRkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9zZW5kLWJsb2IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtYmxvYi5odG1sCkBAIC00LDYgKzQsNyBAQAog
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgorPGlucHV0IHR5cGU9ImZpbGUiIG11bHRpcGxl
IG9uY2hhbmdlPSJvbklucHV0RmlsZUNoYW5nZSh0aGlzLmZpbGVzKSI+CiA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KQEAgLTExLDYgKzEyLDE1IEBAIGRlc2NyaXB0aW9uKCJXZWJTb2Nr
ZXQ6IFNlbmQgQmxvYnMuIik7CiAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAordmFy
IHNlbmRGaWxlOwordmFyIGNsb3NlRXZlbnQ7CisKK2Z1bmN0aW9uIG9uSW5wdXRGaWxlQ2hhbmdl
KGZpbGVzKQoreworICAgIHNlbmRGaWxlID0gZmlsZXMuaXRlbSgwKTsKKyAgICBzdGFydFRlc3Qo
KTsKK30KKwogZnVuY3Rpb24gc3RhcnRzV2l0aCh0YXJnZXQsIHByZWZpeCkKIHsKICAgICByZXR1
cm4gdGFyZ2V0LmluZGV4T2YocHJlZml4KSA9PT0gMDsKQEAgLTM0LDMyICs0NCw0MiBAQCBmdW5j
dGlvbiBjcmVhdGVCbG9iQ29udGFpbmluZ0FsbERpc3RpbmN0Qnl0ZXMoKQogICAgIHJldHVybiBu
ZXcgQmxvYihbYXJyYXldKTsKIH0KIAotdmFyIHVybCA9ICJ3czovLzEyNy4wLjAuMTo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2NoZWNrLWJpbmFyeS1tZXNzYWdlcyI7Ci12YXIgd3MgPSBuZXcg
V2ViU29ja2V0KHVybCk7Ci12YXIgY2xvc2VFdmVudDsKLQotd3Mub25vcGVuID0gZnVuY3Rpb24o
KQorZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKLSAgICB3cy5zZW5kKGNyZWF0ZUJsb2JDb250YWlu
aW5nSGVsbG9Xb3JsZCgpKTsKLSAgICB3cy5zZW5kKGNyZWF0ZUVtcHR5QmxvYigpKTsKLSAgICB3
cy5zZW5kKGNyZWF0ZUJsb2JDb250YWluaW5nQWxsRGlzdGluY3RCeXRlcygpKTsKLX07CisgICAg
dmFyIHVybCA9ICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NoZWNr
LWJpbmFyeS1tZXNzYWdlcyI7CisgICAgdmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOwogCi13
cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKLXsKLSAgICB2YXIgbWVzc2FnZSA9IGV2ZW50
LmRhdGE7Ci0gICAgaWYgKHN0YXJ0c1dpdGgobWVzc2FnZSwgIlBBU1MiKSkKLSAgICAgICAgdGVz
dFBhc3NlZChtZXNzYWdlKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQobWVzc2FnZSk7
Ci19OworICAgIHdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIC8vIHRoZSBm
aWxlIGlzIG5vdCBleGlzdGVkLCBpdCBzaG91bGQgYmUgc2tpcHBlZCBhbmQgZG9uJ3QgZmFpbCBj
b25uZWN0aW9uLgorICAgICAgICB3cy5zZW5kKHNlbmRGaWxlKTsKKyAgICAgICAgd3Muc2VuZChj
cmVhdGVCbG9iQ29udGFpbmluZ0hlbGxvV29ybGQoKSk7CisgICAgICAgIHdzLnNlbmQoY3JlYXRl
RW1wdHlCbG9iKCkpOworICAgICAgICB3cy5zZW5kKGNyZWF0ZUJsb2JDb250YWluaW5nQWxsRGlz
dGluY3RCeXRlcygpKTsKKyAgICB9OwogCi13cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCi17
Ci0gICAgY2xvc2VFdmVudCA9IGV2ZW50OwotICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVudC53
YXNDbGVhbiIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfTsKKyAgICB3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciBtZXNzYWdlID0gZXZlbnQuZGF0YTsK
KyAgICAgICAgaWYgKHN0YXJ0c1dpdGgobWVzc2FnZSwgIlBBU1MiKSkKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQobWVzc2FnZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
bWVzc2FnZSk7CisgICAgfTsKKworICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbihldmVudCkKKyAg
ICB7CisgICAgICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJj
bG9zZUV2ZW50Lndhc0NsZWFuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH07Cit9
CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdX
aXRoRmlsZXMoWyJyZXNvdXJjZXMvbm9uLWV4aXN0ZW5jZSJdKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbygxMCwgMTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KIAogPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1maWxlLWJsb2ItZmFpbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZmlsZS1ibG9i
LWZhaWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjc2YjE3
MWZlN2JmZWJhMmVjNmJlNjA3MWNhODMyNDIwMmNkZGFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvc2VuZC1maWxlLWJsb2ItZmFpbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFdlYlNvY2tldCBjb25uZWN0aW9u
IHRvICd3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8nIGZhaWxl
ZDogRmFpbGVkIHRvIGxvYWQgQmxvYjogZXJyb3IgY29kZSA9IDEKLVdlYlNvY2tldCBzaG91bGQg
ZmFpbCB0aGUgY29ubmVjdGlvbiBpZiBpdCBoYXMgZmFpbGVkIHRvIHJlYWQgYSBCbG9iLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLUdvdCBGaWxlU3lzdGVtIG9iamVjdC4KLUZpbGUg
Y3JlYXRlZC4KLVBBU1MgZmlsZUVudHJ5LmlzRmlsZSBpcyB0cnVlCi1Xcm90ZSB0byBmaWxlLgot
R290IEZpbGUgb2JqZWN0LgotRmlsZSBkZWxldGVkLgotUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFu
IGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zZW5kLWZpbGUtYmxvYi1mYWlsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZmlsZS1ibG9iLWZhaWwuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggN2RlYWZkMjE4NDc2MGJiYzUwMTM0ZTEyM2I5N2I2MDA3ODIzYmFl
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZmlsZS1ibG9iLWZhaWwu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCJXZWJTb2NrZXQgc2hvdWxkIGZhaWwgdGhl
IGNvbm5lY3Rpb24gaWYgaXQgaGFzIGZhaWxlZCB0byByZWFkIGEgQmxvYi4iKTsKLQotd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1mdW5jdGlvbiBzdGFydHNXaXRoKHRhcmdldCwgcHJl
Zml4KQotewotICAgIHJldHVybiB0YXJnZXQuaW5kZXhPZihwcmVmaXgpID09PSAwOwotfQotCi12
YXIgZmlsZVN5c3RlbVNpemUgPSAxMDI0OwotdmFyIGZpbGVOYW1lID0gIndlYnNvY2tldC1zZW5k
LWZpbGUtYmxvYi1mYWlsLnR4dCI7Ci12YXIgbWVzc2FnZVRvV3JpdGUgPSAiVGhpcyBtZXNzYWdl
IHNob3VsZG4ndCBiZSBzZW50LiI7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICgh
d2luZG93LndlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIndp
bmRvdy53ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbSBpcyBub3QgYXZhaWxhYmxlLiIpOwotICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdlYmtpdFJl
cXVlc3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgZmlsZVN5c3RlbVNpemUsIGRpZEdldEZpbGVTeXN0
ZW0sIGRpZEZhaWwpOwotfQotCi1mdW5jdGlvbiBkaWRHZXRGaWxlU3lzdGVtKGZpbGVTeXN0ZW0p
Ci17Ci0gICAgZGVidWcoIkdvdCBGaWxlU3lzdGVtIG9iamVjdC4iKTsKLSAgICBmaWxlU3lzdGVt
LnJvb3QuZ2V0RmlsZShmaWxlTmFtZSwge2NyZWF0ZTogdHJ1ZX0sIGRpZENyZWF0ZUZpbGUsIGRp
ZEZhaWwpOwotfQotCi12YXIgZmlsZUVudHJ5OwotCi1mdW5jdGlvbiBkaWRDcmVhdGVGaWxlKGVu
dHJ5KQotewotICAgIGRlYnVnKCJGaWxlIGNyZWF0ZWQuIik7Ci0gICAgZmlsZUVudHJ5ID0gZW50
cnk7Ci0gICAgc2hvdWxkQmVUcnVlKCJmaWxlRW50cnkuaXNGaWxlIik7Ci0gICAgZmlsZUVudHJ5
LmNyZWF0ZVdyaXRlcihkaWRHZXRGaWxlV3JpdGVyLCBkaWRGYWlsKTsKLX0KLQotZnVuY3Rpb24g
ZGlkR2V0RmlsZVdyaXRlcih3cml0ZXIpCi17Ci0gICAgd3JpdGVyLnRydW5jYXRlKDApOwotICAg
IHdyaXRlci5vbmVycm9yID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdGVzdEZhaWxlZCgi
RmlsZVdyaXRlciBvcGVyYXRpb24gZmFpbGVkLiIpOwotICAgICAgICBlbmRUZXN0KCk7Ci0gICAg
fTsKLSAgICB3cml0ZXIub253cml0ZSA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHdyaXRl
ci53cml0ZShuZXcgQmxvYihbbWVzc2FnZVRvV3JpdGVdKSk7Ci0gICAgICAgIHdyaXRlci5vbndy
aXRlID0gZGlkV3JpdGVGaWxlOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIGRpZFdyaXRlRmlsZSgp
Ci17Ci0gICAgZGVidWcoIldyb3RlIHRvIGZpbGUuIik7Ci0gICAgZmlsZUVudHJ5LmZpbGUoZGlk
R2V0RmlsZSwgZGlkRmFpbCk7Ci19Ci0KLXZhciBmaWxlT2JqZWN0OwotCi1mdW5jdGlvbiBkaWRH
ZXRGaWxlKGZpbGUpCi17Ci0gICAgZGVidWcoIkdvdCBGaWxlIG9iamVjdC4iKTsKLSAgICBmaWxl
T2JqZWN0ID0gZmlsZTsKLQotICAgIC8vIERlbGV0ZSB0aGUgZmlsZSBvYmplY3QgYmVmb3JlIGl0
IGlzIHJlYWQuIFRoaXMgc2hvdWxkIGNhdXNlIHRoZSBzdWJzZXF1ZW50IHJlYWQgb3BlcmF0aW9u
Ci0gICAgLy8gdG8gZmFpbCByZWxpYWJseS4KLSAgICBmaWxlRW50cnkucmVtb3ZlKGRpZFJlbW92
ZUZpbGUsIGRpZEZhaWwpOwotfQotCi1mdW5jdGlvbiBkaWRSZW1vdmVGaWxlKCkKLXsKLSAgICBk
ZWJ1ZygiRmlsZSBkZWxldGVkLiIpOwotICAgIGZpbGVFbnRyeSA9IG51bGw7IC8vIFRvIHByZXZl
bnQgdGhlIGZpbGUgZnJvbSBnZXR0aW5nIGRlbGV0ZWQgYWdhaW4uCi0gICAgdmFyIHdzID0gbmV3
IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hv
Iik7Ci0gICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgd3Muc2VuZChm
aWxlT2JqZWN0KTsgLy8gVGhpcyBvcGVyYXRpb24gc2hvdWxkIGZhaWwgYW5kIHRoZSBjb25uZWN0
aW9uIHNob3VsZCBiZSBhYm9ydGVkLgotICAgIH07Ci0gICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9u
KGV2ZW50KQotICAgIHsKLSAgICAgICAgY2xvc2VFdmVudCA9IGV2ZW50OwotICAgICAgICBzaG91
bGRCZUZhbHNlKCJjbG9zZUV2ZW50Lndhc0NsZWFuIik7Ci0gICAgICAgIGVuZFRlc3QoKTsKLSAg
ICB9OwotfQotCi1mdW5jdGlvbiBkaWRGYWlsKGZpbGVFcnJvcikKLXsKLSAgICB0ZXN0RmFpbGVk
KCJGaWxlU3lzdGVtIEFQSSBvcGVyYXRpb24gZmFpbGVkOiBlcnJvciBjb2RlID0gIiArIGZpbGVF
cnJvci5jb2RlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewot
ICAgIGlmIChmaWxlRW50cnkpIHsKLSAgICAgICAgZGVidWcoIkRlbGV0aW5nIHRoZSBmaWxlLiIp
OwotICAgICAgICBmaWxlRW50cnkucmVtb3ZlKGZpbmlzaEpTVGVzdCwgZmluaXNoSlNUZXN0KTsK
LSAgICB9IGVsc2UKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXJ1blRlc3QoKTsKLQot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="215097"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>