<?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>24330</bug_id>
          
          <creation_ts>2009-03-03 10:48:06 -0800</creation_ts>
          <short_desc>Sync xhr in workers should send an abort exception when the worker is terminated.</short_desc>
          <delta_ts>2009-03-04 14:31:15 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>112039</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-03 10:48:06 -0800</bug_when>
    <thetext>See summary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112049</commentid>
    <comment_count>1</comment_count>
      <attachid>28232</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-03 11:13:24 -0800</bug_when>
    <thetext>Created attachment 28232
Proposed fix.


2009-03-03  David Levin  &lt;levin@chromium.org&gt;

        Reviewed by NOBODY (OOPS!).

        Bug 24330: Sync xhr in workers should send abort error when the worker is terminated.
        &lt;https://bugs.webkit.org/show_bug.cgi?id=24330&gt;

        Test: http/tests/xmlhttprequest/workers/abort-error-assert.html

        * dom/ExceptionCode.cpp:
        (WebCore::xmlHttpRequestExceptionNames):
        Added missing ABORT_ERR whse absence caused an assert.

        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
        Add more logic to handle the termination case for sync xhr.

LayoutTests:

2009-03-03  David Levin  &lt;levin@chromium.org&gt;

        Reviewed by NOBODY (OOPS!).

        Bug 24330: Sync xhr in workers should send abort error when the worker is terminated.
        &lt;https://bugs.webkit.org/show_bug.cgi?id=24330&gt;

        Added test to verify to terminate a worker while it is doing a synchronous xhr.
        It does not verify that the exception is a ABORT_ERR because I couldn&apos;t figure out a way
        to actually do this.

        * http/tests/xmlhttprequest/workers/abort-error-assert-expected.txt: Added.
        * http/tests/xmlhttprequest/workers/abort-error-assert.html: Added.
        * http/tests/xmlhttprequest/workers/resources/endless-response.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/endlessxml.php.
        * http/tests/xmlhttprequest/workers/resources/endless-sync-xhr.js: Added.
---
 LayoutTests/ChangeLog                              |   16 +++++++++
 .../workers/abort-error-assert-expected.txt        |    5 +++
 .../xmlhttprequest/workers/abort-error-assert.html |   34 ++++++++++++++++++++
 .../workers/resources/endless-response.php         |    3 ++
 .../workers/resources/endless-sync-xhr.js          |    7 ++++
 WebCore/ChangeLog                                  |   18 ++++++++++
 WebCore/dom/ExceptionCode.cpp                      |    3 +-
 WebCore/loader/WorkerThreadableLoader.cpp          |   18 +++++++++-
 8 files changed, 101 insertions(+), 3 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112163</commentid>
    <comment_count>2</comment_count>
      <attachid>28232</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-04 01:20:04 -0800</bug_when>
    <thetext>Comment on attachment 28232
Proposed fix.

+        Bug 24330: Sync xhr in workers should send abort error when the worker is terminated.

&quot;Should raise an exception&quot; maybe? But what really counts is that we shouldn&apos;t keep waiting for load to finish, as the various ways to stop execution are indistinguishable.

+        // This is a small race condition here in that the worker may not have started the sync xhr call at this point,
+        // but I couldn&apos;t find a way to eliminate it.

Maybe wait 100ms to make it less likely?

\ No newline at end of file

Please add one.

+    if (!loader-&gt;done() &amp;&amp; result == MessageQueueTerminated) {
+        loader-&gt;cancel();
+    }

No braces around single line blocks.

+        // If the client hasn&apos;t finished at this point, then send a cancellation error because there will be no
+        // more callbacks from the main thread.

As discussed on IRC, this comment could be better.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112288</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-04 14:31:15 -0800</bug_when>
    <thetext>Committed as r41433.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28232</attachid>
            <date>2009-03-03 11:13:24 -0800</date>
            <delta_ts>2009-03-04 01:20:04 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>WebCore-.patch</filename>
            <type>text/plain</type>
            <size>6899</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">OTA1YjUzNDFhZGJiYmRmZDY3OTEwNWFkNDIyYWQ5ZWU5NmY4M2FiZgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQxYTA0NGYu
LjljNDhiNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wMy0wMyAgRGF2aWQgTGV2aW4g
IDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQnVnIDI0MzMwOiBTeW5jIHhociBpbiB3b3JrZXJzIHNob3VsZCBzZW5k
IGFib3J0IGVycm9yIHdoZW4gdGhlIHdvcmtlciBpcyB0ZXJtaW5hdGVkLgorICAgICAgICA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MzMwPiAgICAgICAgCisKKyAg
ICAgICAgQWRkZWQgdGVzdCB0byB2ZXJpZnkgdG8gdGVybWluYXRlIGEgd29ya2VyIHdoaWxlIGl0
IGlzIGRvaW5nIGEgc3luY2hyb25vdXMgeGhyLgorICAgICAgICBJdCBkb2VzIG5vdCB2ZXJpZnkg
dGhhdCB0aGUgZXhjZXB0aW9uIGlzIGEgQUJPUlRfRVJSIGJlY2F1c2UgSSBjb3VsZG4ndCBmaWd1
cmUgb3V0IGEgd2F5CisgICAgICAgIHRvIGFjdHVhbGx5IGRvIHRoaXMuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvYWJvcnQtZXJyb3ItYXNzZXJ0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3Jr
ZXJzL2Fib3J0LWVycm9yLWFzc2VydC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL2VuZGxlc3MtcmVzcG9uc2UucGhwOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9lbmRsZXNzeG1sLnBocC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dv
cmtlcnMvcmVzb3VyY2VzL2VuZGxlc3Mtc3luYy14aHIuanM6IEFkZGVkLgorCiAyMDA5LTAzLTAx
ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL2Fib3J0LWVycm9yLWFzc2VydC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvYWJvcnQtZXJy
b3ItYXNzZXJ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yNzMxYWU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC93b3JrZXJzL2Fib3J0LWVycm9yLWFzc2VydC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitYbWxIdHRwUmVxdWVzdCBhYm9ydCBlcnJvciBzaG91bGRuJ3QgYXNzZXJ0Lgor
CitPbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIHNpbmdsZSBQQVNTIGJlbG93LgorCitQQVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtl
cnMvYWJvcnQtZXJyb3ItYXNzZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3dvcmtlcnMvYWJvcnQtZXJyb3ItYXNzZXJ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMGQyNDhhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9hYm9ydC1lcnJvci1hc3NlcnQu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzxib2R5PgorPHA+WG1sSHR0cFJlcXVlc3Qg
YWJvcnQgZXJyb3Igc2hvdWxkbid0IGFzc2VydC48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ugc2hv
dWxkIHNlZSBhIHNpbmdsZSBQQVNTIGJlbG93LjwvcD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9CisKKyAgICB2YXIgY29uc29sZV9tZXNzYWdlcyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm9sIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb25zb2xlX21lc3Nh
Z2VzKTsKKworICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQorICAgIHsKKyAgICAgICAgdmFyIGl0
ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgICAgICBpdGVtLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICAgICAgY29uc29sZV9t
ZXNzYWdlcy5hcHBlbmRDaGlsZChpdGVtKTsKKyAgICB9CisKKyAgICB2YXIgd29ya2VyID0gbmV3
IFdvcmtlcigncmVzb3VyY2VzL2VuZGxlc3Mtc3luYy14aHIuanMnKTsKKyAgICB3b3JrZXIub25t
ZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyBhIHNtYWxs
IHJhY2UgY29uZGl0aW9uIGhlcmUgaW4gdGhhdCB0aGUgd29ya2VyIG1heSBub3QgaGF2ZSBzdGFy
dGVkIHRoZSBzeW5jIHhociBjYWxsIGF0IHRoaXMgcG9pbnQsCisgICAgICAgIC8vIGJ1dCBJIGNv
dWxkbid0IGZpbmQgYSB3YXkgdG8gZWxpbWluYXRlIGl0LgorICAgICAgICB3b3JrZXIudGVybWlu
YXRlKCk7CisgICAgICAgIGxvZygiUEFTUyIpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgIH0KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL2Vu
ZGxlc3MtcmVzcG9uc2UucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC93b3JrZXJzL3Jlc291cmNlcy9lbmRsZXNzLXJlc3BvbnNlLnBocApuZXcgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCAwMDAwMDAwLi5lODRkZTdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL3Jlc291cmNlcy9lbmRsZXNzLXJl
c3BvbnNlLnBocApAQCAtMCwwICsxLDMgQEAKKzw/cGhwCitzbGVlcCgxMCk7Cis/PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3Qvd29ya2Vycy9yZXNvdXJjZXMvZW5kbGVzcy1zeW5jLXhoci5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9yZXNvdXJjZXMvZW5k
bGVzcy1zeW5jLXhoci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Zjc3
NmVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC93b3JrZXJzL3Jlc291cmNlcy9lbmRsZXNzLXN5bmMteGhyLmpzCkBAIC0wLDAgKzEsNyBA
QAorcG9zdE1lc3NhZ2UoIlNUQVJUIik7Cit4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Cit4aHIu
b3BlbigiR0VUIiwgImVuZGxlc3MtcmVzcG9uc2UucGhwIiwgZmFsc2UpOwordHJ5IHsKKyAgICB4
aHIuc2VuZCgpOworfSBjYXRjaCAoZSkgeworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YzBlM2M3Li5kNjcxZTU5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDA5LTAzLTAzICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjQzMzA6IFN5
bmMgeGhyIGluIHdvcmtlcnMgc2hvdWxkIHNlbmQgYWJvcnQgZXJyb3Igd2hlbiB0aGUgd29ya2Vy
IGlzIHRlcm1pbmF0ZWQuCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQzMzA+CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC93b3JrZXJzL2Fib3J0LWVycm9yLWFzc2VydC5odG1sCisKKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp4bWxIdHRwUmVxdWVzdEV4Y2VwdGlvbk5h
bWVzKToKKyAgICAgICAgQWRkZWQgbWlzc2luZyBBQk9SVF9FUlIgd2hzZSBhYnNlbmNlIGNhdXNl
ZCBhbiBhc3NlcnQuCisKKyAgICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2Fk
ZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmNhbmNlbCk6CisgICAgICAgIEFkZCBtb3JlIGxvZ2ljIHRv
IGhhbmRsZSB0aGUgdGVybWluYXRpb24gY2FzZSBmb3Igc3luYyB4aHIuCisKIDIwMDktMDMtMDIg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJr
IFJvd2UuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcCBiL1dlYkNv
cmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCmluZGV4IGZhMGE3YTcuLjhjZTE2NDMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V4Y2Vw
dGlvbkNvZGUuY3BwCkBAIC03MSw3ICs3MSw4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBl
dmVudEV4Y2VwdGlvbk5hbWVzW10gPSB7CiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
eG1sSHR0cFJlcXVlc3RFeGNlcHRpb25OYW1lc1tdID0gewotICAgICJORVRXT1JLX0VSUiIKKyAg
ICAiTkVUV09SS19FUlIiLAorICAgICJBQk9SVF9FUlIiCiB9OwogCiAjaWYgRU5BQkxFKFhQQVRI
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA3ZDZlN2Nm
Li4yOThmYzYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApA
QCAtNzgsOCArNzgsMTQgQEAgdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnQKIAogICAgIENvbnRlbnRT
bmlmZiBjb250ZW50U25pZmYgPSByZXF1ZXN0LnVybCgpLmlzTG9jYWxGaWxlKCkgPyBTbmlmZkNv
bnRlbnQgOiBEb05vdFNuaWZmQ29udGVudDsKICAgICBSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxv
YWRlcj4gbG9hZGVyID0gV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHdvcmtlckNvbnRl
eHQsICZjbGllbnQsIG1vZGUsIHJlcXVlc3QsIERvTm90U2VuZExvYWRDYWxsYmFja3MsIGNvbnRl
bnRTbmlmZik7Ci0gICAgd2hpbGUgKCFsb2FkZXItPmRvbmUoKSkKLSAgICAgICAgcnVuTG9vcC5y
dW5Jbk1vZGUod29ya2VyQ29udGV4dCwgbW9kZSk7CisKKyAgICBNZXNzYWdlUXVldWVXYWl0UmVz
dWx0IHJlc3VsdCA9IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZDsKKyAgICB3aGlsZSAoIWxv
YWRlci0+ZG9uZSgpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkKQorICAgICAg
ICByZXN1bHQgPSBydW5Mb29wLnJ1bkluTW9kZSh3b3JrZXJDb250ZXh0LCBtb2RlKTsKKworICAg
IGlmICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ID09IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQp
IHsKKyAgICAgICAgbG9hZGVyLT5jYW5jZWwoKTsKKyAgICB9CiB9CiAKIHZvaWQgV29ya2VyVGhy
ZWFkYWJsZUxvYWRlcjo6Y2FuY2VsKCkKQEAgLTE1NCw2ICsxNjAsMTQgQEAgdm9pZCBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjptYWluVGhyZWFkQ2FuY2VsKFNjcmlw
dEV4ZWN1dGlvbkMKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6Y2FuY2VsKCkKIHsKICAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrVG9Xb3JrZXJPYmpl
Y3QoY3JlYXRlQ2FsbGJhY2tUYXNrKCZNYWluVGhyZWFkQnJpZGdlOjptYWluVGhyZWFkQ2FuY2Vs
LCB0aGlzKSk7CisgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIqIGNsaWVudFdyYXBw
ZXIgPSBzdGF0aWNfY2FzdDxUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcio+KG1fd29ya2Vy
Q2xpZW50V3JhcHBlci5nZXQoKSk7CisgICAgaWYgKCFjbGllbnRXcmFwcGVyLT5kb25lKCkpIHsK
KyAgICAgICAgLy8gSWYgdGhlIGNsaWVudCBoYXNuJ3QgZmluaXNoZWQgYXQgdGhpcyBwb2ludCwg
dGhlbiBzZW5kIGEgY2FuY2VsbGF0aW9uIGVycm9yIGJlY2F1c2UgdGhlcmUgd2lsbCBiZSBubwor
ICAgICAgICAvLyBtb3JlIGNhbGxiYWNrcyBmcm9tIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAg
UmVzb3VyY2VFcnJvciBlcnJvcihTdHJpbmcoKSwgMCwgU3RyaW5nKCksIFN0cmluZygpKTsKKyAg
ICAgICAgZXJyb3Iuc2V0SXNDYW5jZWxsYXRpb24odHJ1ZSk7CisgICAgICAgIGNsaWVudFdyYXBw
ZXItPmRpZEZhaWwoZXJyb3IpOworICAgIH0KICAgICBjbGVhckNsaWVudFdyYXBwZXIoKTsKIH0K
IAo=
</data>
<flag name="review"
          id="13806"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>