<?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>144738</bug_id>
          
          <creation_ts>2015-05-07 03:26:15 -0700</creation_ts>
          <short_desc>REGRESSION(r183861): [SOUP] Downloads are broken when using the Network Process</short_desc>
          <delta_ts>2015-05-15 01:04:55 -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>WebKit2</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>Gtk, Regression, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>lantw44</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092560</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-07 03:26:15 -0700</bug_when>
    <thetext>I still don&apos;t know which revision broke this, but downloads don&apos;t work when using the network process. Try to download anything in GTK MiniBrowser, the download gets stalled right after it starts. It doesn&apos;t happen when using shared secondary process model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092561</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-07 03:27:33 -0700</bug_when>
    <thetext>Maybe it&apos;s the time to start running unit tests with network process too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094746</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 00:01:05 -0700</bug_when>
    <thetext>When converting the main resource handle to a download, the NetworkResourceLoader is aborted, but the ResourceHandle shouldn&apos;t be cleaned up because it&apos;s still used for the download.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094747</commentid>
    <comment_count>3</comment_count>
      <attachid>253103</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 00:04:13 -0700</bug_when>
    <thetext>Created attachment 253103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094750</commentid>
    <comment_count>4</comment_count>
      <attachid>253103</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-14 00:21:54 -0700</bug_when>
    <thetext>Comment on attachment 253103
Patch

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

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:-210
&gt; +    if (m_handle &amp;&amp; !m_didConvertHandleToDownload)
&gt;          m_handle-&gt;setClient(nullptr);
&gt; -        m_handle = nullptr;
&gt; -    }

This is not right for Mac. On the Mac, the download is not a ResourceHandleClient, so the client pointer is invalid once the handle is converted to a download.

Would it be possible to follow Mac design, and not use a ResourceHandleClient for downloading? This is quite confusing, I certainly didn&apos;t expect such a difference when making the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094751</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-14 00:22:49 -0700</bug_when>
    <thetext>A quick fix for you may be to change the client after calling didConvertHandleToDownload(), not before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094752</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 00:27:14 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 253103 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253103&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:-210
&gt; &gt; +    if (m_handle &amp;&amp; !m_didConvertHandleToDownload)
&gt; &gt;          m_handle-&gt;setClient(nullptr);
&gt; &gt; -        m_handle = nullptr;
&gt; &gt; -    }
&gt; 
&gt; This is not right for Mac. On the Mac, the download is not a
&gt; ResourceHandleClient, so the client pointer is invalid once the handle is
&gt; converted to a download.
&gt; 
&gt; Would it be possible to follow Mac design, and not use a
&gt; ResourceHandleClient for downloading? This is quite confusing, I certainly
&gt; didn&apos;t expect such a difference when making the change.

What&apos;s wrong using a ResourceHandleClient for downloads? We would use libsoup directly for downloading, but we would probably ended up duplicating the ResourceHandle code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094756</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 00:30:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; A quick fix for you may be to change the client after calling
&gt; didConvertHandleToDownload(), not before.

Not that easy, the client is private to DownloadSoup and set in Download::startWithHandle(). What we could do, though, is creating a new handle instead of reusing the existing one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094759</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 00:44:32 -0700</bug_when>
    <thetext>Or we could add isDownload() to ResourceHandleClient and do something like:

if (m_handle &amp;&amp; m_handle-&gt;client() &amp;&amp; !m_handle-&gt;client()-&gt;isDownload())
    m_handle-&gt;setClient(nullptr);

it will always return false for non soup ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094823</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-14 09:26:14 -0700</bug_when>
    <thetext>&gt; What&apos;s wrong using a ResourceHandleClient for downloads?

It&apos;s best to use cross-platform code in the same way on all ports. When we don&apos;t, we get bugs like this.

&gt; What we could do, though, is creating a new handle instead of reusing the existing one.

This seems better indeed, although it still smells like something that would cause trouble due to different usage scenarios for the same cross-platform abstraction.

&gt; Or we could add isDownload() to ResourceHandleClient and do something like:

This is a pretty gross hack. Even though downloading is the only case where we swap ResourceHandleClients at this time, ResourceHandle interface in no way enforces that. Also, the check would be super surprising to anyone who looks at cross-platform and Mac code only - the libsoup behavior is hidden pretty well.

If the first option (using custom soup based code for downloading) is not practical, I would consider adding a disconnectClient(ResourceHandleClient*) function to ResourceHandle, which would be a no-op if the argument doesn&apos;t match the current client.

However, I have a suspicion that most of the code needed to reimplement downloading would be moved, not duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094834</commentid>
    <comment_count>10</comment_count>
      <attachid>253126</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 10:22:32 -0700</bug_when>
    <thetext>Created attachment 253126
