<?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>44444</bug_id>
          
          <creation_ts>2010-08-23 11:39:44 -0700</creation_ts>
          <short_desc>Set the ResourceResponse HTTP headers in RessourceHandleWin</short_desc>
          <delta_ts>2010-08-23 20:26:38 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          
          <blocked>43712</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>268025</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-23 11:39:44 -0700</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268030</commentid>
    <comment_count>1</comment_count>
      <attachid>65144</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-23 11:46:10 -0700</bug_when>
    <thetext>Created attachment 65144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268035</commentid>
    <comment_count>2</comment_count>
      <attachid>65144</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-23 11:54:18 -0700</bug_when>
    <thetext>Comment on attachment 65144
Patch

&gt; -        client()-&gt;didReceiveData(this, buffer, buffers.dwBufferLength, 0);
&gt; +
&gt; +        if (ResourceHandleClient* resourceHandleClient = client())
&gt; +            resourceHandleClient-&gt;didReceiveData(this, buffer, buffers.dwBufferLength, 0);
&gt;          buffers.dwBufferLength = bufferSize;
&gt;      }
&gt;  
&gt; @@ -272,8 +293,24 @@ void ResourceHandle::onRequestComplete(L
&gt;          InternetCloseHandle(d-&gt;m_secondaryHandle);
&gt;      InternetCloseHandle(d-&gt;m_resourceHandle);
&gt;  
&gt; -    client()-&gt;didFinishLoading(this);
&gt; -    delete this;
&gt; +    if (ResourceHandleClient* resourceHandleClient = client())
&gt; +        resourceHandleClient-&gt;didFinishLoading(this);
&gt; +
&gt; +    deref(); // balances ref in start
&gt; +}

These changes seem completely separate from what the bug claims to be fixing. I think you should split them into a separate bug/patch.

