<?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>107808</bug_id>
          
          <creation_ts>2013-01-24 03:44:45 -0800</creation_ts>
          <short_desc>[Soup] Streamline cancellation and client checks</short_desc>
          <delta_ts>2013-01-25 09:07:54 -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>New Bugs</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>105552</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>danw</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>815309</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-01-24 03:44:45 -0800</bug_when>
    <thetext>[Soup] Streamline cancellation and client checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815310</commentid>
    <comment_count>1</comment_count>
      <attachid>184459</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-01-24 03:46:14 -0800</bug_when>
    <thetext>Created attachment 184459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816043</commentid>
    <comment_count>2</comment_count>
      <attachid>184459</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-01-24 17:59:01 -0800</bug_when>
    <thetext>Comment on attachment 184459
Patch

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

Looks good other than the following naming nit:

&gt; Source/WebCore/platform/network/ResourceHandle.h:169
&gt; +    bool shouldBail();

Okay. I&apos;m torn. I like the name shouldBail(), but something more descriptive might make it clearer why you can use the client safely after this returns false. Maybe cancelledOrClientless?

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:624
&gt; +    ResourceHandleInternal* d = handle-&gt;getInternal();
&gt; +    ResourceHandleClient* client = handle-&gt;client();
&gt; +
&gt;      ASSERT(!d-&gt;m_inputStream);

This is a bit of a micronit, but in many places in the patch, the declarations look lonely. Maybe you can staple them to the lines that actually use them before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816641</commentid>
    <comment_count>3</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-01-25 09:07:54 -0800</bug_when>
    <thetext>Committed r140836: &lt;http://trac.webkit.org/changeset/140836&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184459</attachid>
            <date>2013-01-24 03:46:14 -0800</date>
            <delta_ts>2013-01-24 17:59:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107808-20130124094306.patch</filename>
            <type>text/plain</type>
            <size>9851</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRmMDNhNTMwY2U3NzZj
