<?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>134732</bug_id>
          
          <creation_ts>2014-07-08 10:39:02 -0700</creation_ts>
          <short_desc>Move resource buffering from SynchronousLoaderClient to NetworkResourceLoader</short_desc>
          <delta_ts>2014-07-09 13:56:16 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>134560</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021125</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-07-08 10:39:02 -0700</bug_when>
    <thetext>We want to buffer JS and CSS and resources as well - see bug 134560. In order to share code, we should move the buffering code SynchronousLoaderClient to NetworkResourceLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021126</commentid>
    <comment_count>1</comment_count>
      <attachid>234572</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-07-08 10:46:44 -0700</bug_when>
    <thetext>Created attachment 234572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021237</commentid>
    <comment_count>2</comment_count>
      <attachid>234572</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-08 16:19:36 -0700</bug_when>
    <thetext>Comment on attachment 234572
Patch

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

&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.cpp:104
&gt; +    ASSERT(loader);

Assertion that an argument is non-null is a clue that the argument should be a reference rather than a pointer.

&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.cpp:116
&gt; +    Vector&lt;char&gt; responseData;
&gt; +    SharedBuffer* buffer = loader-&gt;bufferedData();
&gt; +    if (buffer &amp;&amp; buffer-&gt;size())
&gt; +        responseData.append(buffer-&gt;data(), buffer-&gt;size());
&gt; +
&gt; +    m_delayedReply-&gt;send(m_error, m_response, responseData);

It’s annoying to have to put this into a Vector. What does send do with the Vector? Can we somehow avoid the copy by using either move or getting the bits directly from the SharedBuffer.

&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.h:63
&gt; +    void sendDelayedReply(NetworkResourceLoader*);

This should take a reference rather than a pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021248</commentid>
    <comment_count>3</comment_count>
      <attachid>234572</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-07-08 17:34:36 -0700</bug_when>
    <thetext>Comment on attachment 234572
Patch

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

&gt;&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.cpp:104
&gt;&gt; +    ASSERT(loader);
&gt; 
&gt; Assertion that an argument is non-null is a clue that the argument should be a reference rather than a pointer.

True. I&apos;ll make this a reference.

&gt;&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.cpp:116
&gt;&gt; +    m_delayedReply-&gt;send(m_error, m_response, responseData);
&gt; 
&gt; It’s annoying to have to put this into a Vector. What does send do with the Vector? Can we somehow avoid the copy by using either move or getting the bits directly from the SharedBuffer.

I didn&apos;t like this as well but it didn&apos;t seem much worse than we had before. send() seems to be generated code and it looks like it just passes the Vector down to the encoder. I think we should be able to modify it to take SharedBuffer but it&apos;s not straightforward. I&apos;ll ask Anders.

&gt;&gt; Source/WebKit2/NetworkProcess/SynchronousNetworkLoaderClient.h:63
&gt;&gt; +    void sendDelayedReply(NetworkResourceLoader*);
&gt; 
&gt; This should take a reference rather than a pointer.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021436</commentid>
    <comment_count>4</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-07-09 13:56:16 -0700</bug_when>
    <thetext>Committed r170928: &lt;http://trac.webkit.org/changeset/170928&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234572</attachid>
            <date>2014-07-08 10:46:44 -0700</date>
            <delta_ts>2014-07-08 17:34:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134732.patch</filename>
            <type>text/plain</type>
            <size>10195</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">Y29tbWl0IDdlOGU5NTQKQXV0aG9yOiBQcmF0aWsgU29sYW5raSA8cHNvbGFua2lAYXBwbGUuY29t
