<?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>186276</bug_id>
          
          <creation_ts>2018-06-04 12:30:45 -0700</creation_ts>
          <short_desc>[WPE][GTK] webkit_web_resource_get_data_finish can return NULL without setting error</short_desc>
          <delta_ts>2021-02-11 20:47:45 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.gnome.org/show_bug.cgi?id=746737</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=186278</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=177107</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=221672</see_also>
          <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>191222</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429860</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-06-04 12:30:45 -0700</bug_when>
    <thetext>This has been confusing me on and off since 2015. webkit_web_resource_get_data_finish can return NULL without setting its error parameter, which is illegal as it is documented to return NULL only on failure. In this case, Epiphany properly tries to use the error and then crashes because it is NULL. We should always set error in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429869</commentid>
    <comment_count>1</comment_count>
      <attachid>341910</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-06-04 12:52:20 -0700</bug_when>
    <thetext>Created attachment 341910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429870</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-06-04 12:54:04 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430034</commentid>
    <comment_count>3</comment_count>
      <attachid>341910</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-06-04 22:29:56 -0700</bug_when>
    <thetext>Comment on attachment 341910
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebResource.cpp:358
&gt; +    if (!wkData-&gt;size()) {
&gt; +        g_task_return_new_error(task, G_IO_ERROR, G_IO_ERROR_FAILED, _(&quot;Resource data unavailable&quot;));
&gt; +        return;
&gt; +    }

How can this happen? is it an error or simply and empty file? I think this requires a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430046</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-06-04 22:55:42 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #3)
&gt; How can this happen? is it an error or simply and empty file? I think this
&gt; requires a test case.

Seems to happen for every media file. See bug #186278. I can try to add a test.

&gt; is it an error or simply and empty file?

Ummm, good point... in this case, it is an error. But with this patch, an empty file would trigger this error, which is probably wrong. My patch should probably check wkData-&gt;bytes() instead of wkData-&gt;size().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471494</commentid>
    <comment_count>5</comment_count>
      <attachid>341910</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-10-22 22:50:14 -0700</bug_when>
    <thetext>Comment on attachment 341910
Patch

I need to update this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481174</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-23 11:51:44 -0800</bug_when>
    <thetext>Can&apos;t add any tests because I can&apos;t run any tests, bug #191222.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486467</commentid>
    <comment_count>7</comment_count>
      <attachid>356934</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-12-09 17:15:36 -0800</bug_when>
    <thetext>Created attachment 356934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487160</commentid>
    <comment_count>8</comment_count>
      <attachid>356934</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-12 00:44:14 -0800</bug_when>
    <thetext>Comment on attachment 356934
Patch

I don&apos;t get why an empty resource is an error, I think we should return an empty string instead of NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487480</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-12-12 19:34:32 -0800</bug_when>
    <thetext>It&apos;s not a string, it is a byte array. That&apos;s why we use guchar*, not char*. So the result is not NULL-terminated and can contain embedded NULLs. So returning an empty string is not really possible. The closest we can get is to return a byte array of length one containing only a NULL. We could do that, but it won&apos;t be an empty string, and we&apos;d have to document it carefully so applications know that special care is required.

NULL seems the best way to indicate emptiness, but we have documented that this only returns NULL in case of error. So treating empty as an error seems reasonable. That&apos;s what this patch does.

Alternatively, we could change the documentation to indicate that NULL may not always correspond to an error. This would be an API break, but a quick Debian codesearch indicates we would only have to update evolution-data-server and epiphany.

So that&apos;s three options... do you have a preference?