Updated patch

New approach using always a different ResourceHandle for downloads. This also fixes bug #144972</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094836</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-14 10:33:04 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; What&apos;s wrong using a ResourceHandleClient for downloads?
&gt; 
&gt; It&apos;s best to use cross-platform code in the same way on all ports. When we
&gt; don&apos;t, we get bugs like this.

But the downloads implementation in mac is not cross-platform at all, no?

&gt; &gt; What we could do, though, is creating a new handle instead of reusing the existing one.
&gt; 
&gt; This seems better indeed, although it still smells like something that would
&gt; cause trouble due to different usage scenarios for the same cross-platform
&gt; abstraction.
&gt; 
&gt; &gt; Or we could add isDownload() to ResourceHandleClient and do something like:
&gt; 
&gt; This is a pretty gross hack. Even though downloading is the only case where
&gt; we swap ResourceHandleClients at this time, ResourceHandle interface in no
&gt; way enforces that. Also, the check would be super surprising to anyone who
&gt; looks at cross-platform and Mac code only - the libsoup behavior is hidden
&gt; pretty well.
&gt; 
&gt; If the first option (using custom soup based code for downloading) is not
&gt; practical, I would consider adding a disconnectClient(ResourceHandleClient*)
&gt; function to ResourceHandle, which would be a no-op if the argument doesn&apos;t
&gt; match the current client.
&gt; 
&gt; However, I have a suspicion that most of the code needed to reimplement
&gt; downloading would be moved, not duplicated.

I could try to move the soup implementation to a helper class to be used by both ResourceHandle and Downloads, but that would require a lot more time. Since this is a serious regression, I prefer to fix it ASAP and then try to do it in a different way, but I still don&apos;t see why using a ResourceHandle is a problem. ResourceHandle is a good wrapper around the libsoup details, and I think we have always used a ResourceHandle for downloads, even in WebKit1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094842</commentid>
    <comment_count>12</comment_count>
      <attachid>253126</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-14 11:00:07 -0700</bug_when>
    <thetext>Comment on attachment 253126
Updated patch

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

&gt; But the downloads implementation in mac is not cross-platform at all, no?

What I&apos;m talking about is that abstractions should abstract out platform differences. We have cross-platform abstractions for ResourceHandle and ResourceHandleClient. Code that uses those should expect identical behavior on all platforms - if it&apos;s correct to set the client to null on Mac, it should be the correct thing to do everywhere.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1042
&gt; +    return WTF::move(newHandle);

Is WTF::move needed? I thought that C++11 must move automatically in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095059</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-15 01:03:36 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 253126 [details]
&gt; Updated patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253126&amp;action=review

Thanks!

&gt; &gt; But the downloads implementation in mac is not cross-platform at all, no?
&gt; 
&gt; What I&apos;m talking about is that abstractions should abstract out platform
&gt; differences. We have cross-platform abstractions for ResourceHandle and
&gt; ResourceHandleClient. Code that uses those should expect identical behavior
&gt; on all platforms - if it&apos;s correct to set the client to null on Mac, it
&gt; should be the correct thing to do everywhere.

Ok, got it.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1042
&gt; &gt; +    return WTF::move(newHandle);
&gt; 
&gt; Is WTF::move needed? I thought that C++11 must move automatically in this
&gt; case.

I think we can just return the RefPtr, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095060</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-15 01:04:55 -0700</bug_when>
    <thetext>Committed r184376: &lt;http://trac.webkit.org/changeset/184376&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253103</attachid>
            <date>2015-05-14 00:04:13 -0700</date>
            <delta_ts>2015-05-14 10:22:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-downloads.diff</filename>
            <type>text/plain</type>
            <size>1591</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmM2FkYjZiLi5kYTFlZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTUtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE4Mzg2MSk6IFtTT1VQXSBEb3dubG9hZHMgYXJlIGJy