OWFhM2QxMjZkYzY0M2U4NmRhYTA4ODU3OC4uM2RjYzExNGY3MmMwNjEwMGM1NjQxYmQxMWFlZTlk
YmQxYzNmYTkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAxLTI0ICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgorCisgICAgICAgIFtTb3VwXSBTdHJl
YW1saW5lIGNhbmNlbGxhdGlvbiBhbmQgY2xpZW50IGNoZWNrcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODA4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4K
KworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAgICAg
KFJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzaG91
bGRCYWlsKTogbmV3IG1ldGhvZCB0byBjaGVjayBmb3IgY2FuY2VsbGF0aW9uIGFuZCBsYWNrIG9m
IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Z290SGVhZGVy
c0NhbGxiYWNrKTogdXNlIHRoZSBuZXcgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6cmVzdGFy
dGVkQ2FsbGJhY2spOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnJlZGlyZWN0Q2xvc2VDYWxs
YmFjayk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6cmVkaXJlY3RTa2lwQ2FsbGJhY2spOiBk
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ondyb3RlQm9keURhdGFDYWxsYmFjayk6IGRpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6bmV4dE11bHRpcGFydFJlc3BvbnNlUGFydENhbGxiYWNrKTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpzZW5kUmVxdWVzdENhbGxiYWNrKTogZGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpuZXR3b3JrRXZlbnRDYWxsYmFjayk6IGRpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyk6IGRpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6cmVhZENhbGxiYWNrKTogZGl0dG8uCisKIDIwMTMtMDEtMjMgIEp1
biBKaWFuZyAgPGp1bi5hLmppYW5nQGludGVsLmNvbT4KIAogICAgICAgICBBdm9pZCB1bm5lY2Vz
c2FyeSBmb3JtYXQgY29udmVyc2lvbiBmb3IgdGV4e1N1Yn1JbWFnZTJEKCkgZm9yIEltYWdlRGF0
YSBvZiBXZWJHTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5oCmluZGV4IDQ5NDFkMmJkMDdmNDU2OGVkOWIwYzAwMjUxYzlmZmQyMDg0MGIyYzQu
LjdmZGZmMTk1N2M3MTUyYTJjZjUyZWYzNjgxNTg5MDQzMWM5NDlmNjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTE2Niw2ICsx
NjYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250aW51ZURpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsRnJvbVBlcnNpc3RlbnRTdG9y
YWdlKTsKICAgICB2b2lkIHNlbmRQZW5kaW5nUmVxdWVzdCgpOwogICAgIGJvb2wgc2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UoKTsKKyAgICBib29sIHNob3VsZEJhaWwoKTsKICAgICBzdGF0aWMg
U291cFNlc3Npb24qIGRlZmF1bHRTZXNzaW9uKCk7CiAgICAgc3RhdGljIHVpbnQ2NF90IGdldFNv
dXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJRChTb3VwUmVxdWVzdCopOwogICAgIHN0YXRpYyB2b2lk
IHNldEhvc3RBbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcAppbmRleCA2MTZiZjgzZDA1Y2JiMDQ4YjUzN2RkNjAyODNiMDU1MjMxMDMy
MDkwLi5kMWVhYzAzNGIwYjk2M2U5NTNlNjVkNTNlZjI2MGI4NzdiZDVjZTRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcApAQCAtMzA0LDYgKzMwNCwxNCBAQCBTb3VwU2Vzc2lvbiogUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbDo6c291cFNlc3Npb24oKQogICAgIHJldHVybiBzZXNzaW9uOwogfQogCiti
b29sIFJlc291cmNlSGFuZGxlOjpzaG91bGRCYWlsKCkKK3sKKyAgICBpZiAoIWNsaWVudCgpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBnZXRJbnRlcm5hbCgpLT5tX2NhbmNl
bGxlZDsKK30KKwogc3RhdGljIGJvb2wgaXNBdXRoZW50aWNhdGlvbkZhaWx1cmVTdGF0dXNDb2Rl
KGludCBodHRwU3RhdHVzQ29kZSkKIHsKICAgICByZXR1cm4gaHR0cFN0YXR1c0NvZGUgPT0gU09V
UF9TVEFUVVNfUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQgfHwgaHR0cFN0YXR1c0NvZGUg
PT0gU09VUF9TVEFUVVNfVU5BVVRIT1JJWkVEOwpAQCAtMzEyLDExICszMjAsMTAgQEAgc3RhdGlj
IGJvb2wgaXNBdXRoZW50aWNhdGlvbkZhaWx1cmVTdGF0dXNDb2RlKGludCBodHRwU3RhdHVzQ29k
ZSkKIHN0YXRpYyB2b2lkIGdvdEhlYWRlcnNDYWxsYmFjayhTb3VwTWVzc2FnZSogbWVzc2FnZSwg
Z3BvaW50ZXIgZGF0YSkKIHsKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nh
c3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKLSAgICBpZiAoIWhhbmRsZSkKKyAgICBpZiAoIWhh
bmRsZSB8fCBoYW5kbGUtPnNob3VsZEJhaWwoKSkKICAgICAgICAgcmV0dXJuOworCiAgICAgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKLSAgICBpZiAo
ZC0+bV9jYW5jZWxsZWQpCi0gICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShXRUJfVElNSU5H
KQogICAgIGlmIChkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQpAQCAtMzgzLDEx
ICszOTAsMTAgQEAgc3RhdGljIHZvaWQgYXBwbHlBdXRoZW50aWNhdGlvblRvUmVxdWVzdChSZXNv
dXJjZUhhbmRsZSogaGFuZGxlLCBSZXNvdXJjZVJlcXVlc3QKIHN0YXRpYyB2b2lkIHJlc3RhcnRl
ZENhbGxiYWNrKFNvdXBNZXNzYWdlKiwgZ3BvaW50ZXIgZGF0YSkKIHsKICAgICBSZXNvdXJjZUhh
bmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKLSAgICBp
ZiAoIWhhbmRsZSkKKyAgICBpZiAoIWhhbmRsZSB8fCBoYW5kbGUtPnNob3VsZEJhaWwoKSkKICAg
ICAgICAgcmV0dXJuOworCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+
Z2V0SW50ZXJuYWwoKTsKLSAgICBpZiAoZC0+bV9jYW5jZWxsZWQpCi0gICAgICAgIHJldHVybjsK
IAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogICAgIFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0
UmVzcG9uc2UgPSBkLT5tX3Jlc3BvbnNlOwpAQCAtNDk0LDEzICs1MDAsMTQgQEAgc3RhdGljIHZv
aWQgZG9SZWRpcmVjdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogc3RhdGljIHZvaWQgcmVkaXJl
Y3RDbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIg
ZGF0YSkKIHsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0
PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7Ci0gICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9
IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKIAotICAgIGlmIChkLT5tX2NhbmNlbGxlZCB8fCAhaGFu
ZGxlLT5jbGllbnQoKSkgeworICAgIGlmIChoYW5kbGUtPnNob3VsZEJhaWwoKSkgewogICAgICAg
ICBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdl
dEludGVybmFsKCk7CisKICAgICBnX2lucHV0X3N0cmVhbV9jbG9zZV9maW5pc2goZC0+bV9pbnB1
dFN0cmVhbS5nZXQoKSwgcmVzdWx0LCAwKTsKICAgICBkb1JlZGlyZWN0KGhhbmRsZS5nZXQoKSk7
CiB9CkBAIC01MDksMTQgKzUxNiwxNCBAQCBzdGF0aWMgdm9pZCByZWRpcmVjdFNraXBDYWxsYmFj
ayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiBhc3luY1Jlc3VsdCwgZ3BvaW50ZXIgZAogewogICAg
IFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5k
bGUqPihkYXRhKTsKIAotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdl
dEludGVybmFsKCk7Ci0gICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+
Y2xpZW50KCk7Ci0KLSAgICBpZiAoZC0+bV9jYW5jZWxsZWQgfHwgIWNsaWVudCkgeworICAgIGlm
IChoYW5kbGUtPnNob3VsZEJhaWwoKSkgewogICAgICAgICBjbGVhbnVwU291cFJlcXVlc3RPcGVy
YXRpb24oaGFuZGxlLmdldCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7CisKICAgICBHT3duUHRy
PEdFcnJvcj4gZXJyb3I7CiAgICAgZ3NzaXplIGJ5dGVzU2tpcHBlZCA9IGdfaW5wdXRfc3RyZWFt
X3JlYWRfZmluaXNoKGQtPm1faW5wdXRTdHJlYW0uZ2V0KCksIGFzeW5jUmVzdWx0LCAmZXJyb3Iu
b3V0UHRyKCkpOwogICAgIGlmIChlcnJvcikgewpAQCAtNTQxLDE2ICs1NDgsMTQgQEAgc3RhdGlj
IHZvaWQgd3JvdGVCb2R5RGF0YUNhbGxiYWNrKFNvdXBNZXNzYWdlKiwgU291cEJ1ZmZlciogYnVm
ZmVyLCBncG9pbnRlciBkYXQKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKGJ1ZmZlcik7
Ci0gICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogaW50ZXJuYWwgPSBoYW5kbGUtPmdldEludGVy
bmFsKCk7Ci0gICAgaW50ZXJuYWwtPm1fYm9keURhdGFTZW50ICs9IGJ1ZmZlci0+bGVuZ3RoOwor
ICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7Cisg
ICAgZC0+bV9ib2R5RGF0YVNlbnQgKz0gYnVmZmVyLT5sZW5ndGg7CiAKLSAgICBpZiAoaW50ZXJu
YWwtPm1fY2FuY2VsbGVkKQotICAgICAgICByZXR1cm47Ci0gICAgUmVzb3VyY2VIYW5kbGVDbGll
bnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7Ci0gICAgaWYgKCFjbGllbnQpCisgICAgaWYg
KGhhbmRsZS0+c2hvdWxkQmFpbCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjbGllbnQtPmRp
ZFNlbmREYXRhKGhhbmRsZS5nZXQoKSwgaW50ZXJuYWwtPm1fYm9keURhdGFTZW50LCBpbnRlcm5h
bC0+bV9ib2R5U2l6ZSk7CisgICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRs
ZS0+Y2xpZW50KCk7CisgICAgY2xpZW50LT5kaWRTZW5kRGF0YShoYW5kbGUuZ2V0KCksIGQtPm1f
Ym9keURhdGFTZW50LCBkLT5tX2JvZHlTaXplKTsKIH0KIAogc3RhdGljIHZvaWQgY2xlYW51cFNv
dXBSZXF1ZXN0T3BlcmF0aW9uKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGJvb2wgaXNEZXN0cm95
aW5nKQpAQCAtNjA4LDE0ICs2MTMsMTQgQEAgc3RhdGljIHZvaWQgbmV4dE11bHRpcGFydFJlc3Bv
bnNlUGFydENhbGxiYWNrKEdPYmplY3QqIC8qc291cmNlKi8sIEdBc3luY1Jlc3VsdCoKIHsKICAg
ICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFu
ZGxlKj4oZGF0YSk7CiAKLSAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5n
ZXRJbnRlcm5hbCgpOwotICAgIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUt
PmNsaWVudCgpOwotCi0gICAgaWYgKGQtPm1fY2FuY2VsbGVkIHx8ICFjbGllbnQpIHsKKyAgICBp
ZiAoaGFuZGxlLT5zaG91bGRCYWlsKCkpIHsKICAgICAgICAgY2xlYW51cFNvdXBSZXF1ZXN0T3Bl
cmF0aW9uKGhhbmRsZS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBSZXNv
dXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAgIFJlc291
cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVudCgpOworCiAgICAgQVNTRVJU
KCFkLT5tX2lucHV0U3RyZWFtKTsKIAogICAgIEdPd25QdHI8R0Vycm9yPiBlcnJvcjsKQEAgLTYz
OCw3ICs2NDMsNyBAQCBzdGF0aWMgdm9pZCBuZXh0TXVsdGlwYXJ0UmVzcG9uc2VQYXJ0Q2FsbGJh
Y2soR09iamVjdCogLypzb3VyY2UqLywgR0FzeW5jUmVzdWx0KgogCiAgICAgY2xpZW50LT5kaWRS
ZWNlaXZlUmVzcG9uc2UoaGFuZGxlLmdldCgpLCBkLT5tX3Jlc3BvbnNlKTsKIAotICAgIGlmIChk
LT5tX2NhbmNlbGxlZCB8fCAhY2xpZW50KSB7CisgICAgaWYgKGhhbmRsZS0+c2hvdWxkQmFpbCgp
KSB7CiAgICAgICAgIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjUxLDE0ICs2NTYsMTUgQEAgc3RhdGljIHZvaWQg
c2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIGdwb2lu
dGVyIGRhdGEpCiB7CiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNf
Y2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOwogCisgICAgaWYgKGhhbmRsZS0+c2hvdWxkQmFp
bCgpKSB7CisgICAgICAgIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihoYW5kbGUuZ2V0KCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCog
ZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKICAgICBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKICAgICBTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UgPSBk
LT5tX3NvdXBNZXNzYWdlLmdldCgpOwogCi0gICAgaWYgKGQtPm1fY2FuY2VsbGVkIHx8ICFjbGll
bnQpIHsKLSAgICAgICAgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKGhhbmRsZS5nZXQoKSk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBpZiAoZC0+bV9kZWZlcnNMb2FkaW5nKSB7
CiAgICAgICAgIGQtPm1fZGVmZXJyZWRSZXN1bHQgPSByZXN1bHQ7CkBAIC03MDcsNyArNzEzLDcg
QEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0
KiByZXN1bHQsIGdwb2ludGVyIGRhdGEpCiAKICAgICBjbGllbnQtPmRpZFJlY2VpdmVSZXNwb25z
ZShoYW5kbGUuZ2V0KCksIGQtPm1fcmVzcG9uc2UpOwogCi0gICAgaWYgKGQtPm1fY2FuY2VsbGVk
KSB7CisgICAgaWYgKGhhbmRsZS0+c2hvdWxkQmFpbCgpKSB7CiAgICAgICAgIGNsZWFudXBTb3Vw
UmVxdWVzdE9wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtODY5LDEwICs4NzUsMTIgQEAgc3RhdGljIHZvaWQgbmV0d29ya0V2ZW50Q2FsbGJhY2soU291
cE1lc3NhZ2UqLCBHU29ja2V0Q2xpZW50RXZlbnQgZXZlbnQsIEdJT1N0cmUKICAgICBSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKICAg
ICBpZiAoIWhhbmRsZSkKICAgICAgICAgcmV0dXJuOwotICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7Ci0gICAgaWYgKGQtPm1fY2FuY2VsbGVkKQor
CisgICAgaWYgKGhhbmRsZS0+c2hvdWxkQmFpbCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBS
ZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworCiAgICAg
aW50IGRlbHRhVGltZSA9IG1pbGlzZWNvbmRzU2luY2VSZXF1ZXN0KGQtPm1fcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKICAgICBzd2l0Y2ggKGV2ZW50KSB7CiAg
ICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfUkVTT0xWSU5HOgpAQCAtMTI0OSw3ICsxMjU3LDcgQEAg
c3RhdGljIGJvb2wgd2FpdGluZ1RvU2VuZFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkK
IAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVm
ZXJzTG9hZGluZykKIHsKLSAgICBpZiAoZC0+bV9jYW5jZWxsZWQpCisgICAgaWYgKHNob3VsZEJh
aWwoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gRXhjZXB0IHdoZW4gY2FuY2VsaW5nIGEg
cG9zc2libGUgdGltZW91dCB0aW1lciwgd2Ugb25seSBuZWVkIHRvIHRha2UgYWN0aW9uIGhlcmUg
dG8gVU4tZGVmZXIgbG9hZGluZy4KQEAgLTEzMjQsMTQgKzEzMzIsMTQgQEAgc3RhdGljIHZvaWQg
cmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqIGFzeW5jUmVzdWx0LCBncG9pbnRl
ciBkYXRhKQogewogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nh
c3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKIAotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwq
IGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7Ci0gICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNs
aWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7Ci0KLSAgICBpZiAoZC0+bV9jYW5jZWxsZWQgfHwgIWNs
aWVudCkgeworICAgIGlmIChoYW5kbGUtPnNob3VsZEJhaWwoKSkgewogICAgICAgICBjbGVhbnVw
U291cFJlcXVlc3RPcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAorICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFs
KCk7CisgICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7
CisKICAgICBpZiAoZC0+bV9kZWZlcnNMb2FkaW5nKSB7CiAgICAgICAgIGQtPm1fZGVmZXJyZWRS
ZXN1bHQgPSBhc3luY1Jlc3VsdDsKICAgICAgICAgcmV0dXJuOwpAQCAtMTM3Myw3ICsxMzgxLDcg
QEAgc3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqIGFzeW5j
UmVzdWx0LCBncG9pbnRlciBkYXRhKQogICAgIGNsaWVudC0+ZGlkUmVjZWl2ZURhdGEoaGFuZGxl
LmdldCgpLCBkLT5tX2J1ZmZlciwgYnl0ZXNSZWFkLCBieXRlc1JlYWQpOwogCiAgICAgLy8gZGlk
UmVjZWl2ZURhdGEgbWF5IGNhbmNlbCB0aGUgbG9hZCwgd2hpY2ggbWF5IHJlbGVhc2UgdGhlIGxh
c3QgcmVmZXJlbmNlLgotICAgIGlmIChkLT5tX2NhbmNlbGxlZCB8fCAhY2xpZW50KSB7CisgICAg
aWYgKGhhbmRsZS0+c2hvdWxkQmFpbCgpKSB7CiAgICAgICAgIGNsZWFudXBTb3VwUmVxdWVzdE9w
ZXJhdGlvbihoYW5kbGUuZ2V0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQo=
</data>
<flag name="review"
          id="203200"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>