&gt; +String ResourceHandle::queryHTTPHeader(DWORD infoLevel)
&gt; +{
&gt; +    DWORD bufferSize = 0;
&gt; +    HttpQueryInfoW(d-&gt;m_requestHandle, infoLevel, 0, &amp;bufferSize, 0);
&gt; +
&gt; +    UChar* characters;
&gt; +    String result = String::createUninitialized(bufferSize / sizeof(UChar), characters);
&gt; +
&gt; +    if (HttpQueryInfoW(d-&gt;m_requestHandle, infoLevel, characters, &amp;bufferSize, 0))
&gt; +        return result.left(result.length() - 1); // Remove NullTermination.

I think using a Vector&lt;UChar&gt; and String::adopt would be more efficient, since you won&apos;t have to copy the whole string at the end.

It would be clearer to have an early return if the second call to HttpQueryInfoW fails.

It might be nicer for this function to be a non-member function with internal linkage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268051</commentid>
    <comment_count>3</comment_count>
      <attachid>65150</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-08-23 12:21:25 -0700</bug_when>
    <thetext>Created attachment 65150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268056</commentid>
    <comment_count>4</comment_count>
      <attachid>65150</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-23 12:31:30 -0700</bug_when>
    <thetext>Comment on attachment 65150
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268283</commentid>
    <comment_count>5</comment_count>
      <attachid>65150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-23 20:26:33 -0700</bug_when>
    <thetext>Comment on attachment 65150
Patch

Clearing flags on attachment: 65150

Committed r65859: &lt;http://trac.webkit.org/changeset/65859&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268284</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-23 20:26:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65144</attachid>
            <date>2010-08-23 11:46:10 -0700</date>
            <delta_ts>2010-08-23 12:21:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44444.patch</filename>
            <type>text/plain</type>
            <size>4480</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTgyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgtMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2V0IHRoZSBSZXNvdXJjZVJlc3BvbnNlIEhUVFAgaGVhZGVycyBpbiBSZXNzb3VyY2VIYW5k
bGVXaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0
NDQ0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENvbXBsZXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpxdWVyeUhUVFBIZWFkZXIpOgorCiAyMDEwLTA4LTIz
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuaAkocmV2aXNpb24gNjU4MTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTcwLDYgKzE3MCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEhhc1JlY2VpdmVkUmVzcG9uc2UoYm9vbCA9IHRydWUpOwogICAgIGJvb2wgaGFz
UmVjZWl2ZWRSZXNwb25zZSgpIGNvbnN0OwogICAgIHZvaWQgZmlsZUxvYWRUaW1lcihUaW1lcjxS
ZXNvdXJjZUhhbmRsZT4qKTsKKyAgICBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKERXT1JEIGluZm9M
ZXZlbCk7CiAgICAgdm9pZCBvbkhhbmRsZUNyZWF0ZWQoTFBBUkFNKTsKICAgICB2b2lkIG9uUmVx
dWVzdFJlZGlyZWN0ZWQoTFBBUkFNKTsKICAgICB2b2lkIG9uUmVxdWVzdENvbXBsZXRlKExQQVJB
TSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNl
SGFuZGxlV2luLmNwcAkocmV2aXNpb24gNjU4MTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDcgKzIy
NSw2IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENvbXBsZXRlKEwKICAgICB9CiAK
ICAgICBISU5URVJORVQgaGFuZGxlID0gKHJlcXVlc3QoKS5odHRwTWV0aG9kKCkgPT0gIlBPU1Qi
KSA/IGQtPm1fc2Vjb25kYXJ5SGFuZGxlIDogZC0+bV9yZXNvdXJjZUhhbmRsZTsKLSAgICBCT09M
IG9rID0gRkFMU0U7CiAKICAgICBzdGF0aWMgY29uc3QgaW50IGJ1ZmZlclNpemUgPSAzMjc2ODsK
ICAgICBjaGFyIGJ1ZmZlcltidWZmZXJTaXplXTsKQEAgLTIzNCwxNCArMjMzLDM2IEBAIHZvaWQg
UmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENvbXBsZXRlKEwKICAgICBidWZmZXJzLmxwdkJ1ZmZl
ciA9IGJ1ZmZlcjsKICAgICBidWZmZXJzLmR3QnVmZmVyTGVuZ3RoID0gYnVmZmVyU2l6ZTsKIAot
ICAgIGJvb2wgcmVjZWl2ZWRBbnlEYXRhID0gZmFsc2U7CisgICAgQk9PTCBvayA9IEZBTFNFOwog
ICAgIHdoaWxlICgob2sgPSBJbnRlcm5ldFJlYWRGaWxlRXhBKGhhbmRsZSwgJmJ1ZmZlcnMsIElS
Rl9OT19XQUlULCAoRFdPUkRfUFRSKXRoaXMpKSAmJiBidWZmZXJzLmR3QnVmZmVyTGVuZ3RoKSB7
CiAgICAgICAgIGlmICghaGFzUmVjZWl2ZWRSZXNwb25zZSgpKSB7CiAgICAgICAgICAgICBzZXRI
YXNSZWNlaXZlZFJlc3BvbnNlKCk7CiAgICAgICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3Bv
bnNlOworICAgICAgICAgICAgcmVzcG9uc2Uuc2V0VVJMKGZpcnN0UmVxdWVzdCgpLnVybCgpKTsK
KworICAgICAgICAgICAgU3RyaW5nIGh0dHBTdGF0dXNUZXh0ID0gcXVlcnlIVFRQSGVhZGVyKEhU
VFBfUVVFUllfU1RBVFVTX1RFWFQpOworICAgICAgICAgICAgaWYgKCFodHRwU3RhdHVzVGV4dC5p
c051bGwoKSkKKyAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzVGV4dChodHRw
U3RhdHVzVGV4dCk7CisKKyAgICAgICAgICAgIFN0cmluZyBodHRwU3RhdHVzQ29kZSA9IHF1ZXJ5
SFRUUEhlYWRlcihIVFRQX1FVRVJZX1NUQVRVU19DT0RFKTsKKyAgICAgICAgICAgIGlmICghaHR0
cFN0YXR1c0NvZGUuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0
YXR1c0NvZGUoaHR0cFN0YXR1c0NvZGUudG9JbnQoKSk7CisKKyAgICAgICAgICAgIFN0cmluZyBo
dHRwQ29udGVudExlbmd0aCA9IHF1ZXJ5SFRUUEhlYWRlcihIVFRQX1FVRVJZX0NPTlRFTlRfTEVO
R1RIKTsKKyAgICAgICAgICAgIGlmICghaHR0cENvbnRlbnRMZW5ndGguaXNOdWxsKCkpCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2Uuc2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKGh0dHBDb250ZW50
TGVuZ3RoLnRvSW50KCkpOworCisgICAgICAgICAgICBTdHJpbmcgaHR0cENvbnRlbnRUeXBlID0g
cXVlcnlIVFRQSGVhZGVyKEhUVFBfUVVFUllfQ09OVEVOVF9UWVBFKTsKKyAgICAgICAgICAgIGlm
ICghaHR0cENvbnRlbnRUeXBlLmlzTnVsbCgpKSB7CisgICAgICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0TWltZVR5cGUoZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShodHRwQ29udGVudFR5cGUp
KTsKKyAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdOYW1lKGV4dHJhY3RD
aGFyc2V0RnJvbU1lZGlhVHlwZShodHRwQ29udGVudFR5cGUpKTsKKyAgICAgICAgICAgIH0KKwog
ICAgICAgICAgICAgY2xpZW50KCktPmRpZFJlY2VpdmVSZXNwb25zZSh0aGlzLCByZXNwb25zZSk7
CiAgICAgICAgIH0KLSAgICAgICAgY2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKHRoaXMsIGJ1ZmZl
ciwgYnVmZmVycy5kd0J1ZmZlckxlbmd0aCwgMCk7CisKKyAgICAgICAgaWYgKFJlc291cmNlSGFu
ZGxlQ2xpZW50KiByZXNvdXJjZUhhbmRsZUNsaWVudCA9IGNsaWVudCgpKQorICAgICAgICAgICAg
cmVzb3VyY2VIYW5kbGVDbGllbnQtPmRpZFJlY2VpdmVEYXRhKHRoaXMsIGJ1ZmZlciwgYnVmZmVy
cy5kd0J1ZmZlckxlbmd0aCwgMCk7CiAgICAgICAgIGJ1ZmZlcnMuZHdCdWZmZXJMZW5ndGggPSBi
dWZmZXJTaXplOwogICAgIH0KIApAQCAtMjcyLDggKzI5MywyNCBAQCB2b2lkIFJlc291cmNlSGFu
ZGxlOjpvblJlcXVlc3RDb21wbGV0ZShMCiAgICAgICAgIEludGVybmV0Q2xvc2VIYW5kbGUoZC0+
bV9zZWNvbmRhcnlIYW5kbGUpOwogICAgIEludGVybmV0Q2xvc2VIYW5kbGUoZC0+bV9yZXNvdXJj
ZUhhbmRsZSk7CiAKLSAgICBjbGllbnQoKS0+ZGlkRmluaXNoTG9hZGluZyh0aGlzKTsKLSAgICBk
ZWxldGUgdGhpczsKKyAgICBpZiAoUmVzb3VyY2VIYW5kbGVDbGllbnQqIHJlc291cmNlSGFuZGxl
Q2xpZW50ID0gY2xpZW50KCkpCisgICAgICAgIHJlc291cmNlSGFuZGxlQ2xpZW50LT5kaWRGaW5p
c2hMb2FkaW5nKHRoaXMpOworCisgICAgZGVyZWYoKTsgLy8gYmFsYW5jZXMgcmVmIGluIHN0YXJ0
Cit9CisKK1N0cmluZyBSZXNvdXJjZUhhbmRsZTo6cXVlcnlIVFRQSGVhZGVyKERXT1JEIGluZm9M
ZXZlbCkKK3sKKyAgICBEV09SRCBidWZmZXJTaXplID0gMDsKKyAgICBIdHRwUXVlcnlJbmZvVyhk
LT5tX3JlcXVlc3RIYW5kbGUsIGluZm9MZXZlbCwgMCwgJmJ1ZmZlclNpemUsIDApOworCisgICAg
VUNoYXIqIGNoYXJhY3RlcnM7CisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmluZzo6Y3JlYXRlVW5p
bml0aWFsaXplZChidWZmZXJTaXplIC8gc2l6ZW9mKFVDaGFyKSwgY2hhcmFjdGVycyk7CisKKyAg
ICBpZiAoSHR0cFF1ZXJ5SW5mb1coZC0+bV9yZXF1ZXN0SGFuZGxlLCBpbmZvTGV2ZWwsIGNoYXJh
Y3RlcnMsICZidWZmZXJTaXplLCAwKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5sZWZ0KHJlc3Vs
dC5sZW5ndGgoKSAtIDEpOyAvLyBSZW1vdmUgTnVsbFRlcm1pbmF0aW9uLgorCisgICAgcmV0dXJu
IFN0cmluZygpOwogfQogCiBzdGF0aWMgdm9pZCBfX3N0ZGNhbGwgdHJhbnNmZXJKb2JTdGF0dXND
YWxsYmFjayhISU5URVJORVQgaW50ZXJuZXRIYW5kbGUsCg==
</data>
<flag name="review"
          id="53830"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65150</attachid>
            <date>2010-08-23 12:21:25 -0700</date>
            <delta_ts>2010-08-23 20:26:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44444b.patch</filename>
            <type>text/plain</type>
            <size>3424</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTgyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDgtMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2V0IHRoZSBSZXNvdXJjZVJlc3BvbnNlIEhUVFAgaGVhZGVycyBpbiBSZXNzb3VyY2VIYW5k
bGVXaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0
NDQ0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpxdWVyeUhUVFBIZWFkZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENvbXBsZXRlKToKKwogMjAxMC0wOC0yMyAgSmlh
biBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQg
TGV2aW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291
cmNlSGFuZGxlV2luLmNwcAkocmV2aXNpb24gNjU4MTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiAr
NjMsMjAgQEAgc3RhdGljIGNvbnN0IFJlc291cmNlSGFuZGxlRXZlbnRIYW5kbGVyIAogICAgICZS
ZXNvdXJjZUhhbmRsZTo6b25SZXF1ZXN0Q29tcGxldGUKIH07CiAKK3N0YXRpYyBTdHJpbmcgcXVl
cnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCit7
CisgICAgRFdPUkQgYnVmZmVyU2l6ZSA9IDA7CisgICAgSHR0cFF1ZXJ5SW5mb1cocmVxdWVzdEhh
bmRsZSwgaW5mb0xldmVsLCAwLCAmYnVmZmVyU2l6ZSwgMCk7CisKKyAgICBWZWN0b3I8VUNoYXI+
IGNoYXJhY3RlcnMoYnVmZmVyU2l6ZSAvIHNpemVvZihVQ2hhcikpOworCisgICAgaWYgKCFIdHRw
UXVlcnlJbmZvVyhyZXF1ZXN0SGFuZGxlLCBpbmZvTGV2ZWwsIGNoYXJhY3RlcnMuZGF0YSgpLCAm
YnVmZmVyU2l6ZSwgMCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIGNoYXJhY3Rl
cnMucmVtb3ZlTGFzdCgpOyAvLyBSZW1vdmUgTnVsbFRlcm1pbmF0aW9uLgorICAgIHJldHVybiBT
dHJpbmc6OmFkb3B0KGNoYXJhY3RlcnMpOworfQorCiBzdGF0aWMgaW50IGFkZFRvT3V0c3RhbmRp
bmdKb2JzKFJlc291cmNlSGFuZGxlKiBqb2IpCiB7CiAgICAgaWYgKCFqb2JJZE1hcCkKQEAgLTIy
NSw3ICsyMzksNiBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpvblJlcXVlc3RDb21wbGV0ZShMCiAg
ICAgfQogCiAgICAgSElOVEVSTkVUIGhhbmRsZSA9IChyZXF1ZXN0KCkuaHR0cE1ldGhvZCgpID09
ICJQT1NUIikgPyBkLT5tX3NlY29uZGFyeUhhbmRsZSA6IGQtPm1fcmVzb3VyY2VIYW5kbGU7Ci0g
ICAgQk9PTCBvayA9IEZBTFNFOwogCiAgICAgc3RhdGljIGNvbnN0IGludCBidWZmZXJTaXplID0g
MzI3Njg7CiAgICAgY2hhciBidWZmZXJbYnVmZmVyU2l6ZV07CkBAIC0yMzQsMTEgKzI0NywzMSBA
QCB2b2lkIFJlc291cmNlSGFuZGxlOjpvblJlcXVlc3RDb21wbGV0ZShMCiAgICAgYnVmZmVycy5s
cHZCdWZmZXIgPSBidWZmZXI7CiAgICAgYnVmZmVycy5kd0J1ZmZlckxlbmd0aCA9IGJ1ZmZlclNp
emU7CiAKLSAgICBib29sIHJlY2VpdmVkQW55RGF0YSA9IGZhbHNlOworICAgIEJPT0wgb2sgPSBG
QUxTRTsKICAgICB3aGlsZSAoKG9rID0gSW50ZXJuZXRSZWFkRmlsZUV4QShoYW5kbGUsICZidWZm
ZXJzLCBJUkZfTk9fV0FJVCwgKERXT1JEX1BUUil0aGlzKSkgJiYgYnVmZmVycy5kd0J1ZmZlckxl
bmd0aCkgewogICAgICAgICBpZiAoIWhhc1JlY2VpdmVkUmVzcG9uc2UoKSkgewogICAgICAgICAg
ICAgc2V0SGFzUmVjZWl2ZWRSZXNwb25zZSgpOwogICAgICAgICAgICAgUmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldFVSTChmaXJzdFJlcXVlc3QoKS51
cmwoKSk7CisKKyAgICAgICAgICAgIFN0cmluZyBodHRwU3RhdHVzVGV4dCA9IHF1ZXJ5SFRUUEhl
YWRlcihkLT5tX3JlcXVlc3RIYW5kbGUsIEhUVFBfUVVFUllfU1RBVFVTX1RFWFQpOworICAgICAg
ICAgICAgaWYgKCFodHRwU3RhdHVzVGV4dC5pc051bGwoKSkKKyAgICAgICAgICAgICAgICByZXNw
b25zZS5zZXRIVFRQU3RhdHVzVGV4dChodHRwU3RhdHVzVGV4dCk7CisKKyAgICAgICAgICAgIFN0
cmluZyBodHRwU3RhdHVzQ29kZSA9IHF1ZXJ5SFRUUEhlYWRlcihkLT5tX3JlcXVlc3RIYW5kbGUs
IEhUVFBfUVVFUllfU1RBVFVTX0NPREUpOworICAgICAgICAgICAgaWYgKCFodHRwU3RhdHVzQ29k
ZS5pc051bGwoKSkKKyAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzQ29kZSho
dHRwU3RhdHVzQ29kZS50b0ludCgpKTsKKworICAgICAgICAgICAgU3RyaW5nIGh0dHBDb250ZW50
TGVuZ3RoID0gcXVlcnlIVFRQSGVhZGVyKGQtPm1fcmVxdWVzdEhhbmRsZSwgSFRUUF9RVUVSWV9D
T05URU5UX0xFTkdUSCk7CisgICAgICAgICAgICBpZiAoIWh0dHBDb250ZW50TGVuZ3RoLmlzTnVs
bCgpKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldEV4cGVjdGVkQ29udGVudExlbmd0aCho
dHRwQ29udGVudExlbmd0aC50b0ludCgpKTsKKworICAgICAgICAgICAgU3RyaW5nIGh0dHBDb250
ZW50VHlwZSA9IHF1ZXJ5SFRUUEhlYWRlcihkLT5tX3JlcXVlc3RIYW5kbGUsIEhUVFBfUVVFUllf
Q09OVEVOVF9UWVBFKTsKKyAgICAgICAgICAgIGlmICghaHR0cENvbnRlbnRUeXBlLmlzTnVsbCgp
KSB7CisgICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0TWltZVR5cGUoZXh0cmFjdE1JTUVUeXBl
RnJvbU1lZGlhVHlwZShodHRwQ29udGVudFR5cGUpKTsKKyAgICAgICAgICAgICAgICByZXNwb25z
ZS5zZXRUZXh0RW5jb2RpbmdOYW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShodHRwQ29u
dGVudFR5cGUpKTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgY2xpZW50KCktPmRpZFJl
Y2VpdmVSZXNwb25zZSh0aGlzLCByZXNwb25zZSk7CiAgICAgICAgIH0KICAgICAgICAgY2xpZW50
KCktPmRpZFJlY2VpdmVEYXRhKHRoaXMsIGJ1ZmZlciwgYnVmZmVycy5kd0J1ZmZlckxlbmd0aCwg
MCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>