PgpEYXRlOiAgIE1vbiBKdWwgNyAxNTo0ODowMiAyMDE0CgogICAgTW92ZSByZXNvdXJjZSBidWZm
ZXJpbmcgZnJvbSBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQgdG8gTmV0d29ya1Jlc291
cmNlTG9hZGVyCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0
NzMyCiAgICAKICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICBTb3VyY2Uv
V2ViQ29yZToKICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGZ1bmN0aW9uIGNoYW5nZXMuCiAg
ICAKICAgICogV2ViQ29yZS5leHAuaW46CiAgICAKICAgIFNvdXJjZS9XZWJLaXQyOgogICAgQnVm
ZmVyIHRoZSByZXNvdXJjZSBpbiBOZXR3b3JrUmVzb3VyY2VMb2FkZXIgaW5zdGVhZCBvZiBTeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuIFRoaXMKICAgIGlzIGluIHByZXBhcmF0aW9uIGZv
ciBidWcgMTM0NTYwIHdoZXJlIHdlIHdpbGwgYmUgc3VwcG9ydGluZyBKUyBhbmQgQ1NTIHJlc291
cmNlIGJ1ZmZlcmluZwogICAgdGhhdCB1c2VzIEFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGll
bnQuCiAgICAKICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6TmV0d29ya1Jlc291cmNlTG9hZGVy
KToKICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcik6
CiAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgog
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKICAgIChXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6YnVmZmVyZWREYXRhKToKICAgICogTmV0d29ya1Byb2Nl
c3MvU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKICAgIChXZWJLaXQ6OlN5bmNo
cm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcik6CiAgICAoV2ViS2l0
OjpTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZEZpbmlzaExvYWRpbmcpOgogICAg
KFdlYktpdDo6U3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRGYWlsKToKICAgIChX
ZWJLaXQ6OlN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6c2VuZERlbGF5ZWRSZXBseSk6
CiAgICAqIE5ldHdvcmtQcm9jZXNzL1N5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oOgoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2OGFiY2NlLi5jNTEwZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYg
QEAKIDIwMTQtMDctMDggIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCisg
ICAgICAgIE1vdmUgcmVzb3VyY2UgYnVmZmVyaW5nIGZyb20gU3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50IHRvIE5ldHdvcmtSZXNvdXJjZUxvYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gZnVuY3Rp
b24gY2hhbmdlcy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorCisyMDE0LTA3LTA4ICBQ
cmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKwogICAgICAgICBNYWtlIFNoYXJl
ZEJ1ZmZlcjo6YXBwZW5kKFNoYXJlZEJ1ZmZlciopIGJlIHNtYXJ0ZXIgYWJvdXQgQ0ZEYXRhIGFu
ZCBkYXRhIGFycmF5cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM0NzMxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzZhOWZlNy4uZjhmODc2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI0NCw2ICsyNDQsNyBAQCBfX1pON1dlYkNvcmUxMlNo
YXJlZEJ1ZmZlcjEyY3JlYXRlQ0ZEYXRhRXYKIF9fWk43V2ViQ29yZTEyU2hhcmVkQnVmZmVyMTJj
cmVhdGVOU0RhdGFFdgogX19aTjdXZWJDb3JlMTJTaGFyZWRCdWZmZXIyNGNyZWF0ZVdpdGhDb250
ZW50c09mRmlsZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEyU2hhcmVkQnVmZmVyNmFw
cGVuZEVQS2NqCitfX1pON1dlYkNvcmUxMlNoYXJlZEJ1ZmZlcjZhcHBlbmRFUFMwXwogX19aTjdX
ZWJDb3JlMTJTaGFyZWRCdWZmZXJDMUVQS2NqCiBfX1pON1dlYkNvcmUxMlNoYXJlZEJ1ZmZlckMx
RVBLaGoKIF9fWk43V2ViQ29yZTEyU2hhcmVkQnVmZmVyQzFFdgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGNjYTM0
MzMuLmUwNGIxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wNy0wOCAgUHJh
dGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSByZXNvdXJj
ZSBidWZmZXJpbmcgZnJvbSBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQgdG8gTmV0d29y
a1Jlc291cmNlTG9hZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzQ3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBCdWZmZXIgdGhlIHJlc291cmNlIGluIE5ldHdvcmtSZXNvdXJjZUxvYWRlciBpbnN0
ZWFkIG9mIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC4gVGhpcworICAgICAgICBpcyBp
biBwcmVwYXJhdGlvbiBmb3IgYnVnIDEzNDU2MCB3aGVyZSB3ZSB3aWxsIGJlIHN1cHBvcnRpbmcg
SlMgYW5kIENTUyByZXNvdXJjZSBidWZmZXJpbmcKKyAgICAgICAgdGhhdCB1c2VzIEFzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6YnVmZmVyZWREYXRhKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpTeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIpOgorICAgICAgICAo
V2ViS2l0OjpTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZEZpbmlzaExvYWRpbmcp
OgorICAgICAgICAoV2ViS2l0OjpTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZEZh
aWwpOgorICAgICAgICAoV2ViS2l0OjpTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OnNl
bmREZWxheWVkUmVwbHkpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1N5bmNocm9ub3VzTmV0
d29ya0xvYWRlckNsaWVudC5oOgorCiAyMDE0LTA3LTA4ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJz
ZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBHdWFyZCB1c2VzIG9mIFJlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93IGluIFdlYktpdFdlYlZpZXdCYXNlIHdpdGggUExBVEZPUk0oWDExKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggYzQxOWEzNS4uZjk4ZDY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC05
OSw5ICs5OSwxMCBAQCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cihjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycwogCiAgICAgQVNTRVJUKFJ1bkxv
b3A6OmlzTWFpbigpKTsKICAgICAKLSAgICBpZiAocmVwbHkpCisgICAgaWYgKHJlcGx5KSB7CiAg
ICAgICAgIG1fbmV0d29ya0xvYWRlckNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8U3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50PihtX3JlcXVlc3QsIHJlcGx5KTsKLSAgICBlbHNlCisgICAg
ICAgIG1fYnVmZmVyZWREYXRhID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoKTsKKyAg
ICB9IGVsc2UKICAgICAgICAgbV9uZXR3b3JrTG9hZGVyQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1
ZTxBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50PigpOwogfQogCkBAIC0yMTQsMTMgKzIx
NSwyMCBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcihSZXNv
dXJjZUhhbmRsZSogaGFuZGxlLCBQYXNzUmVmUHRyPAogICAgIC8vIFN1Y2ggYnVmZmVyaW5nIHdp
bGwgbmVlZCB0byBiZSB0aHJlYWQgc2FmZSwgYXMgdGhpcyBjYWxsYmFjayBpcyBoYXBwZW5pbmcg
b24gYSBiYWNrZ3JvdW5kIHRocmVhZC4KICAgICAKICAgICBtX2J5dGVzUmVjZWl2ZWQgKz0gYnVm
ZmVyLT5zaXplKCk7Ci0gICAgbV9uZXR3b3JrTG9hZGVyQ2xpZW50LT5kaWRSZWNlaXZlQnVmZmVy
KHRoaXMsIGJ1ZmZlci5nZXQoKSwgZW5jb2RlZERhdGFMZW5ndGgpOworICAgIGlmIChtX2J1ZmZl
cmVkRGF0YSkKKyAgICAgICAgbV9idWZmZXJlZERhdGEtPmFwcGVuZChidWZmZXIuZ2V0KCkpOwor
ICAgIGVsc2UKKyAgICAgICAgbV9uZXR3b3JrTG9hZGVyQ2xpZW50LT5kaWRSZWNlaXZlQnVmZmVy
KHRoaXMsIGJ1ZmZlci5nZXQoKSwgZW5jb2RlZERhdGFMZW5ndGgpOwogfQogCiB2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxl
LCBkb3VibGUgZmluaXNoVGltZSkKIHsKICAgICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgaGFuZGxl
ID09IG1faGFuZGxlKTsKIAorICAgIC8vIFNlbmQgdGhlIGZ1bGwgcmVzb3VyY2UgZGF0YSBpZiB3
ZSB3ZXJlIGJ1ZmZlcmluZyBpdC4KKyAgICBpZiAobV9idWZmZXJlZERhdGEgJiYgbV9idWZmZXJl
ZERhdGEtPnNpemUoKSkKKyAgICAgICAgbV9uZXR3b3JrTG9hZGVyQ2xpZW50LT5kaWRSZWNlaXZl
QnVmZmVyKHRoaXMsIG1fYnVmZmVyZWREYXRhLmdldCgpLCBtX2J1ZmZlcmVkRGF0YS0+c2l6ZSgp
KTsKKwogICAgIG1fbmV0d29ya0xvYWRlckNsaWVudC0+ZGlkRmluaXNoTG9hZGluZyh0aGlzLCBm
aW5pc2hUaW1lKTsKIAogICAgIGNsZWFudXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMmNhNDNmNC4uMWYw
YjU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgKQEAgLTE0Nyw2ICsxNDcsOCBAQCBwdWJsaWM6CiAjZW5kaWYKICAg
ICB2b2lkIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgbmV3UmVxdWVzdCk7CiAKKyAgICBXZWJDb3JlOjpTaGFyZWRCdWZmZXIqIGJ1ZmZlcmVk
RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyZWREYXRhLmdldCgpOyB9CisKIHByaXZhdGU6
CiAgICAgTmV0d29ya1Jlc291cmNlTG9hZGVyKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqLCBQYXNzUmVmUHRyPE1lc3Nh
Z2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9h
ZDo6RGVsYXllZFJlcGx5Pik7CiAKQEAgLTE5Niw2ICsxOTgsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gbV9jb25uZWN0aW9uOwogICAgIAog
ICAgIFJlZlB0cjxIb3N0UmVjb3JkPiBtX2hvc3RSZWNvcmQ7CisgICAgUmVmUHRyPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4gbV9idWZmZXJlZERhdGE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1N5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9T
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IGM5Mzk3ZmYuLjhiODIzMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1N5bmNocm9ub3VzTmV0
d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
U3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAtODEsMzkgKzgxLDM5IEBAIHZv
aWQgU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UoTmV0
d29ya1Jlc291cmNlTG9hZGVyKiwKICAgICBtX3Jlc3BvbnNlID0gcmVzcG9uc2U7CiB9CiAKLXZv
aWQgU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQnVmZmVyKE5ldHdv
cmtSZXNvdXJjZUxvYWRlciosIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgLyogZW5jb2RlZERh
dGFMZW5ndGggKi8pCit2b2lkIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudDo6ZGlkUmVj
ZWl2ZUJ1ZmZlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqLCBTaGFyZWRCdWZmZXIqLCBpbnQgLyog
ZW5jb2RlZERhdGFMZW5ndGggKi8pCiB7Ci0gICAgLy8gRklYTUU6IFRoZXJlJ3MgYSBwb3RlbnRp
YWwgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgaGVyZSBieSBwcmVhbGxvY2F0aW5nIGEgU2hhcmVk
TWVtb3J5IHJlZ2lvbgotICAgIC8vIG9mIHRoZSBleHBlY3RlZCBjb250ZW50IGxlbmd0aCB0byBh
dm9pZCBhIGNvcHkgd2hlbiB3ZSBzZW5kIGl0IHRvIHRoZSBXZWJQcm9jZXNzIG9uIGNvbXBsZXRp
b24uCi0gICAgLy8gSXQncyB1bmNsZWFyIGlmIHRoZSBwb3RlbnRpYWwgY29tcGxleGl0aWVzIG9m
IHRoYXQgYXBwcm9hY2ggYXJlIHdvcnRoIGl0LgotICAgIAotICAgIGlmICghbV9yZXNwb25zZURh
dGEpCi0gICAgICAgIG1fcmVzcG9uc2VEYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxWZWN0b3I8Y2hh
cj4+KCk7Ci0KLSAgICBtX3Jlc3BvbnNlRGF0YS0+YXBwZW5kKGJ1ZmZlci0+ZGF0YSgpLCBidWZm
ZXItPnNpemUoKSk7CisgICAgLy8gTm90aGluZyB0byBkbyBoZXJlLiBEYXRhIGlzIGJ1ZmZlcmVk
IGluIE5ldHdvcmtSZXNvdXJjZUxvYWRlciBhbmQgd2Ugd2lsbCBncmFiIGl0IGZyb20gdGhlcmUK
KyAgICAvLyBpbiBzZW5kRGVsYXllZFJlcGx5KCkuCiB9CiAKLXZvaWQgU3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkaW5nKE5ldHdvcmtSZXNvdXJjZUxvYWRlcios
IGRvdWJsZSAvKiBmaW5pc2hUaW1lICovKQordm9pZCBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJD
bGllbnQ6OmRpZEZpbmlzaExvYWRpbmcoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGRv
dWJsZSAvKiBmaW5pc2hUaW1lICovKQogewotICAgIHNlbmREZWxheWVkUmVwbHkoKTsKKyAgICBz
ZW5kRGVsYXllZFJlcGx5KGxvYWRlcik7CiB9CiAKLXZvaWQgU3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50OjpkaWRGYWlsKE5ldHdvcmtSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNl
RXJyb3ImIGVycm9yKQordm9pZCBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZEZh
aWwoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQogewogICAgIG1fZXJyb3IgPSBlcnJvcjsKLSAgICBzZW5kRGVsYXllZFJlcGx5KCk7Cisg
ICAgc2VuZERlbGF5ZWRSZXBseShsb2FkZXIpOwogfQogCi12b2lkIFN5bmNocm9ub3VzTmV0d29y
a0xvYWRlckNsaWVudDo6c2VuZERlbGF5ZWRSZXBseSgpCit2b2lkIFN5bmNocm9ub3VzTmV0d29y
a0xvYWRlckNsaWVudDo6c2VuZERlbGF5ZWRSZXBseShOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxv
YWRlcikKIHsKICAgICBBU1NFUlQobV9kZWxheWVkUmVwbHkpOworICAgIEFTU0VSVChsb2FkZXIp
OwogCiAgICAgaWYgKG1fcmVzcG9uc2UuaXNOdWxsKCkpIHsKICAgICAgICAgQVNTRVJUKCFtX2Vy
cm9yLmlzTnVsbCgpKTsKICAgICAgICAgLy9wbGF0Zm9ybVN5bnRoZXNpemVFcnJvclJlc3BvbnNl
KCk7CiAgICAgfQogCi0gICAgbV9kZWxheWVkUmVwbHktPnNlbmQobV9lcnJvciwgbV9yZXNwb25z
ZSwgbV9yZXNwb25zZURhdGEgPyAqbV9yZXNwb25zZURhdGEgOiBWZWN0b3I8Y2hhcj4oKSk7Cisg
ICAgVmVjdG9yPGNoYXI+IHJlc3BvbnNlRGF0YTsKKyAgICBTaGFyZWRCdWZmZXIqIGJ1ZmZlciA9
IGxvYWRlci0+YnVmZmVyZWREYXRhKCk7CisgICAgaWYgKGJ1ZmZlciAmJiBidWZmZXItPnNpemUo
KSkKKyAgICAgICAgcmVzcG9uc2VEYXRhLmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5z
aXplKCkpOworCisgICAgbV9kZWxheWVkUmVwbHktPnNlbmQobV9lcnJvciwgbV9yZXNwb25zZSwg
cmVzcG9uc2VEYXRhKTsKICAgICBtX2RlbGF5ZWRSZXBseSA9IG51bGxwdHI7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1N5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmgKaW5kZXggNjlkY2VhYy4uNzE1YWUwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50LmgKQEAgLTYwLDE0ICs2MCwxMyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKE5ldHdvcmtSZXNvdXJjZUxvYWRlciosIGRvdWJsZSBm
aW5pc2hUaW1lKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChOZXR3b3JrUmVz
b3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7CiAK
LSAgICB2b2lkIHNlbmREZWxheWVkUmVwbHkoKTsKKyAgICB2b2lkIHNlbmREZWxheWVkUmVwbHko
TmV0d29ya1Jlc291cmNlTG9hZGVyKik7CiAKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
bV9vcmlnaW5hbFJlcXVlc3Q7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1fY3VycmVu
dFJlcXVlc3Q7CiAgICAgUmVmUHRyPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiBtX2RlbGF5ZWRSZXBs
eTsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAgICAgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciBtX2Vycm9yOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8Y2hh
cj4+IG1fcmVzcG9uc2VEYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="259110"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>