<?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>172442</bug_id>
          
          <creation_ts>2017-05-22 04:50:52 -0700</creation_ts>
          <short_desc>[GTK] Blob download doesn&apos;t work</short_desc>
          <delta_ts>2017-06-13 10:55: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>WebKitGTK</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="ManDay">manday</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1311287</commentid>
    <comment_count>0</comment_count>
    <who name="ManDay">manday</who>
    <bug_when>2017-05-22 04:50:52 -0700</bug_when>
    <thetext>For an example, try to &quot;Export Route&quot; (download button in the left-hand menu) from osm routing service:

https://www.openrouteservice.org/directions?a=50.774209,6.08443,50.395442,5.936762&amp;b=0&amp;c=0&amp;k1=en-US&amp;k2=km

MiniBrowser will report &quot;Download failed: Load request cancelled&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317982</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-11 01:47:44 -0700</bug_when>
    <thetext>I&apos;ve found the problem, and it&apos;s not a Soup issue (soup is not even used for Blobs), but GTK+ specific one. The problem is that GTK+ API uses URIs for download destination paths, and passes that uris to the WebKit internals. But WebKit expects download destination location to be a local path. This is not a problem for normal downloads, because the soup backend handles the cases of download destination being a URI and a path. For blob downloads NetworkDataTaskBlob is used, and it always expects the download destination to be a local path, failing in FileSystem::openFile() when a URI is passed. We need to keep using local files internally and convert to URIs only when exposing those paths to the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317983</commentid>
    <comment_count>2</comment_count>
      <attachid>312598</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-11 01:53:17 -0700</bug_when>
    <thetext>Created attachment 312598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317984</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-11 01:54:36 -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>1318706</commentid>
    <comment_count>4</comment_count>
    <who name="ManDay">manday</who>
    <bug_when>2017-06-13 10:38:07 -0700</bug_when>
    <thetext>Thank you Carlos, tested with Openrouteservice the Blob downloads now work in Minibrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318712</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-13 10:41:32 -0700</bug_when>
    <thetext>But the patch hasn&apos;t landed, do not close bugs with unreviewed patches, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318716</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-13 10:55:36 -0700</bug_when>
    <thetext>Committed r218185: &lt;http://trac.webkit.org/changeset/218185&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312598</attachid>
            <date>2017-06-11 01:53:17 -0700</date>
            <delta_ts>2017-06-13 10:50:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-gtk-blob-downloads.diff</filename>
            <type>text/plain</type>
            <size>12187</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MWJmMWVkN2UwNi4uMWU0NjY2ZTJjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNy0wNi0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQmxvYiBkb3dubG9hZCBkb2Vzbid0IHdvcmsKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjQ0MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdUSysgQVBJIHVz
ZXMgVVJJcyBmb3IgZG93bmxvYWQgZGVzdGluYXRpb24gcGF0aHMsIGFuZCBwYXNzZXMgdGhhdCBV
UklzIHRvIHRoZSBXZWJLaXQgaW50ZXJuYWxzLiBCdXQgV2ViS2l0CisgICAgICAgIGV4cGVjdHMg
ZG93bmxvYWQgZGVzdGluYXRpb24gbG9jYXRpb24gdG8gYmUgYSBsb2NhbCBwYXRoLiBUaGlzIGlz
IG5vdCBhIHByb2JsZW0gZm9yIG5vcm1hbCBkb3dubG9hZHMsIGJlY2F1c2UKKyAgICAgICAgdGhl
IHNvdXAgYmFja2VuZCBoYW5kbGVzIHRoZSBjYXNlcyBvZiBkb3dubG9hZCBkZXN0aW5hdGlvbiBi
ZWluZyBhIFVSSSBhbmQgYSBwYXRoLiBGb3IgYmxvYiBkb3dubG9hZHMKKyAgICAgICAgTmV0d29y
a0RhdGFUYXNrQmxvYiBpcyB1c2VkLCBhbmQgaXQgYWx3YXlzIGV4cGVjdHMgdGhlIGRvd25sb2Fk
IGRlc3RpbmF0aW9uIHRvIGJlIGEgbG9jYWwgcGF0aCwgZmFpbGluZyBpbgorICAgICAgICBGaWxl
U3lzdGVtOjpvcGVuRmlsZSgpIHdoZW4gYSBVUkkgaXMgcGFzc2VkLiBXZSBuZWVkIHRvIGtlZXAg
dXNpbmcgbG9jYWwgZmlsZXMgaW50ZXJuYWxseSBhbmQgY29udmVydCB0byBVUklzCisgICAgICAg
IG9ubHkgd2hlbiBleHBvc2luZyB0aG9zZSBwYXRocyB0byB0aGUgQVBJLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0RhdGFUYXNrU291cDo6ZG93bmxvYWQpOiBTdG9wIGhhbmRsaW5nIFVSSXMg
aGVyZSwgd2Ugc2hvdWxkIGFsd2F5cyBleHBlY3QgbG9jYWwgZmlsZXMuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWQuY3BwOgorICAgICAgICAod2Via2l0RG93bmxv
YWREZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZSk6IENvbnZlcnQgZGVzdGlu
YXRpb24gVVJJIHRvIGZpbGFubWUgYmVmb3JlIHBhc2luZyBpdCB0byBEb3dubG9hZENsaWVudC4K
KyAgICAgICAgKHdlYmtpdERvd25sb2FkRGVzdGluYXRpb25DcmVhdGVkKTogQ29udmVydCB0aGUg
ZGVzdGluYXRpb24gcGF0aCB0byBhIFVSSSBiZWZvcmUgcGFzc2luZyBpdCB0byBXZWJLaXREb3du
bG9hZDo6Y3JlYXRlZC1kZXN0aW9uYXRpb24gc2lnbmFsLgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdERvd25sb2FkQ2xpZW50LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXREb3dubG9hZFByaXZhdGUuaDoKKwogMjAxNy0wNi0xMCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmVtb3ZlIFdL
RnVsbFNjcmVlbkNsaWVudEd0awpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKaW5kZXggODcwMDIwNTA5NWUu
LmIxODYzZGJmZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKQEAgLTg5MCwxMCArODkwLDggQEAg
dm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpkb3dubG9hZCgpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBpZiAoZ19wYXRoX2lzX2Fic29sdXRlKG1fcGVuZGluZ0Rvd25sb2FkTG9jYXRp
b24udXRmOCgpLmRhdGEoKSkpCi0gICAgICAgIG1fZG93bmxvYWREZXN0aW5hdGlvbkZpbGUgPSBh
ZG9wdEdSZWYoZ19maWxlX25ld19mb3JfcGF0aChtX3BlbmRpbmdEb3dubG9hZExvY2F0aW9uLnV0
ZjgoKS5kYXRhKCkpKTsKLSAgICBlbHNlCi0gICAgICAgIG1fZG93bmxvYWREZXN0aW5hdGlvbkZp
bGUgPSBhZG9wdEdSZWYoZ19maWxlX25ld19mb3JfdXJpKG1fcGVuZGluZ0Rvd25sb2FkTG9jYXRp
b24udXRmOCgpLmRhdGEoKSkpOworICAgIENTdHJpbmcgZG93bmxvYWREZXN0aW5hdGlvblBhdGgg
PSBtX3BlbmRpbmdEb3dubG9hZExvY2F0aW9uLnV0ZjgoKTsKKyAgICBtX2Rvd25sb2FkRGVzdGlu
YXRpb25GaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3BhdGgoZG93bmxvYWREZXN0aW5h
dGlvblBhdGguZGF0YSgpKSk7CiAgICAgR1JlZlB0cjxHRmlsZU91dHB1dFN0cmVhbT4gb3V0cHV0
U3RyZWFtOwogICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKICAgICBpZiAobV9hbGxv
d092ZXJ3cml0ZURvd25sb2FkKQpAQCAtOTA1LDEwICs5MDMsOSBAQCB2b2lkIE5ldHdvcmtEYXRh
VGFza1NvdXA6OmRvd25sb2FkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEdVbmlx
dWVQdHI8Y2hhcj4gZG93bmxvYWREZXN0aW5hdGlvblVSSShnX2ZpbGVfZ2V0X3VyaShtX2Rvd25s
b2FkRGVzdGluYXRpb25GaWxlLmdldCgpKSk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBpbnRlcm1l
ZGlhdGVVUkkoZ19zdHJkdXBfcHJpbnRmKCIlcy53a2Rvd25sb2FkIiwgZG93bmxvYWREZXN0aW5h
dGlvblVSSS5nZXQoKSkpOwotICAgIG1fZG93bmxvYWRJbnRlcm1lZGlhdGVGaWxlID0gYWRvcHRH
UmVmKGdfZmlsZV9uZXdfZm9yX3VyaShpbnRlcm1lZGlhdGVVUkkuZ2V0KCkpKTsKLSAgICBvdXRw
dXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19maWxlX3JlcGxhY2UobV9kb3dubG9hZEludGVybWVkaWF0
ZUZpbGUuZ2V0KCksIDAsIFRSVUUsIEdfRklMRV9DUkVBVEVfTk9ORSwgMCwgJmVycm9yLm91dFB0
cigpKSk7CisgICAgR1VuaXF1ZVB0cjxjaGFyPiBpbnRlcm1lZGlhdGVQYXRoKGdfc3RyZHVwX3By
aW50ZigiJXMud2tkb3dubG9hZCIsIGRvd25sb2FkRGVzdGluYXRpb25QYXRoLmRhdGEoKSkpOwor
ICAgIG1fZG93bmxvYWRJbnRlcm1lZGlhdGVGaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9y
X3BhdGgoaW50ZXJtZWRpYXRlUGF0aC5nZXQoKSkpOworICAgIG91dHB1dFN0cmVhbSA9IGFkb3B0
R1JlZihnX2ZpbGVfcmVwbGFjZShtX2Rvd25sb2FkSW50ZXJtZWRpYXRlRmlsZS5nZXQoKSwgbnVs
bHB0ciwgVFJVRSwgR19GSUxFX0NSRUFURV9OT05FLCBudWxscHRyLCAmZXJyb3Iub3V0UHRyKCkp
KTsKICAgICBpZiAoIW91dHB1dFN0cmVhbSkgewogICAgICAgICBkaWRGYWlsRG93bmxvYWQoZG93
bmxvYWREZXN0aW5hdGlvbkVycm9yKG1fcmVzcG9uc2UsIGVycm9yLT5tZXNzYWdlKSk7CiAgICAg
ICAgIHJldHVybjsKQEAgLTkxOSw3ICs5MTYsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6
OmRvd25sb2FkKCkKICAgICBhdXRvIGRvd25sb2FkID0gc3RkOjptYWtlX3VuaXF1ZTxEb3dubG9h
ZD4oZG93bmxvYWRNYW5hZ2VyLCBtX3BlbmRpbmdEb3dubG9hZElELCAqdGhpcywgbV9zZXNzaW9u
LT5zZXNzaW9uSUQoKSwgc3VnZ2VzdGVkRmlsZW5hbWUoKSk7CiAgICAgYXV0byogZG93bmxvYWRQ
dHIgPSBkb3dubG9hZC5nZXQoKTsKICAgICBkb3dubG9hZE1hbmFnZXIuZGF0YVRhc2tCZWNhbWVE
b3dubG9hZFRhc2sobV9wZW5kaW5nRG93bmxvYWRJRCwgV1RGTW92ZShkb3dubG9hZCkpOwotICAg
IGRvd25sb2FkUHRyLT5kaWRDcmVhdGVEZXN0aW5hdGlvbihTdHJpbmc6OmZyb21VVEY4KGRvd25s
b2FkRGVzdGluYXRpb25VUkkuZ2V0KCkpKTsKKyAgICBkb3dubG9hZFB0ci0+ZGlkQ3JlYXRlRGVz
dGluYXRpb24obV9wZW5kaW5nRG93bmxvYWRMb2NhdGlvbik7CiAKICAgICBBU1NFUlQoIW1fY2xp
ZW50KTsKICAgICByZWFkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXREb3dubG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXREb3dubG9hZC5jcHAKaW5kZXggMTY5ODkwMjhjZWUuLmI4ODdhMzdlNTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9h
ZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxv
YWQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNp
bmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0
ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNDAxLDIxICs0MDIsMjYgQEAgdm9p
ZCB3ZWJraXREb3dubG9hZEZpbmlzaGVkKFdlYktpdERvd25sb2FkKiBkb3dubG9hZCkKICAgICBn
X3NpZ25hbF9lbWl0KGRvd25sb2FkLCBzaWduYWxzW0ZJTklTSEVEXSwgMCwgTlVMTCk7CiB9CiAK
LUNTdHJpbmcgd2Via2l0RG93bmxvYWREZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxl
bmFtZShXZWJLaXREb3dubG9hZCogZG93bmxvYWQsIGNvbnN0IENTdHJpbmcmIHN1Z2dlc3RlZEZp
bGVuYW1lLCBib29sJiBhbGxvd092ZXJ3cml0ZSkKK1N0cmluZyB3ZWJraXREb3dubG9hZERlY2lk
ZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lKFdlYktpdERvd25sb2FkKiBkb3dubG9h
ZCwgY29uc3QgQ1N0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUsIGJvb2wmIGFsbG93T3ZlcndyaXRl
KQogewogICAgIGlmIChkb3dubG9hZC0+cHJpdi0+aXNDYW5jZWxsZWQpCi0gICAgICAgIHJldHVy
biAiIjsKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgZ2Jvb2xlYW4gcmV0dXJu
VmFsdWU7CiAgICAgZ19zaWduYWxfZW1pdChkb3dubG9hZCwgc2lnbmFsc1tERUNJREVfREVTVElO
QVRJT05dLCAwLCBzdWdnZXN0ZWRGaWxlbmFtZS5kYXRhKCksICZyZXR1cm5WYWx1ZSk7CiAgICAg
YWxsb3dPdmVyd3JpdGUgPSBkb3dubG9hZC0+cHJpdi0+YWxsb3dPdmVyd3JpdGU7Ci0gICAgcmV0
dXJuIGRvd25sb2FkLT5wcml2LT5kZXN0aW5hdGlvblVSSTsKKyAgICBHVW5pcXVlUHRyPGNoYXI+
IGRlc3RpbmF0aW9uUGF0aChnX2ZpbGVuYW1lX2Zyb21fdXJpKGRvd25sb2FkLT5wcml2LT5kZXN0
aW5hdGlvblVSSS5kYXRhKCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICBpZiAoIWRlc3RpbmF0
aW9uUGF0aCkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIFN0cmlu
Zzo6ZnJvbVVURjgoZGVzdGluYXRpb25QYXRoLmdldCgpKTsKIH0KIAotdm9pZCB3ZWJraXREb3du
bG9hZERlc3RpbmF0aW9uQ3JlYXRlZChXZWJLaXREb3dubG9hZCogZG93bmxvYWQsIGNvbnN0IENT
dHJpbmcmIGRlc3RpbmF0aW9uVVJJKQordm9pZCB3ZWJraXREb3dubG9hZERlc3RpbmF0aW9uQ3Jl
YXRlZChXZWJLaXREb3dubG9hZCogZG93bmxvYWQsIGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25Q
YXRoKQogewogICAgIGlmIChkb3dubG9hZC0+cHJpdi0+aXNDYW5jZWxsZWQpCiAgICAgICAgIHJl
dHVybjsKLSAgICBnX3NpZ25hbF9lbWl0KGRvd25sb2FkLCBzaWduYWxzW0NSRUFURURfREVTVElO
QVRJT05dLCAwLCBkZXN0aW5hdGlvblVSSS5kYXRhKCksIG51bGxwdHIpOworICAgIEdVbmlxdWVQ
dHI8Y2hhcj4gZGVzdGluYXRpb25VUkkoZ19maWxlbmFtZV90b191cmkoZGVzdGluYXRpb25QYXRo
LnV0ZjgoKS5kYXRhKCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICBBU1NFUlQoZGVzdGluYXRp
b25VUkkpOworICAgIGdfc2lnbmFsX2VtaXQoZG93bmxvYWQsIHNpZ25hbHNbQ1JFQVRFRF9ERVNU
SU5BVElPTl0sIDAsIGRlc3RpbmF0aW9uVVJJLmdldCgpKTsKIH0KIAogLyoqCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZENsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZENsaWVu
dC5jcHAKaW5kZXggYTYxMzNjOTFjMGMuLmY0ZTEzYjllMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZENsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWRDbGllbnQuY3Bw
CkBAIC03NywxMyArNzcsMTMgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgZGVjaWRlRGVzdGluYXRp
b25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoV2ViUHJvY2Vzc1Bvb2wqLCBEb3dubG9hZFByb3h5KiBk
b3dubG9hZFByb3h5LCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBib29sJiBhbGxvd092ZXJ3cml0
ZSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIEdSZWZQdHI8V2ViS2l0RG93bmxvYWQ+IGRvd25s
b2FkID0gd2Via2l0V2ViQ29udGV4dEdldE9yQ3JlYXRlRG93bmxvYWQoZG93bmxvYWRQcm94eSk7
Ci0gICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KHdlYmtpdERvd25sb2FkRGVjaWRlRGVz
dGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoZG93bmxvYWQuZ2V0KCksIGZpbGVuYW1lLnV0
ZjgoKSwgYWxsb3dPdmVyd3JpdGUpKTsKKyAgICAgICAgcmV0dXJuIHdlYmtpdERvd25sb2FkRGVj
aWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoZG93bmxvYWQuZ2V0KCksIGZpbGVu
YW1lLnV0ZjgoKSwgYWxsb3dPdmVyd3JpdGUpOwogICAgIH0KIAogICAgIHZvaWQgZGlkQ3JlYXRl
RGVzdGluYXRpb24oV2ViUHJvY2Vzc1Bvb2wqLCBEb3dubG9hZFByb3h5KiBkb3dubG9hZFByb3h5
LCBjb25zdCBTdHJpbmcmIHBhdGgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBHUmVmUHRyPFdl
YktpdERvd25sb2FkPiBkb3dubG9hZCA9IHdlYmtpdFdlYkNvbnRleHRHZXRPckNyZWF0ZURvd25s
b2FkKGRvd25sb2FkUHJveHkpOwotICAgICAgICB3ZWJraXREb3dubG9hZERlc3RpbmF0aW9uQ3Jl
YXRlZChkb3dubG9hZC5nZXQoKSwgcGF0aC51dGY4KCkpOworICAgICAgICB3ZWJraXREb3dubG9h
ZERlc3RpbmF0aW9uQ3JlYXRlZChkb3dubG9hZC5nZXQoKSwgcGF0aCk7CiAgICAgfQogCiAgICAg
dm9pZCBkaWRGYWlsKFdlYlByb2Nlc3NQb29sKiwgRG93bmxvYWRQcm94eSogZG93bmxvYWRQcm94
eSwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpIG92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZFByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25sb2FkUHJpdmF0ZS5oCmlu
ZGV4IDQxMzBiY2IzNWI4Li4yZDkyNWRlOWM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWRQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWRQcml2YXRlLmgKQEAgLTI0LDcg
KzI0LDYgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KLSNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIFdlYktpdERvd25sb2FkKiB3ZWJraXREb3du
bG9hZENyZWF0ZShXZWJLaXQ6OkRvd25sb2FkUHJveHkqKTsKIGJvb2wgd2Via2l0RG93bmxvYWRJ
c0NhbmNlbGxlZChXZWJLaXREb3dubG9hZCopOwpAQCAtMzQsNyArMzMsNyBAQCB2b2lkIHdlYmtp
dERvd25sb2FkTm90aWZ5UHJvZ3Jlc3MoV2ViS2l0RG93bmxvYWQqLCBndWludDY0IGJ5dGVzUmVj
ZWl2ZWQpOwogdm9pZCB3ZWJraXREb3dubG9hZEZhaWxlZChXZWJLaXREb3dubG9hZCosIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKIHZvaWQgd2Via2l0RG93bmxvYWRDYW5jZWxsZWQo
V2ViS2l0RG93bmxvYWQqKTsKIHZvaWQgd2Via2l0RG93bmxvYWRGaW5pc2hlZChXZWJLaXREb3du
bG9hZCopOwotQ1N0cmluZyB3ZWJraXREb3dubG9hZERlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dl
c3RlZEZpbGVuYW1lKFdlYktpdERvd25sb2FkKiwgY29uc3QgQ1N0cmluZyYgc3VnZ2VzdGVkRmls
ZW5hbWUsIGJvb2wmIGFsbG93T3ZlcndyaXRlKTsKLXZvaWQgd2Via2l0RG93bmxvYWREZXN0aW5h
dGlvbkNyZWF0ZWQoV2ViS2l0RG93bmxvYWQqLCBjb25zdCBDU3RyaW5nJiBkZXN0aW5hdGlvblVS
SSk7CitTdHJpbmcgd2Via2l0RG93bmxvYWREZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRG
aWxlbmFtZShXZWJLaXREb3dubG9hZCosIGNvbnN0IENTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1l
LCBib29sJiBhbGxvd092ZXJ3cml0ZSk7Cit2b2lkIHdlYmtpdERvd25sb2FkRGVzdGluYXRpb25D
cmVhdGVkKFdlYktpdERvd25sb2FkKiwgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblBhdGgpOwog
CiAjZW5kaWYgLy8gV2ViS2l0RG93bmxvYWRQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MzI0N2RmYWIyMS4uYjhlNTQ5Y2ZkZWUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0wNi0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQmxvYiBkb3dubG9hZCBkb2Vzbid0IHdvcmsKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjQ0MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHVuaXQg
dGVzdCB0byBjaGVjayBibG9iIGRvd25sb2Fkcy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9UZXN0RG93bmxvYWRzLmNwcDoKKyAgICAgICAgKHRlc3RCbG9iRG93
bmxvYWQpOgorICAgICAgICAoYmVmb3JlQWxsKToKKwogMjAxNy0wNi0xMCAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmVydGVkIHIyMTgwNTYgYmVjYXVzZSBp
dCBtYWRlIHRoZSBJREUgcmVpbmRleCBjb25zdGFudGx5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3REb3dubG9hZHMuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3REb3dubG9hZHMuY3BwCmluZGV4IGU1Njhl
YmRhYmZmLi43NTYwNDYwYWJmNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyR3RrL1Rlc3REb3dubG9hZHMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9UZXN0RG93bmxvYWRzLmNwcApAQCAtNzI3LDYgKzcyNyw0MiBAQCBz
dGF0aWMgdm9pZCB0ZXN0Q29udGV4dE1lbnVEb3dubG9hZEFjdGlvbnMoV2ViVmlld0Rvd25sb2Fk
VGVzdCogdGVzdCwgZ2NvbnN0cG9pbgogICAgIGdfZmlsZV9kZWxldGUoZG93bmxvYWRGaWxlLmdl
dCgpLCBudWxscHRyLCBudWxscHRyKTsKIH0KIAorc3RhdGljIHZvaWQgdGVzdEJsb2JEb3dubG9h
ZChXZWJWaWV3RG93bmxvYWRUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQoreworICAgIHRlc3Qt
PnNob3dJbldpbmRvd0FuZFdhaXRVbnRpbE1hcHBlZCgpOworCisgICAgc3RhdGljIGNvbnN0IGNo
YXIqIGxpbmtCbG9iSFRNTCA9CisgICAgICAgICI8aHRtbD48Ym9keT4iCisgICAgICAgICI8YSBp
ZD0nZG93bmxvYWRMaW5rJyBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MTsgdG9wOjEn
IGRvd25sb2FkPSdmb28ucGRmJz5Eb3dubG9hZCBNZTwvYT4iCisgICAgICAgICI8c2NyaXB0PiIK
KyAgICAgICAgIiAgYmxvYiA9IG5ldyBCbG9iKFsnSGVsbG8gd29ybGQnXSwge3R5cGU6ICd0ZXh0
L3BsYWluJ30pOyIKKyAgICAgICAgIiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rvd25sb2Fk
TGluaycpLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsiCisgICAgICAg
ICI8L3NjcmlwdD4iCisgICAgICAgICI8L2JvZHk+PC9odG1sPiI7CisgICAgdGVzdC0+bG9hZEh0
bWwobGlua0Jsb2JIVE1MLCBrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvIikuZGF0YSgpKTsKKyAg
ICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKworICAgIGdfaWRsZV9hZGQoW10oZ3Bv
aW50ZXIgdXNlckRhdGEpIC0+IGdib29sZWFuIHsKKyAgICAgICAgYXV0byogdGVzdCA9IHN0YXRp
Y19jYXN0PFdlYlZpZXdEb3dubG9hZFRlc3QqPih1c2VyRGF0YSk7CisgICAgICAgIHRlc3QtPmNs
aWNrTW91c2VCdXR0b24oMSwgMSwgMSk7CisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9LCB0
ZXN0KTsKKyAgICB0ZXN0LT53YWl0VW50aWxEb3dubG9hZFN0YXJ0ZWQoKTsKKworICAgIGdfYXNz
ZXJ0KHRlc3QtPm1fd2ViVmlldyA9PSB3ZWJraXRfZG93bmxvYWRfZ2V0X3dlYl92aWV3KHRlc3Qt
Pm1fZG93bmxvYWQuZ2V0KCkpKTsKKyAgICB0ZXN0LT53YWl0VW50aWxEb3dubG9hZEZpbmlzaGVk
KCk7CisKKyAgICBHUmVmUHRyPEdGaWxlPiBkb3dubG9hZEZpbGUgPSBhZG9wdEdSZWYoZ19maWxl
X25ld19mb3JfdXJpKHdlYmtpdF9kb3dubG9hZF9nZXRfZGVzdGluYXRpb24odGVzdC0+bV9kb3du
bG9hZC5nZXQoKSkpKTsKKyAgICBHUmVmUHRyPEdGaWxlSW5mbz4gZG93bmxvYWRGaWxlSW5mbyA9
IGFkb3B0R1JlZihnX2ZpbGVfcXVlcnlfaW5mbyhkb3dubG9hZEZpbGUuZ2V0KCksIEdfRklMRV9B
VFRSSUJVVEVfU1RBTkRBUkRfU0laRSwgc3RhdGljX2Nhc3Q8R0ZpbGVRdWVyeUluZm9GbGFncz4o
MCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRvd25sb2FkUGF0
aChnX2ZpbGVfZ2V0X3BhdGgoZG93bmxvYWRGaWxlLmdldCgpKSk7CisgICAgR1VuaXF1ZU91dFB0
cjxjaGFyPiBkb3dubG9hZENvbnRlbnRzOworICAgIGdzaXplIGRvd25sb2FkQ29udGVudHNMZW5n
dGg7CisgICAgZ19hc3NlcnQoZ19maWxlX2dldF9jb250ZW50cyhkb3dubG9hZFBhdGguZ2V0KCks
ICZkb3dubG9hZENvbnRlbnRzLm91dFB0cigpLCAmZG93bmxvYWRDb250ZW50c0xlbmd0aCwgbnVs
bHB0cikpOworICAgIGdfYXNzZXJ0X2NtcGludChnX2ZpbGVfaW5mb19nZXRfc2l6ZShkb3dubG9h
ZEZpbGVJbmZvLmdldCgpKSwgPT0sIGRvd25sb2FkQ29udGVudHNMZW5ndGgpOworICAgIGdfYXNz
ZXJ0X2NtcHN0cihkb3dubG9hZENvbnRlbnRzLmdldCgpLCA9PSwgIkhlbGxvIHdvcmxkIik7Cisg
ICAgZ19maWxlX2RlbGV0ZShkb3dubG9hZEZpbGUuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIpOwor
fQorCiB2b2lkIGJlZm9yZUFsbCgpCiB7CiAgICAga1NlcnZlciA9IG5ldyBXZWJLaXRUZXN0U2Vy
dmVyKCk7CkBAIC03NDMsNiArNzc5LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIFBvbGljeVJl
c3BvbnNlRG93bmxvYWRUZXN0OjphZGQoIkRvd25sb2FkcyIsICJwb2xpY3ktZGVjaXNpb24tZG93
bmxvYWQtY2FuY2VsIiwgdGVzdFBvbGljeVJlc3BvbnNlRG93bmxvYWRDYW5jZWwpOwogICAgIERv
d25sb2FkVGVzdDo6YWRkKCJEb3dubG9hZHMiLCAibWltZS10eXBlIiwgdGVzdERvd25sb2FkTUlN
RVR5cGUpOwogICAgIFdlYlZpZXdEb3dubG9hZFRlc3Q6OmFkZCgiRG93bmxvYWRzIiwgImNvbnRl
eC1tZW51LWRvd25sb2FkLWFjdGlvbnMiLCB0ZXN0Q29udGV4dE1lbnVEb3dubG9hZEFjdGlvbnMp
OworICAgIFdlYlZpZXdEb3dubG9hZFRlc3Q6OmFkZCgiRG93bmxvYWRzIiwgImJsb2ItZG93bmxv
YWQiLCB0ZXN0QmxvYkRvd25sb2FkKTsKIH0KIAogdm9pZCBhZnRlckFsbCgpCg==
</data>
<flag name="review"
          id="333520"
          type_id="1"
          status="+"
          setter="clopez"
    />
          </attachment>
      

    </bug>

</bugzilla>