b2tlbiB3aGVuIHVzaW5nIHRoZSBOZXR3b3JrIFByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDczOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY29udmVydGluZyB0aGUgbWFpbiByZXNv
dXJjZSBoYW5kbGUgdG8gYSBkb3dubG9hZCwgdGhlCisgICAgICAgIE5ldHdvcmtSZXNvdXJjZUxv
YWRlciBpcyBhYm9ydGVkLCBidXQgdGhlIFJlc291cmNlSGFuZGxlIHNob3VsZG4ndAorICAgICAg
ICBiZSBjbGVhbmVkIHVwIGJlY2F1c2UgaXQncyBzdGlsbCB1c2VkIGZvciB0aGUgZG93bmxvYWQu
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNsZWFudXApOgorCiAyMDE1
LTA1LTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gTmV0d29yayBDYWNoZTogSW1wbGVtZW50IFNoYXJlYWJsZVJlc291cmNlIGZv
ciBTb3VwIGFuZCBlbmFibGUgaXQgZm9yIEdUSyBwbGF0Zm9ybQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
NzRlYTM3YS4uNzgyMTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMDQsMTAgKzIwNCw5IEBAIHZv
aWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjbGVhbnVwKCkKIAogICAgIGludmFsaWRhdGVTYW5k
Ym94RXh0ZW5zaW9ucygpOwogCi0gICAgaWYgKG1faGFuZGxlKSB7CisgICAgaWYgKG1faGFuZGxl
ICYmICFtX2RpZENvbnZlcnRIYW5kbGVUb0Rvd25sb2FkKQogICAgICAgICBtX2hhbmRsZS0+c2V0
Q2xpZW50KG51bGxwdHIpOwotICAgICAgICBtX2hhbmRsZSA9IG51bGxwdHI7Ci0gICAgfQorICAg
IG1faGFuZGxlID0gbnVsbHB0cjsKIAogICAgIC8vIFRoaXMgd2lsbCBjYXVzZSBOZXR3b3JrUmVz
b3VyY2VMb2FkZXIgdG8gYmUgZGVzdHJveWVkIGFuZCB0aGVyZWZvcmUgd2UgZG8gaXQgbGFzdC4K
ICAgICBtX2Nvbm5lY3Rpb24tPmRpZENsZWFudXBSZXNvdXJjZUxvYWRlcigqdGhpcyk7Cg==
</data>
<flag name="review"
          id="277964"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253126</attachid>
            <date>2015-05-14 10:22:32 -0700</date>
            <delta_ts>2015-05-14 11:00:07 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-downloads.diff</filename>
            <type>text/plain</type>
            <size>4437</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZDdlODEzLi5lMTg1N2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTUtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE4Mzg2MSk6IFtTT1VQXSBEb3dubG9hZHMgYXJlIGJy