(P.S. This reminds me of an unrelated problem. Because the result is not a string, the application has no way to know the encoding it uses. WebCore knows, but our API does not expose it. So there&apos;s no way to actually display the result as text without making unsafe assumptions about content type. This was a problem for Eclipse at some point in the past, which we never solved. That is unrelated. I digress.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487514</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-12 23:18:43 -0800</bug_when>
    <thetext>I see, ideally we would argue that length = 0 + NULL means empty resource, but length is gsize, so we don&apos;t have a way to indicate error here using length = -1 + NULL. Maybe we can use G_MAXUINT and document it, of course. Or deprecate this and add webkit_web_resource_get_bytes().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487904</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-12-14 07:07:37 -0800</bug_when>
    <thetext>Currently the only possible error is cancellation (e.g. page closed) so my preference is still to use an error for empty resource. G_MAXUINT seems weird and we can avoid a deprecation that way. But I&apos;ll implement what you prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487905</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-14 07:12:21 -0800</bug_when>
    <thetext>An empty resource is not an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521740</commentid>
    <comment_count>13</comment_count>
      <attachid>366083</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-27 10:48:45 -0700</bug_when>
    <thetext>Created attachment 366083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522103</commentid>
    <comment_count>14</comment_count>
      <attachid>366083</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-28 10:50:24 -0700</bug_when>
    <thetext>Comment on attachment 366083
Patch

Clearing flags on attachment: 366083

Committed r243608: &lt;https://trac.webkit.org/changeset/243608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522104</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-28 10:50:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341910</attachid>
            <date>2018-06-04 12:52:20 -0700</date>
            <delta_ts>2018-12-09 17:15:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186276-20180604145220.patch</filename>
            <type>text/plain</type>
            <size>1735</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhYTA4MmNjZWI1ZTI3NmY3
MWZhNWU5YTEzN2E3ZWU5OGQ3Y2Y4NGYuLmVmY2ExYzBkMzJjY2ZlMzdmYTdiZmY3NDA3ZTMxYjIy
NTYwYzdiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMDYtMDQgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
d2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YV9maW5pc2ggY2FuIHJldHVybiBOVUxMIHdpdGhv
dXQgc2V0dGluZyBlcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg2Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2V0IHRoZSBlcnJvciBwYXJhbWV0ZXIgd2hlbiB0aGUgbWFpbiByZXNvdXJjZSBk
YXRhIGlzIHVuYXZhaWxhYmxlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYlJlc291cmNlLmNwcDoKKyAgICAgICAgKHJlc291cmNlRGF0YUNhbGxiYWNrKToKKwogMjAx
OC0wNi0wMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YWtlIHN1cmUgdGhhdCB0aGUgZmVuY2VQb3J0IHJlY2VpdmVkIG92ZXIgSVBDIGhhcyB0aGUgZXhw
ZWN0ZWQgZGlzcG9zaXRpb24gKFNFTkQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJSZXNvdXJjZS5jcHAKaW5kZXggN2JlYWJiMDdmM2E5YmE1
YWYzYzY0ZWM1ZDI1MmM0YTJhZjg1YWYzMy4uODFkYzgwZjBiNmZkMmIzNDNmYzgxZDkxNGE1NjE4
ZmIwYmJmYjQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2ViUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFdlYlJlc291cmNlLmNwcApAQCAtMzQ5LDggKzM0OSwxNCBAQCBzdGF0aWMgdm9p
ZCByZXNvdXJjZURhdGFDYWxsYmFjayhBUEk6OkRhdGEqIHdrRGF0YSwgQ2FsbGJhY2tCYXNlOjpF
cnJvciBlcnJvciwgRwogICAgICAgICBnX3Rhc2tfcmV0dXJuX25ld19lcnJvcih0YXNrLCBHX0lP
X0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExFRCwgXygiT3BlcmF0aW9uIHdhcyBjYW5jZWxsZWQi
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBSZXNvdXJjZUdldERhdGFBc3luY0Rh
dGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUdldERhdGFBc3luY0RhdGEqPihnX3Rhc2tf
Z2V0X3Rhc2tfZGF0YSh0YXNrKSk7CiAgICAgZGF0YS0+d2ViRGF0YSA9IHdrRGF0YTsKKyAgICBp
ZiAoIXdrRGF0YS0+c2l6ZSgpKSB7CisgICAgICAgIGdfdGFza19yZXR1cm5fbmV3X2Vycm9yKHRh
c2ssIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELCBfKCJSZXNvdXJjZSBkYXRhIHVuYXZh
aWxhYmxlIikpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgZ190YXNrX3JldHVybl9i
b29sZWFuKHRhc2ssIFRSVUUpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356934</attachid>
            <date>2018-12-09 17:15:36 -0800</date>
            <delta_ts>2019-03-27 10:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186276-20181209191535.patch</filename>
            <type>text/plain</type>
            <size>6688</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRiNDNkZTkwYzYwZmI3NzI3
NDc4NTI5OGFjZDgwNTRlMTAwYzJjMmYuLmNlZTExN2QxOWY0NTBiM2MxY2NiNjM2NGRlODdlMjcz
MWZkNTg0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMTItMDkgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
d2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YV9maW5pc2ggY2FuIHJldHVybiBOVUxMIHdpdGhv
dXQgc2V0dGluZyBlcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg2Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3VycmVudGx5IGl0J3MgcG9zc2libGUgZm9yIHdlYmtpdF93ZWJfcmVzb3VyY2Vf
Z2V0X2RhdGFfZmluaXNoKCkgdG8gcmV0dXJuIE5VTEwgd2l0aG91dAorICAgICAgICBzZXR0aW5n
IHRoZSBlcnJvciBwYXJhbWV0ZXIuIFRoaXMgaXMgaWxsZWdhbCBiZWNhdXNlIGl0IGlzIGFuIEFQ
SSBndWFyYW50ZWUgKGFuZCBhIEdPYmplY3QKKyAgICAgICAgY29udmVudGlvbikgdGhhdCBpZiBh
biBlcnJvciBwYXJhbWV0ZXIgZXhpc3RzLCBpdCBzaG91bGQgYmUgc2V0IHdoZW5ldmVyIGEgZnVu
Y3Rpb24gY2FsbAorICAgICAgICByZXR1cm5zIE5VTEwuIEVwaXBoYW55IGNvcnJlY3RseSBkZXJl
ZmVyZW5jZXMgdGhlIGVycm9yIGluIHRoaXMgY2FzZSB3aXRob3V0IGNoZWNraW5nIGlmIGl0Cisg
ICAgICAgIGlzIE5VTEwsIGJlY2F1c2UgaXQga25vd3MgaXQgZG9lcyBub3QgaGF2ZSB0bywgYW5k
IGNyYXNoZXMuIEZpeCB0aGlzLgorCisgICAgICAgIFRoaXMgZG9lcyBub3QgZml4IGJ1ZyAjMTg2
Mjc2LCBpbiB3aGljaCB0aGlzIGZ1bmN0aW9uIGluY29ycmVjdGx5IHJldHVybnMgbm8gZGF0YSB3
aGVuIGl0CisgICAgICAgIG91Z2h0IHRvLiBCdXQgdGhhdCBpcyBhIGRpZmZlcmVudCBidWcsIGFu
ZCB3ZSBzaG91bGQgZG8gdGhpcyByZWdhcmRsZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNwcDoKKyAgICAgICAgKHJlc291cmNlRGF0YUNhbGxi
YWNrKToKKwogMjAxOC0xMi0wOSAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEJ1aWxkIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgaW5jbHVkZSBv
ZiBBUElXZWJzaXRlRGF0YVN0b3JlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNwcAppbmRleCA3YmVhYmIwN2YzYTliYTVh
ZjNjNjRlYzVkMjUyYzRhMmFmODVhZjMzLi41N2NiZmJlZTQ4NDYyYzA4YzYwMGQ0NWIwNWM1NzZh
YTU1MTM4YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViUmVzb3VyY2UuY3BwCkBAIC0zNTEsNiArMzUxLDEwIEBAIHN0YXRpYyB2b2lk
IHJlc291cmNlRGF0YUNhbGxiYWNrKEFQSTo6RGF0YSogd2tEYXRhLCBDYWxsYmFja0Jhc2U6OkVy
cm9yIGVycm9yLCBHCiAgICAgfQogICAgIFJlc291cmNlR2V0RGF0YUFzeW5jRGF0YSogZGF0YSA9
IHN0YXRpY19jYXN0PFJlc291cmNlR2V0RGF0YUFzeW5jRGF0YSo+KGdfdGFza19nZXRfdGFza19k
YXRhKHRhc2spKTsKICAgICBkYXRhLT53ZWJEYXRhID0gd2tEYXRhOworICAgIGlmICghd2tEYXRh
LT5ieXRlcygpKSB7CisgICAgICAgIGdfdGFza19yZXR1cm5fbmV3X2Vycm9yKHRhc2ssIEdfSU9f
RVJST1IsIEdfSU9fRVJST1JfRkFJTEVELCBfKCJSZXNvdXJjZSBkYXRhIHVuYXZhaWxhYmxlIikp
OworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGdfdGFza19yZXR1cm5fYm9vbGVhbih0YXNr
LCBUUlVFKTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGVjZGQ3NjFmMWE4ZGU0Njc3YzYzM2NhODJlMWE4ZDQ5NTdkMGViMjkuLjNiOTA2
ZTBiY2U0NmY4YWRkNzNjNDdlNjJjYjRhNTBlNmRkOWIzODggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0xMi0w
OSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W1dQRV1bR1RLXSB3ZWJraXRfd2ViX3Jlc291cmNlX2dldF9kYXRhX2ZpbmlzaCBjYW4gcmV0dXJu
IE5VTEwgd2l0aG91dCBzZXR0aW5nIGVycm9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODYyNzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0
UmVzb3VyY2VzLmNwcDoKKyAgICAgICAgKHdlYlZpZXdMb2FkQ2hhbmdlZCk6CisgICAgICAgICh0
ZXN0V2ViUmVzb3VyY2VHZXREYXRhRXJyb3IpOgorICAgICAgICAodGVzdFdlYlJlc291cmNlR2V0
RGF0YUVtcHR5KToKKyAgICAgICAgKGJlZm9yZUFsbCk6CisgICAgICAgICh3ZWJWaWV3bG9hZENo
YW5nZWQpOiBEZWxldGVkLgorCiAyMDE4LTEyLTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXggbGxkYl93ZWJraXQucHkgZm9sbG93aW5nIHIyMzg3NzEK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0UmVz
b3VyY2VzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0UmVz
b3VyY2VzLmNwcAppbmRleCAzNDcwNzIwZjU3ZGIwZTk5OTMzOGM4ZWQ0NTVkYzA5NmJjMDgxM2Yw
Li4xYjM2NjgzNmUxYzc0YjFjZDAyYmFkNjJjYTg1Y2ExNThlYzQ5MjQ0IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFJlc291cmNlcy5jcHAKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RSZXNvdXJjZXMuY3Bw
CkBAIC01MzYsMTEgKzUzNiwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViUmVzb3VyY2VHZXREYXRh
KFJlc291cmNlc1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgICAgIHRlc3QtPmNoZWNr
UmVzb3VyY2VEYXRhKFdFQktJVF9XRUJfUkVTT1VSQ0UoaXRlbS0+ZGF0YSkpOwogfQogCi1zdGF0
aWMgdm9pZCB3ZWJWaWV3bG9hZENoYW5nZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0
TG9hZEV2ZW50IGxvYWRFdmVudCwgR01haW5Mb29wKiBtYWluTG9vcCkKK3N0YXRpYyB2b2lkIHdl
YlZpZXdMb2FkQ2hhbmdlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRMb2FkRXZlbnQg
bG9hZEV2ZW50LCBHTWFpbkxvb3AqIG1haW5Mb29wKQogewogICAgIGlmIChsb2FkRXZlbnQgIT0g
V0VCS0lUX0xPQURfRklOSVNIRUQpCiAgICAgICAgIHJldHVybjsKLSAgICBnX3NpZ25hbF9oYW5k
bGVyc19kaXNjb25uZWN0X2J5X2Z1bmMod2ViVmlldywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
d2ViVmlld2xvYWRDaGFuZ2VkKSwgbWFpbkxvb3ApOworICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rp
c2Nvbm5lY3RfYnlfZnVuYyh3ZWJWaWV3LCByZWludGVycHJldF9jYXN0PHZvaWQqPih3ZWJWaWV3
TG9hZENoYW5nZWQpLCBtYWluTG9vcCk7CiAgICAgZ19tYWluX2xvb3BfcXVpdChtYWluTG9vcCk7
CiB9CiAKQEAgLTU0OSw3ICs1NDksNyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViUmVzb3VyY2VHZXRE
YXRhRXJyb3IoVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBHUmVmUHRyPEdNYWluTG9v
cD4gbWFpbkxvb3AgPSBhZG9wdEdSZWYoZ19tYWluX2xvb3BfbmV3KG51bGxwdHIsIEZBTFNFKSk7
CiAgICAgR1JlZlB0cjxXZWJLaXRXZWJWaWV3PiB3ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKFRl
c3Q6OmNyZWF0ZVdlYlZpZXcodGVzdC0+bV93ZWJDb250ZXh0LmdldCgpKSk7CiAgICAgd2Via2l0
X3dlYl92aWV3X2xvYWRfaHRtbCh3ZWJWaWV3LmdldCgpLCAiPGh0bWw+PC9odG1sPiIsIG51bGxw
dHIpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldy5nZXQoKSwgImxvYWQtY2hhbmdlZCIs
IEdfQ0FMTEJBQ0sod2ViVmlld2xvYWRDaGFuZ2VkKSwgbWFpbkxvb3AuZ2V0KCkpOworICAgIGdf
c2lnbmFsX2Nvbm5lY3Qod2ViVmlldy5nZXQoKSwgImxvYWQtY2hhbmdlZCIsIEdfQ0FMTEJBQ0so
d2ViVmlld0xvYWRDaGFuZ2VkKSwgbWFpbkxvb3AuZ2V0KCkpOwogICAgIGdfbWFpbl9sb29wX3J1
bihtYWluTG9vcC5nZXQoKSk7CiAKICAgICBhdXRvKiByZXNvdXJjZSA9IHdlYmtpdF93ZWJfdmll
d19nZXRfbWFpbl9yZXNvdXJjZSh3ZWJWaWV3LmdldCgpKTsKQEAgLTU2Niw2ICs1NjYsMjcgQEAg
c3RhdGljIHZvaWQgdGVzdFdlYlJlc291cmNlR2V0RGF0YUVycm9yKFRlc3QqIHRlc3QsIGdjb25z
dHBvaW50ZXIpCiAgICAgZ19tYWluX2xvb3BfcnVuKG1haW5Mb29wLmdldCgpKTsKIH0KIAorc3Rh
dGljIHZvaWQgdGVzdFdlYlJlc291cmNlR2V0RGF0YUVtcHR5KFRlc3QqIHRlc3QsIGdjb25zdHBv
aW50ZXIpCit7CisgICAgR1JlZlB0cjxHTWFpbkxvb3A+IG1haW5Mb29wID0gYWRvcHRHUmVmKGdf
bWFpbl9sb29wX25ldyhudWxscHRyLCBGQUxTRSkpOworICAgIEdSZWZQdHI8V2ViS2l0V2ViVmll
dz4gd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyhUZXN0OjpjcmVhdGVXZWJWaWV3KHRlc3QtPm1f
d2ViQ29udGV4dC5nZXQoKSkpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwod2ViVmll
dy5nZXQoKSwgIiIsIG51bGxwdHIpOworICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldy5nZXQo
KSwgImxvYWQtY2hhbmdlZCIsIEdfQ0FMTEJBQ0sod2ViVmlld0xvYWRDaGFuZ2VkKSwgbWFpbkxv
b3AuZ2V0KCkpOworICAgIGdfbWFpbl9sb29wX3J1bihtYWluTG9vcC5nZXQoKSk7CisKKyAgICBh
dXRvKiByZXNvdXJjZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9yZXNvdXJjZSh3ZWJWaWV3
LmdldCgpKTsKKyAgICB0ZXN0LT5hc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVz
KEdfT0JKRUNUKHJlc291cmNlKSk7CisgICAgd2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YShy
ZXNvdXJjZSwgbnVsbHB0ciwgW10oR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlc3Vs
dCwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKKyAgICAgICAgc2l6ZV90IGRhdGFTaXplOworICAgICAg
ICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7CisgICAgICAgIGF1dG8qIGRhdGEgPSB3ZWJr
aXRfd2ViX3Jlc291cmNlX2dldF9kYXRhX2ZpbmlzaChXRUJLSVRfV0VCX1JFU09VUkNFKHNvdXJj
ZSksIHJlc3VsdCwgJmRhdGFTaXplLCAmZXJyb3Iub3V0UHRyKCkpOworICAgICAgICBnX2Fzc2Vy
dF9udWxsKGRhdGEpOworICAgICAgICBnX2Fzc2VydF9lcnJvcihlcnJvci5nZXQoKSwgR19JT19F
UlJPUiwgR19JT19FUlJPUl9GQUlMRUQpOworICAgICAgICBnX21haW5fbG9vcF9xdWl0KHN0YXRp
Y19jYXN0PEdNYWluTG9vcCo+KHVzZXJEYXRhKSk7CisgICAgfSwgbWFpbkxvb3AuZ2V0KCkpOwor
ICAgIGdfbWFpbl9sb29wX3J1bihtYWluTG9vcC5nZXQoKSk7Cit9CisKIHN0YXRpYyB2b2lkIHRl
c3RXZWJWaWV3UmVzb3VyY2VzSGlzdG9yeUNhY2hlKFNpbmdsZVJlc291cmNlTG9hZFRlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiB7CiAgICAgQ1N0cmluZyBqYXZhc2NyaXB0VVJJID0ga1NlcnZl
ci0+Z2V0VVJJRm9yUGF0aCgiL2phdmFzY3JpcHQuaHRtbCIpOwpAQCAtODk3LDYgKzkxOCw3IEBA
IHZvaWQgYmVmb3JlQWxsKCkKICAgICBSZXNvdXJjZVVSSVRyYWNraW5nVGVzdDo6YWRkKCJXZWJL
aXRXZWJSZXNvdXJjZSIsICJhY3RpdmUtdXJpIiwgdGVzdFdlYlJlc291cmNlQWN0aXZlVVJJKTsK
ICAgICBSZXNvdXJjZXNUZXN0OjphZGQoIldlYktpdFdlYlJlc291cmNlIiwgImdldC1kYXRhIiwg
dGVzdFdlYlJlc291cmNlR2V0RGF0YSk7CiAgICAgVGVzdDo6YWRkKCJXZWJLaXRXZWJSZXNvdXJj
ZSIsICJnZXQtZGF0YS1lcnJvciIsIHRlc3RXZWJSZXNvdXJjZUdldERhdGFFcnJvcik7CisgICAg
VGVzdDo6YWRkKCJXZWJLaXRXZWJSZXNvdXJjZSIsICJnZXQtZGF0YS1lbXB0eSIsIHRlc3RXZWJS
ZXNvdXJjZUdldERhdGFFbXB0eSk7CiAgICAgU2luZ2xlUmVzb3VyY2VMb2FkVGVzdDo6YWRkKCJX
ZWJLaXRXZWJWaWV3IiwgImhpc3RvcnktY2FjaGUiLCB0ZXN0V2ViVmlld1Jlc291cmNlc0hpc3Rv
cnlDYWNoZSk7CiAgICAgU2VuZFJlcXVlc3RUZXN0OjphZGQoIldlYktpdFdlYlBhZ2UiLCAic2Vu
ZC1yZXF1ZXN0IiwgdGVzdFdlYlJlc291cmNlU2VuZFJlcXVlc3QpOwogI2lmIFNPVVBfQ0hFQ0tf
VkVSU0lPTigyLCA0OSwgOTEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366083</attachid>
            <date>2019-03-27 10:48:45 -0700</date>
            <delta_ts>2019-03-28 10:50:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186276-20190327124844.patch</filename>
            <type>text/plain</type>
            <size>7077</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY1YjNlZTNiOTdiMWQ1MzJi
NjA3YTA1N2RjZTViNjQwN2UwMDkzZGMuLjJhYWM0NTJlYmE2OWZkMTgwMTJlNzE3MDhkYTI5ZWYz
Nzk4YWMzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDMtMjcgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
d2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YV9maW5pc2ggY2FuIHJldHVybiBOVUxMIHdpdGhv
dXQgc2V0dGluZyBlcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg2Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3VycmVudGx5IGl0J3MgcG9zc2libGUgZm9yIHdlYmtpdF93ZWJfcmVzb3VyY2Vf
Z2V0X2RhdGFfZmluaXNoKCkgdG8gcmV0dXJuIE5VTEwgd2l0aG91dAorICAgICAgICBzZXR0aW5n
IHRoZSBlcnJvciBwYXJhbWV0ZXIuIFRoaXMgaXMgaWxsZWdhbCBiZWNhdXNlIGl0IGlzIGFuIEFQ
SSBndWFyYW50ZWUgKGFuZCBhIEdPYmplY3QKKyAgICAgICAgY29udmVudGlvbikgdGhhdCBpZiBh
biBlcnJvciBwYXJhbWV0ZXIgZXhpc3RzLCBpdCBzaG91bGQgYmUgc2V0IHdoZW5ldmVyIGEgZnVu
Y3Rpb24gY2FsbAorICAgICAgICByZXR1cm5zIE5VTEwuIEVwaXBoYW55IGNvcnJlY3RseSBkZXJl
ZmVyZW5jZXMgdGhlIGVycm9yIGluIHRoaXMgY2FzZSB3aXRob3V0IGNoZWNraW5nIGlmIGl0Cisg
ICAgICAgIGlzIE5VTEwsIGJlY2F1c2UgaXQga25vd3MgaXQgZG9lcyBub3QgaGF2ZSB0bywgYW5k
IGNyYXNoZXMuIEZpeCB0aGlzLiBXZSdsbCByZXR1cm4gYSBieXRlCisgICAgICAgIGFycmF5IG9m
IGxlbmd0aCAxIGNvbnRhaW5pbmcgYSBOVUwgY2hhcmFjdGVyLiBUaGlzIGlzbid0IGdyZWF0LCBi
dXQgdGhlcmUncyBub3QgcmVhbGx5IGFueQorICAgICAgICBiZXR0ZXIgc29sdXRpb24gd2l0aG91
dCBkZXByZWNhdGluZyB0aGUgQVBJIG9yIHJldHVybmluZyBhbiBlcnJvciBjb2RlIHRvIGluZGlj
YXRlIGFuIGVtcHR5CisgICAgICAgIHJlc291cmNlLCBhbmQgaXQgYXQgbGVhc3QgZml4ZXMgdGhl
IEVwaXBoYW55IGNyYXNoLgorCisgICAgICAgIFRoaXMgZG9lcyBub3QgZml4IGJ1ZyAjMTg2Mjc2
LCBpbiB3aGljaCB0aGlzIGZ1bmN0aW9uIGluY29ycmVjdGx5IHJldHVybnMgbm8gZGF0YSB3aGVu
IGl0CisgICAgICAgIG91Z2h0IHRvLiBCdXQgdGhhdCBpcyBhIGRpZmZlcmVudCBidWcuIE5vdywg
YXQgbGVhc3Qgd2Ugd29uJ3QgY3Jhc2ggd2hlbiBubyBkYXRhIGlzCisgICAgICAgIGF2YWlsYWJs
ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJSZXNvdXJjZS5jcHA6
CisgICAgICAgIChyZXNvdXJjZURhdGFDYWxsYmFjayk6CisKIDIwMTktMDMtMjcgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEdlb2xvY2F0aW9u
IHJlcXVlc3Qgbm90IGNvbXBsZXRlIHdoZW4gd2F0Y2ggcmVxdWVzdCB3YXMgc3RhcnRlZCBpbiBh
IGRpZmZlcmVudCB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViUmVzb3VyY2UuY3BwCmluZGV4IDdiZWFiYjA3ZjNhOWJhNWFm
M2M2NGVjNWQyNTJjNGEyYWY4NWFmMzMuLmMyOTIxMmVlOGYzYWQ3ZDE5M2ZjOWUwYmE3YzY5OGZi
NTA1OGRhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYlJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJSZXNvdXJjZS5jcHAKQEAgLTM1MSw2ICszNTEsOCBAQCBzdGF0aWMgdm9pZCBy
ZXNvdXJjZURhdGFDYWxsYmFjayhBUEk6OkRhdGEqIHdrRGF0YSwgQ2FsbGJhY2tCYXNlOjpFcnJv
ciBlcnJvciwgRwogICAgIH0KICAgICBSZXNvdXJjZUdldERhdGFBc3luY0RhdGEqIGRhdGEgPSBz
dGF0aWNfY2FzdDxSZXNvdXJjZUdldERhdGFBc3luY0RhdGEqPihnX3Rhc2tfZ2V0X3Rhc2tfZGF0
YSh0YXNrKSk7CiAgICAgZGF0YS0+d2ViRGF0YSA9IHdrRGF0YTsKKyAgICBpZiAoIXdrRGF0YS0+
Ynl0ZXMoKSkKKyAgICAgICAgZGF0YS0+d2ViRGF0YSA9IEFQSTo6RGF0YTo6Y3JlYXRlKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KCIiKSwgMSk7CiAgICAgZ190YXNrX3Jl
dHVybl9ib29sZWFuKHRhc2ssIFRSVUUpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2I4MTVlOWRmMTkzYTdjY2ZjNzdiNDQ1N2MzNzJm
NDI1Y2NjNGY3OC4uZjIwNGYwMTk0MGMxYzM4ZDA0NGYzOGY1YjNhMDJmMmE2MTg1ODYzYyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE5LTAzLTI3ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXVtHVEtdIHdlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X2RhdGFf
ZmluaXNoIGNhbiByZXR1cm4gTlVMTCB3aXRob3V0IHNldHRpbmcgZXJyb3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI3NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHTGliL1Rlc3RSZXNvdXJjZXMuY3BwOgorICAgICAgICAod2ViVmlld0xvYWRDaGFu
Z2VkKToKKyAgICAgICAgKHRlc3RXZWJSZXNvdXJjZUdldERhdGFFcnJvcik6CisgICAgICAgICh0
ZXN0V2ViUmVzb3VyY2VHZXREYXRhRW1wdHkpOgorICAgICAgICAoYmVmb3JlQWxsKToKKyAgICAg
ICAgKHdlYlZpZXdsb2FkQ2hhbmdlZCk6IERlbGV0ZWQuCisKIDIwMTktMDMtMjcgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IEFkZCBHTGliIEFQSSB0ZXN0IGNhc2VzIGFmdGVyIHIyNDM0MzQuCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFJlc291cmNlcy5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFJlc291cmNlcy5jcHAKaW5kZXgg
Y2RkZDQ0ZTk5YzBkMTM4OTUzYmVjYzlmMmI3NThjOTYyNjYzNDMzNS4uYjQ3NDFlMGM2ZmFlZjBi
N2ZlN2NkZDQ1ODFiYWEwODZmODJlZDQ0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RSZXNvdXJjZXMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0UmVzb3VyY2VzLmNwcApAQCAtNTM2LDExICs1MzYs
MTEgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlJlc291cmNlR2V0RGF0YShSZXNvdXJjZXNUZXN0KiB0
ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgICAgICB0ZXN0LT5jaGVja1Jlc291cmNlRGF0YShXRUJL
SVRfV0VCX1JFU09VUkNFKGl0ZW0tPmRhdGEpKTsKIH0KIAotc3RhdGljIHZvaWQgd2ViVmlld2xv
YWRDaGFuZ2VkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdExvYWRFdmVudCBsb2FkRXZl
bnQsIEdNYWluTG9vcCogbWFpbkxvb3ApCitzdGF0aWMgdm9pZCB3ZWJWaWV3TG9hZENoYW5nZWQo
V2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0TG9hZEV2ZW50IGxvYWRFdmVudCwgR01haW5M
b29wKiBtYWluTG9vcCkKIHsKICAgICBpZiAobG9hZEV2ZW50ICE9IFdFQktJVF9MT0FEX0ZJTklT
SEVEKQogICAgICAgICByZXR1cm47Ci0gICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9i
eV9mdW5jKHdlYlZpZXcsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHdlYlZpZXdsb2FkQ2hhbmdl
ZCksIG1haW5Mb29wKTsKKyAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMo
d2ViVmlldywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4od2ViVmlld0xvYWRDaGFuZ2VkKSwgbWFp
bkxvb3ApOwogICAgIGdfbWFpbl9sb29wX3F1aXQobWFpbkxvb3ApOwogfQogCkBAIC01NDksNyAr
NTQ5LDcgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlJlc291cmNlR2V0RGF0YUVycm9yKFRlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiAgICAgR1JlZlB0cjxHTWFpbkxvb3A+IG1haW5Mb29wID0gYWRv
cHRHUmVmKGdfbWFpbl9sb29wX25ldyhudWxscHRyLCBGQUxTRSkpOwogICAgIEdSZWZQdHI8V2Vi
S2l0V2ViVmlldz4gd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyhUZXN0OjpjcmVhdGVXZWJWaWV3
KHRlc3QtPm1fd2ViQ29udGV4dC5nZXQoKSkpOwogICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0
bWwod2ViVmlldy5nZXQoKSwgIjxodG1sPjwvaHRtbD4iLCBudWxscHRyKTsKLSAgICBnX3NpZ25h
bF9jb25uZWN0KHdlYlZpZXcuZ2V0KCksICJsb2FkLWNoYW5nZWQiLCBHX0NBTExCQUNLKHdlYlZp
ZXdsb2FkQ2hhbmdlZCksIG1haW5Mb29wLmdldCgpKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHdl
YlZpZXcuZ2V0KCksICJsb2FkLWNoYW5nZWQiLCBHX0NBTExCQUNLKHdlYlZpZXdMb2FkQ2hhbmdl
ZCksIG1haW5Mb29wLmdldCgpKTsKICAgICBnX21haW5fbG9vcF9ydW4obWFpbkxvb3AuZ2V0KCkp
OwogCiAgICAgYXV0byogcmVzb3VyY2UgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X21haW5fcmVzb3Vy
Y2Uod2ViVmlldy5nZXQoKSk7CkBAIC01NjYsNiArNTY2LDI5IEBAIHN0YXRpYyB2b2lkIHRlc3RX
ZWJSZXNvdXJjZUdldERhdGFFcnJvcihUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdf
bWFpbl9sb29wX3J1bihtYWluTG9vcC5nZXQoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIHRlc3RXZWJS
ZXNvdXJjZUdldERhdGFFbXB0eShUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQoreworICAgIEdS
ZWZQdHI8R01haW5Mb29wPiBtYWluTG9vcCA9IGFkb3B0R1JlZihnX21haW5fbG9vcF9uZXcobnVs
bHB0ciwgRkFMU0UpKTsKKyAgICBHUmVmUHRyPFdlYktpdFdlYlZpZXc+IHdlYlZpZXcgPSBXRUJL
SVRfV0VCX1ZJRVcoVGVzdDo6Y3JlYXRlV2ViVmlldyh0ZXN0LT5tX3dlYkNvbnRleHQuZ2V0KCkp
KTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9odG1sKHdlYlZpZXcuZ2V0KCksICIiLCBudWxs
cHRyKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcuZ2V0KCksICJsb2FkLWNoYW5nZWQi
LCBHX0NBTExCQUNLKHdlYlZpZXdMb2FkQ2hhbmdlZCksIG1haW5Mb29wLmdldCgpKTsKKyAgICBn
X21haW5fbG9vcF9ydW4obWFpbkxvb3AuZ2V0KCkpOworCisgICAgYXV0byogcmVzb3VyY2UgPSB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X21haW5fcmVzb3VyY2Uod2ViVmlldy5nZXQoKSk7CisgICAgdGVz
dC0+YXNzZXJ0T2JqZWN0SXNEZWxldGVkV2hlblRlc3RGaW5pc2hlcyhHX09CSkVDVChyZXNvdXJj
ZSkpOworICAgIHdlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X2RhdGEocmVzb3VyY2UsIG51bGxwdHIs
IFtdKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIGdwb2ludGVyIHVzZXJE
YXRhKSB7CisgICAgICAgIHNpemVfdCBkYXRhU2l6ZTsKKyAgICAgICAgR1VuaXF1ZU91dFB0cjxH
RXJyb3I+IGVycm9yOworICAgICAgICBhdXRvKiBkYXRhID0gd2Via2l0X3dlYl9yZXNvdXJjZV9n
ZXRfZGF0YV9maW5pc2goV0VCS0lUX1dFQl9SRVNPVVJDRShzb3VyY2UpLCByZXN1bHQsICZkYXRh
U2l6ZSwgJmVycm9yLm91dFB0cigpKTsKKyAgICAgICAgZ19hc3NlcnRfbm9ubnVsbChkYXRhKTsK
KyAgICAgICAgZ19hc3NlcnRfY21wdWludChkYXRhU2l6ZSwgPT0sIDEpOworICAgICAgICBnX2Fz
c2VydF9jbXBpbnQoZGF0YVswXSwgPT0sICdcMCcpOworICAgICAgICBnX2Fzc2VydF9ub19lcnJv
cihlcnJvci5nZXQoKSk7CisgICAgICAgIGdfbWFpbl9sb29wX3F1aXQoc3RhdGljX2Nhc3Q8R01h
aW5Mb29wKj4odXNlckRhdGEpKTsKKyAgICB9LCBtYWluTG9vcC5nZXQoKSk7CisgICAgZ19tYWlu
X2xvb3BfcnVuKG1haW5Mb29wLmdldCgpKTsKK30KKwogc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdS
ZXNvdXJjZXNIaXN0b3J5Q2FjaGUoU2luZ2xlUmVzb3VyY2VMb2FkVGVzdCogdGVzdCwgZ2NvbnN0
cG9pbnRlcikKIHsKICAgICBDU3RyaW5nIGphdmFzY3JpcHRVUkkgPSBrU2VydmVyLT5nZXRVUklG
b3JQYXRoKCIvamF2YXNjcmlwdC5odG1sIik7CkBAIC04OTcsNiArOTIwLDcgQEAgdm9pZCBiZWZv
cmVBbGwoKQogICAgIFJlc291cmNlVVJJVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlJlc291
cmNlIiwgImFjdGl2ZS11cmkiLCB0ZXN0V2ViUmVzb3VyY2VBY3RpdmVVUkkpOwogICAgIFJlc291
cmNlc1Rlc3Q6OmFkZCgiV2ViS2l0V2ViUmVzb3VyY2UiLCAiZ2V0LWRhdGEiLCB0ZXN0V2ViUmVz
b3VyY2VHZXREYXRhKTsKICAgICBUZXN0OjphZGQoIldlYktpdFdlYlJlc291cmNlIiwgImdldC1k
YXRhLWVycm9yIiwgdGVzdFdlYlJlc291cmNlR2V0RGF0YUVycm9yKTsKKyAgICBUZXN0OjphZGQo
IldlYktpdFdlYlJlc291cmNlIiwgImdldC1kYXRhLWVtcHR5IiwgdGVzdFdlYlJlc291cmNlR2V0
RGF0YUVtcHR5KTsKICAgICBTaW5nbGVSZXNvdXJjZUxvYWRUZXN0OjphZGQoIldlYktpdFdlYlZp
ZXciLCAiaGlzdG9yeS1jYWNoZSIsIHRlc3RXZWJWaWV3UmVzb3VyY2VzSGlzdG9yeUNhY2hlKTsK
ICAgICBTZW5kUmVxdWVzdFRlc3Q6OmFkZCgiV2ViS2l0V2ViUGFnZSIsICJzZW5kLXJlcXVlc3Qi
LCB0ZXN0V2ViUmVzb3VyY2VTZW5kUmVxdWVzdCk7CiAjaWYgU09VUF9DSEVDS19WRVJTSU9OKDIs
IDQ5LCA5MSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>