b2tlbiB3aGVuIHVzaW5nIHRoZSBOZXR3b3JrIFByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDczOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBSZXNvdXJjZUhhbmRsZTo6cmVsZWFzZUZv
ckRvd25sb2FkKCkgdGhhdCByZWxlYXNlcyB0aGUgY3VycmVudAorICAgICAgICBoYW5kbGUgdG8g
YmUgdXNlZCBhcyBhIGRvd25sb2FkLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnJlbGVhc2VG
b3JEb3dubG9hZCk6CisKIDIwMTUtMDUtMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBOZXR3b3JrIENhY2hlOiBJbXBsZW1lbnQg
U2hhcmVhYmxlUmVzb3VyY2UgZm9yIFNvdXAgYW5kIGVuYWJsZSBpdCBmb3IgR1RLIHBsYXRmb3Jt
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgK
aW5kZXggNDJlOGQzOS4uMTE2MTM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMTc3LDYgKzE3Nyw3IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAjaWYgVVNFKFNPVVApCisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiByZWxlYXNl
Rm9yRG93bmxvYWQoUmVzb3VyY2VIYW5kbGVDbGllbnQqKTsKICAgICB2b2lkIGNvbnRpbnVlRGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRp
YWxGcm9tUGVyc2lzdGVudFN0b3JhZ2UpOwogICAgIHZvaWQgc2VuZFBlbmRpbmdSZXF1ZXN0KCk7
CiAgICAgYm9vbCBjYW5jZWxsZWRPckNsaWVudGxlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
aW5kZXggOTU4NTJiZi4uNTA0ODEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTEwMjcs
NiArMTAyNywyMSBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK1JlZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OnJlbGVhc2VG
b3JEb3dubG9hZChSZXNvdXJjZUhhbmRsZUNsaWVudCogZG93bmxvYWRDbGllbnQpCit7CisgICAg
Ly8gV2UgZG9uJ3QgYWRvcHQgdGhlIHJlZiwgYXMgaXQgd2lsbCBiZSByZWxlYXNlZCBieSBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgorICAgIFJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gbmV3SGFuZGxlID0gbmV3IFJlc291cmNlSGFuZGxlKGQtPm1f
Y29udGV4dC5nZXQoKSwgZmlyc3RSZXF1ZXN0KCksIG51bGxwdHIsIGQtPm1fZGVmZXJzTG9hZGlu
ZywgZC0+bV9zaG91bGRDb250ZW50U25pZmYpOworICAgIHN0ZDo6c3dhcChkLCBuZXdIYW5kbGUt
PmQpOworCisgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKG5ld0hhbmRs
ZS0+ZC0+bV9zb3VwTWVzc2FnZS5nZXQoKSwgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVs
bHB0ciwgbnVsbHB0ciwgdGhpcyk7CisgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1QobmV3
SGFuZGxlLT5kLT5tX3NvdXBNZXNzYWdlLmdldCgpKSwgImhhbmRsZSIsIG5ld0hhbmRsZS5nZXQo
KSk7CisKKyAgICBuZXdIYW5kbGUtPmQtPm1fY2xpZW50ID0gZG93bmxvYWRDbGllbnQ7CisgICAg
Y29udGludWVBZnRlckRpZFJlY2VpdmVSZXNwb25zZShuZXdIYW5kbGUuZ2V0KCkpOworCisgICAg
cmV0dXJuIFdURjo6bW92ZShuZXdIYW5kbGUpOworfQorCiB2b2lkIFJlc291cmNlSGFuZGxlOjpz
ZW5kUGVuZGluZ1JlcXVlc3QoKQogewogI2lmIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGYzYWRiNmIuLjJhOGYzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0w
NS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTihyMTgzODYxKTogW1NPVVBdIERvd25sb2FkcyBhcmUgYnJva2VuIHdoZW4g
dXNpbmcgdGhlIE5ldHdvcmsgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBjb252ZXJ0aW5nIHRoZSBtYWluIHJlc291cmNlIGhhbmRs
ZSB0byBhIGRvd25sb2FkLCB0aGUKKyAgICAgICAgTmV0d29ya1Jlc291cmNlTG9hZGVyIGlzIGFi
b3J0ZWQsIGFuZCB0aGUgUmVzb3VyY2VIYW5kbGUgaXMKKyAgICAgICAgY2xlYW5lZCB1cCBhYm9y
dGluZyB0aGUgZG93bmxvYWQgb3BlcmF0aW9uLiBXZSBuZWVkIHRvIHVzZSBhCisgICAgICAgIGRp
ZmZlcmVudCBSZXNvdXJjZUhhbmRsZSBmb3IgdGhlIGRvd25sb2FkIG9wZXJhdGlvbi4KKworICAg
ICAgICAqIFNoYXJlZC9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwOgorICAgICAgICAo
V2ViS2l0OjpEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKTogVXNlIFJlc291cmNlSGFuZGxlOjpy
ZWxlYXNlRm9yRG93bmxvYWQoKQorICAgICAgICBpbnN0ZWFkIG9mIHJldXNpbmcgdGhlIGdpdmVu
IGhhbmRsZS4KKwogMjAxNS0wNS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIE5ldHdvcmsgQ2FjaGU6IEltcGxlbWVudCBTaGFy
ZWFibGVSZXNvdXJjZSBmb3IgU291cCBhbmQgZW5hYmxlIGl0IGZvciBHVEsgcGxhdGZvcm0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNv
dXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291
cC5jcHAKaW5kZXggOTk3N2M3Yy4uM2ZmMjgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAKQEAgLTIzMCw4ICsyMzAs
NyBAQCB2b2lkIERvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUoUmVzb3VyY2VIYW5kbGUqIHJlc291
cmNlSGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcwogICAgIEFTU0VSVCghbV9kb3dubG9hZENsaWVu
dCk7CiAgICAgQVNTRVJUKCFtX3Jlc291cmNlSGFuZGxlKTsKICAgICBtX2Rvd25sb2FkQ2xpZW50
ID0gc3RkOjptYWtlX3VuaXF1ZTxEb3dubG9hZENsaWVudD4odGhpcyk7Ci0gICAgcmVzb3VyY2VI
YW5kbGUtPnNldENsaWVudChtX2Rvd25sb2FkQ2xpZW50LmdldCgpKTsKLSAgICBtX3Jlc291cmNl
SGFuZGxlID0gcmVzb3VyY2VIYW5kbGU7CisgICAgbV9yZXNvdXJjZUhhbmRsZSA9IHJlc291cmNl
SGFuZGxlLT5yZWxlYXNlRm9yRG93bmxvYWQobV9kb3dubG9hZENsaWVudC5nZXQoKSk7CiAgICAg
ZGlkU3RhcnQoKTsKICAgICBzdGF0aWNfY2FzdDxEb3dubG9hZENsaWVudCo+KG1fZG93bmxvYWRD
bGllbnQuZ2V0KCkpLT5oYW5kbGVSZXNwb25zZUxhdGVyKHJlc3BvbnNlKTsKIH0K
</data>
<flag name="review"
          id="277986"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>