<?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>36763</bug_id>
          
          <creation_ts>2010-03-29 10:31:59 -0700</creation_ts>
          <short_desc>Web Inspector: support EventTarget interface in fake workers</short_desc>
          <delta_ts>2010-03-30 06:08:33 -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>Web Inspector (Deprecated)</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>0</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>205516</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-03-29 10:31:59 -0700</bug_when>
    <thetext>Implement fake workers using MessageChannel and add to both Worker and WorkerContext support for EventTarget interfaces (add/removeEventListener).
This will also support passing message ports to worker and back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205561</commentid>
    <comment_count>1</comment_count>
      <attachid>51937</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-03-29 11:24:42 -0700</bug_when>
    <thetext>Created attachment 51937
Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205900</commentid>
    <comment_count>2</comment_count>
      <attachid>51937</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-30 01:29:34 -0700</bug_when>
    <thetext>Comment on attachment 51937
Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts

Please iterate loops using counter otherwise looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205908</commentid>
    <comment_count>3</comment_count>
      <attachid>52014</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-03-30 02:04:08 -0700</bug_when>
    <thetext>Created attachment 52014
Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts (nits fixed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205964</commentid>
    <comment_count>4</comment_count>
      <attachid>52014</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-30 06:08:29 -0700</bug_when>
    <thetext>Comment on attachment 52014
Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts (nits fixed)

Clearing flags on attachment: 52014

Committed r56780: &lt;http://trac.webkit.org/changeset/56780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205965</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-30 06:08:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51937</attachid>
            <date>2010-03-29 11:24:42 -0700</date>
            <delta_ts>2010-03-30 02:04:08 -0700</delta_ts>
            <desc>Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts</desc>
            <filename>workers-message-port.patch</filename>
            <type>text/plain</type>
            <size>9995</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjczMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDMtMjkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTdXBwb3J0IEV2ZW50VGFyZ2V0IGludGVyZmFjZSBpbiBmYWtlIHdvcmtlcnMgKGJvdGggZm9y
IFdvcmtlciBvYmplY3QKKyAgICAgICAgYW5kIFdvcmtlckNvbnRleHQpLiBVc2UgTWVzc2FnZVBv
cnQgdG8gaW1wbGVtZW50IG1lc3NhZ2UgcGFzc2luZyB0bworICAgICAgICBzdXBwb3J0IHBhc3Np
bmcgcG9ydHMgaW4gUG9zdE1lc3NhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNjc2MworCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZEZha2VXb3JrZXIuanM6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2Vy
Lm9ubWVzc2FnZUdldHRlcik6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2VyLm9u
bWVzc2FnZVNldHRlcik6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2VyKToKKyAg
ICAgICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyKToKKyAgICAgICAgKEluamVjdGVk
RmFrZVdvcmtlci5GYWtlV29ya2VyLnByb3RvdHlwZS5wb3N0TWVzc2FnZSk6CisgICAgICAgIChJ
bmplY3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5cGUudGVybWluYXRlKToKKyAgICAg
ICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyLnByb3RvdHlwZS5fb25Xb3JrZXJGcmFt
ZUxvYWRlZCk6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5
cGUuX3NldHVwV29ya2VyQ29udGV4dC5vbm1lc3NhZ2VHZXR0ZXIpOgorICAgICAgICAoSW5qZWN0
ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJvdG90eXBlLl9zZXR1cFdvcmtlckNvbnRleHQub25t
ZXNzYWdlU2V0dGVyKToKKyAgICAgICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyLnBy
b3RvdHlwZS5fc2V0dXBXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKEluamVjdGVkRmFrZVdvcmtl
ci5GYWtlV29ya2VyLnByb3RvdHlwZS5fYWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChJbmpl
Y3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5cGUuX3JlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAoSW5qZWN0ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJvdG90eXBlLl9jYWxs
YmFja1dyYXBwZXIpOgorICAgICAgICAoSW5qZWN0ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJv
dG90eXBlLl9oYW5kbGVFeGNlcHRpb24pOgorCiAyMDEwLTAzLTI5ICBBbGV4YW5kZXIgUGF2bG92
ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZEZha2VXb3Jr
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVk
RmFrZVdvcmtlci5qcwkocmV2aXNpb24gNTY3MzIpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRGYWtlV29ya2VyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCwy
MCBAQCBXb3JrZXIgPSBmdW5jdGlvbih1cmwpCiAgICAgdGhpcy5pc0Zha2UgPSB0cnVlOwogICAg
IHRoaXMucG9zdE1lc3NhZ2UgPSBiaW5kKGltcGwucG9zdE1lc3NhZ2UsIGltcGwpOwogICAgIHRo
aXMudGVybWluYXRlID0gYmluZChpbXBsLnRlcm1pbmF0ZSwgaW1wbCk7Ci0gICAgdGhpcy5vbm1l
c3NhZ2UgPSBub29wOworCisgICAgZnVuY3Rpb24gb25tZXNzYWdlR2V0dGVyKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBpbXBsLmNoYW5uZWwucG9ydDEub25tZXNzYWdlOworICAgIH0KKyAgICBm
dW5jdGlvbiBvbm1lc3NhZ2VTZXR0ZXIoY2FsbGJhY2spCisgICAgeworICAgICAgICBpbXBsLmNo
YW5uZWwucG9ydDEub25tZXNzYWdlID0gY2FsbGJhY2s7CisgICAgfQorICAgIHRoaXMuX19kZWZp
bmVHZXR0ZXJfXygib25tZXNzYWdlIiwgb25tZXNzYWdlR2V0dGVyKTsKKyAgICB0aGlzLl9fZGVm
aW5lU2V0dGVyX18oIm9ubWVzc2FnZSIsIG9ubWVzc2FnZVNldHRlcik7CisgICAgdGhpcy5hZGRF
dmVudExpc3RlbmVyID0gYmluZChpbXBsLmNoYW5uZWwucG9ydDEuYWRkRXZlbnRMaXN0ZW5lciwg
aW1wbC5jaGFubmVsLnBvcnQxKTsKKyAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBiaW5k
KGltcGwuY2hhbm5lbC5wb3J0MS5yZW1vdmVFdmVudExpc3RlbmVyLCBpbXBsLmNoYW5uZWwucG9y
dDEpOworICAgIHRoaXMuZGlzcGF0Y2hFdmVudCA9IGJpbmQoaW1wbC5jaGFubmVsLnBvcnQxLmRp
c3BhdGNoRXZlbnQsIGltcGwuY2hhbm5lbC5wb3J0MSk7CiB9CiAKIGZ1bmN0aW9uIEZha2VXb3Jr
ZXIod29ya2VyLCB1cmwpCkBAIC00OCw3MyArNjEsMzcgQEAgZnVuY3Rpb24gRmFrZVdvcmtlcih3
b3JrZXIsIHVybCkKICAgICB2YXIgc2NyaXB0VVJMID0gdGhpcy5fZXhwYW5kVVJMQW5kQ2hlY2tP
cmlnaW4oZG9jdW1lbnQuYmFzZVVSSSwgbG9jYXRpb24uaHJlZiwgdXJsKTsKIAogICAgIHRoaXMu
X3dvcmtlciA9IHdvcmtlcjsKLSAgICB0aGlzLl9idWlsZFdvcmtlcihzY3JpcHRVUkwpOwogICAg
IHRoaXMuX2lkID0gSW5qZWN0ZWRTY3JpcHRIb3N0Lm5leHRXb3JrZXJJZCgpOworICAgIHRoaXMu
Y2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOworICAgIHRoaXMuX2xpc3RlbmVycyA9IFtd
OworICAgIHRoaXMuX2J1aWxkV29ya2VyKHNjcmlwdFVSTCk7CiAKICAgICBJbmplY3RlZFNjcmlw
dEhvc3QuZGlkQ3JlYXRlV29ya2VyKHRoaXMuX2lkLCBzY3JpcHRVUkwudXJsLCBmYWxzZSk7CiB9
CiAKIEZha2VXb3JrZXIucHJvdG90eXBlID0gewotICAgIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiht
c2cpCisgICAgcG9zdE1lc3NhZ2U6IGZ1bmN0aW9uKG1zZywgb3B0X3BvcnRzKQogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuX2ZyYW1lICE9IG51bGwpCi0gICAgICAgICAgICB0aGlzLl9kaXNwYXRj
aE1lc3NhZ2UodGhpcy5fZnJhbWUsIGJpbmQodGhpcy5fb25tZXNzYWdlV3JhcHBlciwgdGhpcyks
IG1zZyk7CisgICAgICAgICAgICB0aGlzLmNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UuYXBwbHko
dGhpcy5jaGFubmVsLnBvcnQxLCBhcmd1bWVudHMpOwogICAgICAgICBlbHNlIGlmICh0aGlzLl9w
ZW5kaW5nTWVzc2FnZXMpCi0gICAgICAgICAgICB0aGlzLl9wZW5kaW5nTWVzc2FnZXMucHVzaCht
c2cpCisgICAgICAgICAgICB0aGlzLl9wZW5kaW5nTWVzc2FnZXMucHVzaChhcmd1bWVudHMpCiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdNZXNzYWdlcyA9IFsgbXNnIF07
CisgICAgICAgICAgICB0aGlzLl9wZW5kaW5nTWVzc2FnZXMgPSBbIGFyZ3VtZW50cyBdOwogICAg
IH0sCiAKICAgICB0ZXJtaW5hdGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIEluamVjdGVk
U2NyaXB0SG9zdC5kaWREZXN0cm95V29ya2VyKHRoaXMuX2lkKTsKIAotICAgICAgICBpZiAodGhp
cy5fZnJhbWUgIT0gbnVsbCkgewotICAgICAgICAgICAgdGhpcy5fZnJhbWUub25tZXNzYWdlID0g
dGhpcy5fd29ya2VyLm9ubWVzc2FnZSA9IG5vb3A7CisgICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0
MS5jbG9zZSgpOworICAgICAgICB0aGlzLmNoYW5uZWwucG9ydDIuY2xvc2UoKTsKKyAgICAgICAg
aWYgKHRoaXMuX2ZyYW1lICE9IG51bGwpCiAgICAgICAgICAgICB0aGlzLl9mcmFtZS5mcmFtZUVs
ZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9mcmFtZS5mcmFtZUVsZW1lbnQpOwot
ICAgICAgICB9CiAgICAgICAgIHRoaXMuX2ZyYW1lID0gbnVsbDsKICAgICAgICAgdGhpcy5fd29y
a2VyID0gbnVsbDsgLy8gQnJlYWsgcmVmZXJlbmNlIGxvb3AuCiAgICAgfSwKIAotICAgIF9vbm1l
c3NhZ2VXcmFwcGVyOiBmdW5jdGlvbihtc2cpCi0gICAgewotICAgICAgICAvLyBTaG9ydGN1dCAt
LSBpZiBubyBleGNlcHRpb24gaGFuZGxlcnMgaW5zdGFsbGVkLCBhdm9pZCB0cnkvY2F0Y2ggc28g
YXMgbm90IHRvIG9ic2N1cmUgbGluZSBudW1iZXIuCi0gICAgICAgIGlmICghdGhpcy5fZnJhbWUu
b25lcnJvciAmJiAhdGhpcy5fd29ya2VyLm9uZXJyb3IpIHsKLSAgICAgICAgICAgIHRoaXMuX2Zy
YW1lLm9ubWVzc2FnZShtc2cpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHRoaXMuX2ZyYW1lLm9ubWVzc2FnZShtc2cpOwotICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb24oZSwg
dGhpcy5fZnJhbWUub25lcnJvciwgdGhpcy5fd29ya2VyLm9uZXJyb3IpOwotICAgICAgICB9Ci0g
ICAgfSwKLQotICAgIF9kaXNwYXRjaE1lc3NhZ2U6IGZ1bmN0aW9uKHRhcmdldFdpbmRvdywgaGFu
ZGxlciwgbXNnKQotICAgIHsKLSAgICAgICAgdmFyIGV2ZW50ID0gdGhpcy5fZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIk1lc3NhZ2VFdmVudCIpOwotICAgICAgICBldmVudC5pbml0TWVzc2FnZUV2ZW50
KCJNZXNzYWdlRXZlbnQiLCBmYWxzZSwgZmFsc2UsIG1zZyk7Ci0gICAgICAgIHRhcmdldFdpbmRv
dy5zZXRUaW1lb3V0KGhhbmRsZXIsIDAsIGV2ZW50KTsKLSAgICB9LAotCi0gICAgX2hhbmRsZUV4
Y2VwdGlvbjogZnVuY3Rpb24oZSkKLSAgICB7Ci0gICAgICAgIC8vIE5COiBpdCBzaG91bGQgYmUg
YW4gRXJyb3JFdmVudCwgYnV0IGNyZWF0aW5nIGl0IGZyb20gc2NyaXB0IGlzIG5vdAotICAgICAg
ICAvLyBjdXJyZW50bHkgc3VwcG9ydGVkLCBzbyBlbXVsYXRlIGl0IG9uIHRvcCBvZiBwbGFpbiB2
YW5pbGxhIEV2ZW50LgotICAgICAgICB2YXIgZXJyb3JFdmVudCA9IHRoaXMuX2RvY3VtZW50LmNy
ZWF0ZUV2ZW50KCJFdmVudCIpOwotICAgICAgICBlcnJvckV2ZW50LmluaXRFdmVudCgiRXZlbnQi
LCBmYWxzZSwgZmFsc2UpOwotICAgICAgICBlcnJvckV2ZW50Lm1lc3NhZ2UgPSAiVW5jYXVnaHQg
ZXhjZXB0aW9uIjsKLQotICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5n
dGg7ICsraSkgewotICAgICAgICAgICAgaWYgKGFyZ3VtZW50c1tpXSAmJiBhcmd1bWVudHNbaV0o
ZXJyb3JFdmVudCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAg
ICAgdGhyb3cgZTsKLSAgICB9LAotCiAgICAgX2J1aWxkV29ya2VyOiBmdW5jdGlvbih1cmwpCiAg
ICAgewogICAgICAgICB2YXIgY29kZSA9IHRoaXMuX2xvYWRTY3JpcHQodXJsLnVybCk7CkBAIC0x
NDEsMTIgKzExOCwxMiBAQCBGYWtlV29ya2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5f
ZnJhbWUgPSBmcmFtZTsKICAgICAgICAgdGhpcy5fc2V0dXBXb3JrZXJDb250ZXh0KGZyYW1lLCB1
cmwpOwogCi0gICAgICAgIHZhciBmcmFtZUNvbnRlbnRzID0gJyhmdW5jdGlvbihsb2NhdGlvbiwg
d2luZG93KSB7ICcgKyBjb2RlICsgJ30pKF9fZGV2dG9vbHMubG9jYXRpb24sIHVuZGVmaW5lZCk7
XG4nICsgJy8vQCBzb3VyY2VVUkw9JyArIHVybC51cmw7CisgICAgICAgIHZhciBmcmFtZUNvbnRl
bnRzID0gJyhmdW5jdGlvbigpIHsgdmFyIGxvY2F0aW9uID0gX19kZXZ0b29scy5sb2NhdGlvbjsg
dmFyIHdpbmRvdzsgJyArIGNvZGUgKyAnfSkoKTtcbicgKyAnLy9AIHNvdXJjZVVSTD0nICsgdXJs
LnVybDsKIAogICAgICAgICBmcmFtZS5ldmFsKGZyYW1lQ29udGVudHMpOwogICAgICAgICBpZiAo
dGhpcy5fcGVuZGluZ01lc3NhZ2VzKSB7CiAgICAgICAgICAgICBmb3IgKHZhciBtc2cgaW4gdGhp
cy5fcGVuZGluZ01lc3NhZ2VzKQotICAgICAgICAgICAgICAgIHRoaXMucG9zdE1lc3NhZ2UodGhp
cy5fcGVuZGluZ01lc3NhZ2VzW21zZ10pOworICAgICAgICAgICAgICAgIHRoaXMucG9zdE1lc3Nh
Z2UuYXBwbHkodGhpcywgdGhpcy5fcGVuZGluZ01lc3NhZ2VzW21zZ10pOwogICAgICAgICAgICAg
ZGVsZXRlIHRoaXMuX3BlbmRpbmdNZXNzYWdlczsKICAgICAgICAgfQogICAgIH0sCkBAIC0xNTcs
MTkgKzEzNCw4OCBAQCBGYWtlV29ya2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGhhbmRs
ZUV4Y2VwdGlvbjogYmluZCh0aGlzLl9oYW5kbGVFeGNlcHRpb24sIHRoaXMpLAogICAgICAgICAg
ICAgbG9jYXRpb246IHVybC5tb2NrTG9jYXRpb24oKQogICAgICAgICB9OwotICAgICAgICB2YXIg
d29ya2VyID0gdGhpcy5fd29ya2VyOwogCi0gICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQp
IC8vIExhdGUgYmluZGluZyB0byBvbm1lc3NhZ2UgZGVzaXJlZCwgc28gbm8gYmluZCgpIGhlcmUu
CisgICAgICAgIHZhciBzZWxmID0gdGhpczsKKworICAgICAgICBmdW5jdGlvbiBvbm1lc3NhZ2VH
ZXR0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jaGFubmVsLnBvcnQy
Lm9ubWVzc2FnZSA/IHNlbGYuY2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2Uub3JpZ2luYWxDYWxsYmFj
ayA6IG51bGw7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvbm1lc3NhZ2VTZXR0ZXIo
Y2FsbGJhY2spCiAgICAgICAgIHsKLSAgICAgICAgICAgIHdvcmtlci5vbm1lc3NhZ2UoZXZlbnQp
OworICAgICAgICAgICAgdmFyIHdyYXBwZWRDYWxsYmFjayA9IGJpbmQoc2VsZi5fY2FsbGJhY2tX
cmFwcGVyLCBzZWxmLCBjYWxsYmFjayk7CisgICAgICAgICAgICB3cmFwcGVkQ2FsbGJhY2sub3Jp
Z2luYWxDYWxsYmFjayA9IGNhbGxiYWNrOworICAgICAgICAgICAgc2VsZi5jaGFubmVsLnBvcnQy
Lm9ubWVzc2FnZSA9IHdyYXBwZWRDYWxsYmFjazsKICAgICAgICAgfQogCi0gICAgICAgIHdvcmtl
ckZyYW1lLm9ubWVzc2FnZSA9IG5vb3A7Ci0gICAgICAgIHdvcmtlckZyYW1lLnBvc3RNZXNzYWdl
ID0gYmluZCh0aGlzLl9kaXNwYXRjaE1lc3NhZ2UsIHRoaXMsIHdpbmRvdywgaGFuZGxlcik7Cisg
ICAgICAgIHdvcmtlckZyYW1lLl9fZGVmaW5lR2V0dGVyX18oIm9ubWVzc2FnZSIsIG9ubWVzc2Fn
ZUdldHRlcik7CisgICAgICAgIHdvcmtlckZyYW1lLl9fZGVmaW5lU2V0dGVyX18oIm9ubWVzc2Fn
ZSIsIG9ubWVzc2FnZVNldHRlcik7CisgICAgICAgIHdvcmtlckZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIgPSBiaW5kKHRoaXMuX2FkZEV2ZW50TGlzdGVuZXIsIHRoaXMpOworICAgICAgICB3b3JrZXJG
cmFtZS5yZW1vdmVFdmVudExpc3RlbmVyID0gYmluZCh0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVy
LCB0aGlzKTsKKyAgICAgICAgd29ya2VyRnJhbWUuZGlzcGF0Y2hFdmVudCA9IGJpbmQodGhpcy5j
aGFubmVsLnBvcnQyLmRpc3BhdGNoRXZlbnQsIHRoaXMuY2hhbm5lbC5wb3J0Mik7CisgICAgICAg
IHdvcmtlckZyYW1lLnBvc3RNZXNzYWdlID0gYmluZCh0aGlzLmNoYW5uZWwucG9ydDIucG9zdE1l
c3NhZ2UsIHRoaXMuY2hhbm5lbC5wb3J0Mik7CiAgICAgICAgIHdvcmtlckZyYW1lLmltcG9ydFNj
cmlwdHMgPSBiaW5kKHRoaXMuX2ltcG9ydFNjcmlwdHMsIHRoaXMsIHdvcmtlckZyYW1lKTsKICAg
ICAgICAgd29ya2VyRnJhbWUuY2xvc2UgPSBiaW5kKHRoaXMudGVybWluYXRlLCB0aGlzKTsKICAg
ICB9LAogCisgICAgX2FkZEV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uKHR5cGUsIGNhbGxiYWNrLCB1
c2VDYXB0dXJlKQorICAgIHsKKyAgICAgICAgdmFyIHdyYXBwZWRDYWxsYmFjayA9IGJpbmQodGhp
cy5fY2FsbGJhY2tXcmFwcGVyLCB0aGlzLCBjYWxsYmFjayk7CisgICAgICAgIHdyYXBwZWRDYWxs
YmFjay5vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgICAgIHdyYXBwZWRDYWxsYmFj
ay50eXBlID0gdHlwZTsKKyAgICAgICAgd3JhcHBlZENhbGxiYWNrLnVzZUNhcHR1cmUgPSBCb29s
ZWFuKHVzZUNhcHR1cmUpOworCisgICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0Mi5hZGRFdmVudExp
c3RlbmVyKHR5cGUsIHdyYXBwZWRDYWxsYmFjaywgdXNlQ2FwdHVyZSk7CisgICAgICAgIHRoaXMu
X2xpc3RlbmVycy5wdXNoKHdyYXBwZWRDYWxsYmFjayk7CisgICAgfSwKKworICAgIF9yZW1vdmVF
dmVudExpc3RlbmVyOiBmdW5jdGlvbih0eXBlLCBjYWxsYmFjaywgdXNlQ2FwdHVyZSkKKyAgICB7
CisgICAgICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnM7CisgICAgICAgIGZvciAo
dmFyIGkgaW4gbGlzdGVuZXJzKSB7CisgICAgICAgICAgICBpZiAobGlzdGVuZXJzW2ldLm9yaWdp
bmFsQ2FsbGJhY2sgPT09IGNhbGxiYWNrICYmCisgICAgICAgICAgICAgICAgbGlzdGVuZXJzW2ld
LnR5cGUgPT09IHR5cGUgJiYgCisgICAgICAgICAgICAgICAgbGlzdGVuZXJzW2ldLnVzZUNhcHR1
cmUgPT09IEJvb2xlYW4odXNlQ2FwdHVyZSkpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmNoYW5u
ZWwucG9ydDIucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnNbaV0sIHVzZUNhcHR1
cmUpOworICAgICAgICAgICAgICAgIGxpc3RlbmVyc1tpXSA9IGxpc3RlbmVyc1tsaXN0ZW5lcnMu
bGVuZ3RoIC0gMV07CisgICAgICAgICAgICAgICAgbGlzdGVuZXJzLnBvcCgpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSwKKworICAgIF9j
YWxsYmFja1dyYXBwZXI6IGZ1bmN0aW9uKGNhbGxiYWNrLCBtc2cpCisgICAgeworICAgICAgICAv
LyBTaG9ydGN1dCAtLSBpZiBubyBleGNlcHRpb24gaGFuZGxlcnMgaW5zdGFsbGVkLCBhdm9pZCB0
cnkvY2F0Y2ggc28gYXMgbm90IHRvIG9ic2N1cmUgbGluZSBudW1iZXIuCisgICAgICAgIGlmICgh
dGhpcy5fZnJhbWUub25lcnJvciAmJiAhdGhpcy5fd29ya2VyLm9uZXJyb3IpIHsKKyAgICAgICAg
ICAgIGNhbGxiYWNrKG1zZyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgY2FsbGJhY2sobXNnKTsKKyAgICAgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uKGUsIHRoaXMuX2ZyYW1lLm9u
ZXJyb3IsIHRoaXMuX3dvcmtlci5vbmVycm9yKTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBf
aGFuZGxlRXhjZXB0aW9uOiBmdW5jdGlvbihlKQorICAgIHsKKyAgICAgICAgLy8gTkI6IGl0IHNo
b3VsZCBiZSBhbiBFcnJvckV2ZW50LCBidXQgY3JlYXRpbmcgaXQgZnJvbSBzY3JpcHQgaXMgbm90
CisgICAgICAgIC8vIGN1cnJlbnRseSBzdXBwb3J0ZWQsIHNvIGVtdWxhdGUgaXQgb24gdG9wIG9m
IHBsYWluIHZhbmlsbGEgRXZlbnQuCisgICAgICAgIHZhciBlcnJvckV2ZW50ID0gdGhpcy5fZG9j
dW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7CisgICAgICAgIGVycm9yRXZlbnQuaW5pdEV2ZW50
KCJFdmVudCIsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgIGVycm9yRXZlbnQubWVzc2FnZSA9ICJV
bmNhdWdodCBleGNlcHRpb24iOworCisgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1l
bnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoYXJndW1lbnRzW2ldICYmIGFyZ3Vt
ZW50c1tpXShlcnJvckV2ZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICB0aHJvdyBlOworICAgIH0sCisKICAgICBfaW1wb3J0U2NyaXB0czogZnVuY3Rp
b24odGFyZ2V0RnJhbWUpCiAgICAgewogICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3Vt
ZW50cy5sZW5ndGg7ICsraSkgewo=
</data>
<flag name="review"
          id="35315"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52014</attachid>
            <date>2010-03-30 02:04:08 -0700</date>
            <delta_ts>2010-03-30 06:08:28 -0700</delta_ts>
            <desc>Support EventTarget interface for worker object &amp; worker context, implement postMessage via MessagePorts (nits fixed)</desc>
            <filename>workers-message-port.patch</filename>
            <type>text/plain</type>
            <size>10126</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Njc3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDMtMzAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTdXBwb3J0IEV2ZW50VGFyZ2V0IGludGVyZmFjZSBpbiBmYWtlIHdvcmtlcnMgKGJvdGggZm9y
IFdvcmtlciBvYmplY3QKKyAgICAgICAgYW5kIFdvcmtlckNvbnRleHQpLiBVc2UgTWVzc2FnZVBv
cnQgdG8gaW1wbGVtZW50IG1lc3NhZ2UgcGFzc2luZyB0bworICAgICAgICBzdXBwb3J0IHBhc3Np
bmcgcG9ydHMgaW4gUG9zdE1lc3NhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNjc2MworCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZEZha2VXb3JrZXIuanM6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2Vy
Lm9ubWVzc2FnZUdldHRlcik6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2VyLm9u
bWVzc2FnZVNldHRlcik6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuV29ya2VyKToKKyAg
ICAgICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyKToKKyAgICAgICAgKEluamVjdGVk
RmFrZVdvcmtlci5GYWtlV29ya2VyLnByb3RvdHlwZS5wb3N0TWVzc2FnZSk6CisgICAgICAgIChJ
bmplY3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5cGUudGVybWluYXRlKToKKyAgICAg
ICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyLnByb3RvdHlwZS5fb25Xb3JrZXJGcmFt
ZUxvYWRlZCk6CisgICAgICAgIChJbmplY3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5
cGUuX3NldHVwV29ya2VyQ29udGV4dC5vbm1lc3NhZ2VHZXR0ZXIpOgorICAgICAgICAoSW5qZWN0
ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJvdG90eXBlLl9zZXR1cFdvcmtlckNvbnRleHQub25t
ZXNzYWdlU2V0dGVyKToKKyAgICAgICAgKEluamVjdGVkRmFrZVdvcmtlci5GYWtlV29ya2VyLnBy
b3RvdHlwZS5fc2V0dXBXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKEluamVjdGVkRmFrZVdvcmtl
ci5GYWtlV29ya2VyLnByb3RvdHlwZS5fYWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChJbmpl
Y3RlZEZha2VXb3JrZXIuRmFrZVdvcmtlci5wcm90b3R5cGUuX3JlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAoSW5qZWN0ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJvdG90eXBlLl9jYWxs
YmFja1dyYXBwZXIpOgorICAgICAgICAoSW5qZWN0ZWRGYWtlV29ya2VyLkZha2VXb3JrZXIucHJv
dG90eXBlLl9oYW5kbGVFeGNlcHRpb24pOgorCiAyMDEwLTAzLTMwICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBkZWZpbmUgc3Rh
dGljIHZhcmlhYmxlcyB3aXRoIERFRklORV9TVEFUSUNfTE9DQUwgbWFjcm8KSW5kZXg6IFdlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZEZha2VXb3JrZXIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkRmFrZVdvcmtlci5qcwkocmV2
aXNpb24gNTY3NzApCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRGYWtl
V29ya2VyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCwyMCBAQCBXb3JrZXIgPSBmdW5j
dGlvbih1cmwpCiAgICAgdGhpcy5pc0Zha2UgPSB0cnVlOwogICAgIHRoaXMucG9zdE1lc3NhZ2Ug
PSBiaW5kKGltcGwucG9zdE1lc3NhZ2UsIGltcGwpOwogICAgIHRoaXMudGVybWluYXRlID0gYmlu
ZChpbXBsLnRlcm1pbmF0ZSwgaW1wbCk7Ci0gICAgdGhpcy5vbm1lc3NhZ2UgPSBub29wOworCisg
ICAgZnVuY3Rpb24gb25tZXNzYWdlR2V0dGVyKCkKKyAgICB7CisgICAgICAgIHJldHVybiBpbXBs
LmNoYW5uZWwucG9ydDEub25tZXNzYWdlOworICAgIH0KKyAgICBmdW5jdGlvbiBvbm1lc3NhZ2VT
ZXR0ZXIoY2FsbGJhY2spCisgICAgeworICAgICAgICBpbXBsLmNoYW5uZWwucG9ydDEub25tZXNz
YWdlID0gY2FsbGJhY2s7CisgICAgfQorICAgIHRoaXMuX19kZWZpbmVHZXR0ZXJfXygib25tZXNz
YWdlIiwgb25tZXNzYWdlR2V0dGVyKTsKKyAgICB0aGlzLl9fZGVmaW5lU2V0dGVyX18oIm9ubWVz
c2FnZSIsIG9ubWVzc2FnZVNldHRlcik7CisgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyID0gYmlu
ZChpbXBsLmNoYW5uZWwucG9ydDEuYWRkRXZlbnRMaXN0ZW5lciwgaW1wbC5jaGFubmVsLnBvcnQx
KTsKKyAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBiaW5kKGltcGwuY2hhbm5lbC5wb3J0
MS5yZW1vdmVFdmVudExpc3RlbmVyLCBpbXBsLmNoYW5uZWwucG9ydDEpOworICAgIHRoaXMuZGlz
cGF0Y2hFdmVudCA9IGJpbmQoaW1wbC5jaGFubmVsLnBvcnQxLmRpc3BhdGNoRXZlbnQsIGltcGwu
Y2hhbm5lbC5wb3J0MSk7CiB9CiAKIGZ1bmN0aW9uIEZha2VXb3JrZXIod29ya2VyLCB1cmwpCkBA
IC00OCw3MyArNjEsMzcgQEAgZnVuY3Rpb24gRmFrZVdvcmtlcih3b3JrZXIsIHVybCkKICAgICB2
YXIgc2NyaXB0VVJMID0gdGhpcy5fZXhwYW5kVVJMQW5kQ2hlY2tPcmlnaW4oZG9jdW1lbnQuYmFz
ZVVSSSwgbG9jYXRpb24uaHJlZiwgdXJsKTsKIAogICAgIHRoaXMuX3dvcmtlciA9IHdvcmtlcjsK
LSAgICB0aGlzLl9idWlsZFdvcmtlcihzY3JpcHRVUkwpOwogICAgIHRoaXMuX2lkID0gSW5qZWN0
ZWRTY3JpcHRIb3N0Lm5leHRXb3JrZXJJZCgpOworICAgIHRoaXMuY2hhbm5lbCA9IG5ldyBNZXNz
YWdlQ2hhbm5lbCgpOworICAgIHRoaXMuX2xpc3RlbmVycyA9IFtdOworICAgIHRoaXMuX2J1aWxk
V29ya2VyKHNjcmlwdFVSTCk7CiAKICAgICBJbmplY3RlZFNjcmlwdEhvc3QuZGlkQ3JlYXRlV29y
a2VyKHRoaXMuX2lkLCBzY3JpcHRVUkwudXJsLCBmYWxzZSk7CiB9CiAKIEZha2VXb3JrZXIucHJv
dG90eXBlID0gewotICAgIHBvc3RNZXNzYWdlOiBmdW5jdGlvbihtc2cpCisgICAgcG9zdE1lc3Nh
Z2U6IGZ1bmN0aW9uKG1zZywgb3B0X3BvcnRzKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2Zy
YW1lICE9IG51bGwpCi0gICAgICAgICAgICB0aGlzLl9kaXNwYXRjaE1lc3NhZ2UodGhpcy5fZnJh
bWUsIGJpbmQodGhpcy5fb25tZXNzYWdlV3JhcHBlciwgdGhpcyksIG1zZyk7CisgICAgICAgICAg
ICB0aGlzLmNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UuYXBwbHkodGhpcy5jaGFubmVsLnBvcnQx
LCBhcmd1bWVudHMpOwogICAgICAgICBlbHNlIGlmICh0aGlzLl9wZW5kaW5nTWVzc2FnZXMpCi0g
ICAgICAgICAgICB0aGlzLl9wZW5kaW5nTWVzc2FnZXMucHVzaChtc2cpCisgICAgICAgICAgICB0
aGlzLl9wZW5kaW5nTWVzc2FnZXMucHVzaChhcmd1bWVudHMpCiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHRoaXMuX3BlbmRpbmdNZXNzYWdlcyA9IFsgbXNnIF07CisgICAgICAgICAgICB0aGlz
Ll9wZW5kaW5nTWVzc2FnZXMgPSBbIGFyZ3VtZW50cyBdOwogICAgIH0sCiAKICAgICB0ZXJtaW5h
dGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0SG9zdC5kaWREZXN0
cm95V29ya2VyKHRoaXMuX2lkKTsKIAotICAgICAgICBpZiAodGhpcy5fZnJhbWUgIT0gbnVsbCkg
ewotICAgICAgICAgICAgdGhpcy5fZnJhbWUub25tZXNzYWdlID0gdGhpcy5fd29ya2VyLm9ubWVz
c2FnZSA9IG5vb3A7CisgICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0MS5jbG9zZSgpOworICAgICAg
ICB0aGlzLmNoYW5uZWwucG9ydDIuY2xvc2UoKTsKKyAgICAgICAgaWYgKHRoaXMuX2ZyYW1lICE9
IG51bGwpCiAgICAgICAgICAgICB0aGlzLl9mcmFtZS5mcmFtZUVsZW1lbnQucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZCh0aGlzLl9mcmFtZS5mcmFtZUVsZW1lbnQpOwotICAgICAgICB9CiAgICAgICAg
IHRoaXMuX2ZyYW1lID0gbnVsbDsKICAgICAgICAgdGhpcy5fd29ya2VyID0gbnVsbDsgLy8gQnJl
YWsgcmVmZXJlbmNlIGxvb3AuCiAgICAgfSwKIAotICAgIF9vbm1lc3NhZ2VXcmFwcGVyOiBmdW5j
dGlvbihtc2cpCi0gICAgewotICAgICAgICAvLyBTaG9ydGN1dCAtLSBpZiBubyBleGNlcHRpb24g
aGFuZGxlcnMgaW5zdGFsbGVkLCBhdm9pZCB0cnkvY2F0Y2ggc28gYXMgbm90IHRvIG9ic2N1cmUg
bGluZSBudW1iZXIuCi0gICAgICAgIGlmICghdGhpcy5fZnJhbWUub25lcnJvciAmJiAhdGhpcy5f
d29ya2VyLm9uZXJyb3IpIHsKLSAgICAgICAgICAgIHRoaXMuX2ZyYW1lLm9ubWVzc2FnZShtc2cp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICAgIHRoaXMuX2ZyYW1lLm9ubWVzc2FnZShtc2cpOwotICAgICAgICB9IGNhdGNoIChlKSB7
Ci0gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb24oZSwgdGhpcy5fZnJhbWUub25lcnJv
ciwgdGhpcy5fd29ya2VyLm9uZXJyb3IpOwotICAgICAgICB9Ci0gICAgfSwKLQotICAgIF9kaXNw
YXRjaE1lc3NhZ2U6IGZ1bmN0aW9uKHRhcmdldFdpbmRvdywgaGFuZGxlciwgbXNnKQotICAgIHsK
LSAgICAgICAgdmFyIGV2ZW50ID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1lc3NhZ2VF
dmVudCIpOwotICAgICAgICBldmVudC5pbml0TWVzc2FnZUV2ZW50KCJNZXNzYWdlRXZlbnQiLCBm
YWxzZSwgZmFsc2UsIG1zZyk7Ci0gICAgICAgIHRhcmdldFdpbmRvdy5zZXRUaW1lb3V0KGhhbmRs
ZXIsIDAsIGV2ZW50KTsKLSAgICB9LAotCi0gICAgX2hhbmRsZUV4Y2VwdGlvbjogZnVuY3Rpb24o
ZSkKLSAgICB7Ci0gICAgICAgIC8vIE5COiBpdCBzaG91bGQgYmUgYW4gRXJyb3JFdmVudCwgYnV0
IGNyZWF0aW5nIGl0IGZyb20gc2NyaXB0IGlzIG5vdAotICAgICAgICAvLyBjdXJyZW50bHkgc3Vw
cG9ydGVkLCBzbyBlbXVsYXRlIGl0IG9uIHRvcCBvZiBwbGFpbiB2YW5pbGxhIEV2ZW50LgotICAg
ICAgICB2YXIgZXJyb3JFdmVudCA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIp
OwotICAgICAgICBlcnJvckV2ZW50LmluaXRFdmVudCgiRXZlbnQiLCBmYWxzZSwgZmFsc2UpOwot
ICAgICAgICBlcnJvckV2ZW50Lm1lc3NhZ2UgPSAiVW5jYXVnaHQgZXhjZXB0aW9uIjsKLQotICAg
ICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgaWYgKGFyZ3VtZW50c1tpXSAmJiBhcmd1bWVudHNbaV0oZXJyb3JFdmVudCkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhyb3cgZTsKLSAgICB9
LAotCiAgICAgX2J1aWxkV29ya2VyOiBmdW5jdGlvbih1cmwpCiAgICAgewogICAgICAgICB2YXIg
Y29kZSA9IHRoaXMuX2xvYWRTY3JpcHQodXJsLnVybCk7CkBAIC0xNDEsMTIgKzExOCwxMiBAQCBG
YWtlV29ya2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZnJhbWUgPSBmcmFtZTsKICAg
ICAgICAgdGhpcy5fc2V0dXBXb3JrZXJDb250ZXh0KGZyYW1lLCB1cmwpOwogCi0gICAgICAgIHZh
ciBmcmFtZUNvbnRlbnRzID0gJyhmdW5jdGlvbihsb2NhdGlvbiwgd2luZG93KSB7ICcgKyBjb2Rl
ICsgJ30pKF9fZGV2dG9vbHMubG9jYXRpb24sIHVuZGVmaW5lZCk7XG4nICsgJy8vQCBzb3VyY2VV
Ukw9JyArIHVybC51cmw7CisgICAgICAgIHZhciBmcmFtZUNvbnRlbnRzID0gJyhmdW5jdGlvbigp
IHsgdmFyIGxvY2F0aW9uID0gX19kZXZ0b29scy5sb2NhdGlvbjsgdmFyIHdpbmRvdzsgJyArIGNv
ZGUgKyAnfSkoKTtcbicgKyAnLy9AIHNvdXJjZVVSTD0nICsgdXJsLnVybDsKIAogICAgICAgICBm
cmFtZS5ldmFsKGZyYW1lQ29udGVudHMpOwogICAgICAgICBpZiAodGhpcy5fcGVuZGluZ01lc3Nh
Z2VzKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBtc2cgaW4gdGhpcy5fcGVuZGluZ01lc3NhZ2Vz
KQotICAgICAgICAgICAgICAgIHRoaXMucG9zdE1lc3NhZ2UodGhpcy5fcGVuZGluZ01lc3NhZ2Vz
W21zZ10pOworICAgICAgICAgICAgZm9yICh2YXIgbXNnID0gMDsgbXNnIDwgdGhpcy5fcGVuZGlu
Z01lc3NhZ2VzLmxlbmd0aDsgKyttc2cpCisgICAgICAgICAgICAgICAgdGhpcy5wb3N0TWVzc2Fn
ZS5hcHBseSh0aGlzLCB0aGlzLl9wZW5kaW5nTWVzc2FnZXNbbXNnXSk7CiAgICAgICAgICAgICBk
ZWxldGUgdGhpcy5fcGVuZGluZ01lc3NhZ2VzOwogICAgICAgICB9CiAgICAgfSwKQEAgLTE1Nywx
OSArMTM0LDg4IEBAIEZha2VXb3JrZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgaGFuZGxl
RXhjZXB0aW9uOiBiaW5kKHRoaXMuX2hhbmRsZUV4Y2VwdGlvbiwgdGhpcyksCiAgICAgICAgICAg
ICBsb2NhdGlvbjogdXJsLm1vY2tMb2NhdGlvbigpCiAgICAgICAgIH07Ci0gICAgICAgIHZhciB3
b3JrZXIgPSB0aGlzLl93b3JrZXI7CiAKLSAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihldmVudCkg
Ly8gTGF0ZSBiaW5kaW5nIHRvIG9ubWVzc2FnZSBkZXNpcmVkLCBzbyBubyBiaW5kKCkgaGVyZS4K
KyAgICAgICAgdmFyIHNlbGYgPSB0aGlzOworCisgICAgICAgIGZ1bmN0aW9uIG9ubWVzc2FnZUdl
dHRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNoYW5uZWwucG9ydDIu
b25tZXNzYWdlID8gc2VsZi5jaGFubmVsLnBvcnQyLm9ubWVzc2FnZS5vcmlnaW5hbENhbGxiYWNr
IDogbnVsbDsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG9ubWVzc2FnZVNldHRlcihj
YWxsYmFjaykKICAgICAgICAgewotICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZShldmVudCk7
CisgICAgICAgICAgICB2YXIgd3JhcHBlZENhbGxiYWNrID0gYmluZChzZWxmLl9jYWxsYmFja1dy
YXBwZXIsIHNlbGYsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIHdyYXBwZWRDYWxsYmFjay5vcmln
aW5hbENhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgICAgICAgICBzZWxmLmNoYW5uZWwucG9ydDIu
b25tZXNzYWdlID0gd3JhcHBlZENhbGxiYWNrOwogICAgICAgICB9CiAKLSAgICAgICAgd29ya2Vy
RnJhbWUub25tZXNzYWdlID0gbm9vcDsKLSAgICAgICAgd29ya2VyRnJhbWUucG9zdE1lc3NhZ2Ug
PSBiaW5kKHRoaXMuX2Rpc3BhdGNoTWVzc2FnZSwgdGhpcywgd2luZG93LCBoYW5kbGVyKTsKKyAg
ICAgICAgd29ya2VyRnJhbWUuX19kZWZpbmVHZXR0ZXJfXygib25tZXNzYWdlIiwgb25tZXNzYWdl
R2V0dGVyKTsKKyAgICAgICAgd29ya2VyRnJhbWUuX19kZWZpbmVTZXR0ZXJfXygib25tZXNzYWdl
Iiwgb25tZXNzYWdlU2V0dGVyKTsKKyAgICAgICAgd29ya2VyRnJhbWUuYWRkRXZlbnRMaXN0ZW5l
ciA9IGJpbmQodGhpcy5fYWRkRXZlbnRMaXN0ZW5lciwgdGhpcyk7CisgICAgICAgIHdvcmtlckZy
YW1lLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBiaW5kKHRoaXMuX3JlbW92ZUV2ZW50TGlzdGVuZXIs
IHRoaXMpOworICAgICAgICB3b3JrZXJGcmFtZS5kaXNwYXRjaEV2ZW50ID0gYmluZCh0aGlzLmNo
YW5uZWwucG9ydDIuZGlzcGF0Y2hFdmVudCwgdGhpcy5jaGFubmVsLnBvcnQyKTsKKyAgICAgICAg
d29ya2VyRnJhbWUucG9zdE1lc3NhZ2UgPSBiaW5kKHRoaXMuY2hhbm5lbC5wb3J0Mi5wb3N0TWVz
c2FnZSwgdGhpcy5jaGFubmVsLnBvcnQyKTsKICAgICAgICAgd29ya2VyRnJhbWUuaW1wb3J0U2Ny
aXB0cyA9IGJpbmQodGhpcy5faW1wb3J0U2NyaXB0cywgdGhpcywgd29ya2VyRnJhbWUpOwogICAg
ICAgICB3b3JrZXJGcmFtZS5jbG9zZSA9IGJpbmQodGhpcy50ZXJtaW5hdGUsIHRoaXMpOwogICAg
IH0sCiAKKyAgICBfYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24odHlwZSwgY2FsbGJhY2ssIHVz
ZUNhcHR1cmUpCisgICAgeworICAgICAgICB2YXIgd3JhcHBlZENhbGxiYWNrID0gYmluZCh0aGlz
Ll9jYWxsYmFja1dyYXBwZXIsIHRoaXMsIGNhbGxiYWNrKTsKKyAgICAgICAgd3JhcHBlZENhbGxi
YWNrLm9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjazsKKyAgICAgICAgd3JhcHBlZENhbGxiYWNr
LnR5cGUgPSB0eXBlOworICAgICAgICB3cmFwcGVkQ2FsbGJhY2sudXNlQ2FwdHVyZSA9IEJvb2xl
YW4odXNlQ2FwdHVyZSk7CisKKyAgICAgICAgdGhpcy5jaGFubmVsLnBvcnQyLmFkZEV2ZW50TGlz
dGVuZXIodHlwZSwgd3JhcHBlZENhbGxiYWNrLCB1c2VDYXB0dXJlKTsKKyAgICAgICAgdGhpcy5f
bGlzdGVuZXJzLnB1c2god3JhcHBlZENhbGxiYWNrKTsKKyAgICB9LAorCisgICAgX3JlbW92ZUV2
ZW50TGlzdGVuZXI6IGZ1bmN0aW9uKHR5cGUsIGNhbGxiYWNrLCB1c2VDYXB0dXJlKQorICAgIHsK
KyAgICAgICAgdmFyIGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyczsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChs
aXN0ZW5lcnNbaV0ub3JpZ2luYWxDYWxsYmFjayA9PT0gY2FsbGJhY2sgJiYKKyAgICAgICAgICAg
ICAgICBsaXN0ZW5lcnNbaV0udHlwZSA9PT0gdHlwZSAmJiAKKyAgICAgICAgICAgICAgICBsaXN0
ZW5lcnNbaV0udXNlQ2FwdHVyZSA9PT0gQm9vbGVhbih1c2VDYXB0dXJlKSkgeworICAgICAgICAg
ICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0Mi5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3Rl
bmVyc1tpXSwgdXNlQ2FwdHVyZSk7CisgICAgICAgICAgICAgICAgbGlzdGVuZXJzW2ldID0gbGlz
dGVuZXJzW2xpc3RlbmVycy5sZW5ndGggLSAxXTsKKyAgICAgICAgICAgICAgICBsaXN0ZW5lcnMu
cG9wKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9LAorCisgICAgX2NhbGxiYWNrV3JhcHBlcjogZnVuY3Rpb24oY2FsbGJhY2ssIG1zZykK
KyAgICB7CisgICAgICAgIC8vIFNob3J0Y3V0IC0tIGlmIG5vIGV4Y2VwdGlvbiBoYW5kbGVycyBp
bnN0YWxsZWQsIGF2b2lkIHRyeS9jYXRjaCBzbyBhcyBub3QgdG8gb2JzY3VyZSBsaW5lIG51bWJl
ci4KKyAgICAgICAgaWYgKCF0aGlzLl9mcmFtZS5vbmVycm9yICYmICF0aGlzLl93b3JrZXIub25l
cnJvcikgeworICAgICAgICAgICAgY2FsbGJhY2sobXNnKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBjYWxsYmFjayhtc2cpOwor
ICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb24o
ZSwgdGhpcy5fZnJhbWUub25lcnJvciwgdGhpcy5fd29ya2VyLm9uZXJyb3IpOworICAgICAgICB9
CisgICAgfSwKKworICAgIF9oYW5kbGVFeGNlcHRpb246IGZ1bmN0aW9uKGUpCisgICAgeworICAg
ICAgICAvLyBOQjogaXQgc2hvdWxkIGJlIGFuIEVycm9yRXZlbnQsIGJ1dCBjcmVhdGluZyBpdCBm
cm9tIHNjcmlwdCBpcyBub3QKKyAgICAgICAgLy8gY3VycmVudGx5IHN1cHBvcnRlZCwgc28gZW11
bGF0ZSBpdCBvbiB0b3Agb2YgcGxhaW4gdmFuaWxsYSBFdmVudC4KKyAgICAgICAgdmFyIGVycm9y
RXZlbnQgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKKyAgICAgICAgZXJy
b3JFdmVudC5pbml0RXZlbnQoIkV2ZW50IiwgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgZXJyb3JF
dmVudC5tZXNzYWdlID0gIlVuY2F1Z2h0IGV4Y2VwdGlvbiI7CisKKyAgICAgICAgZm9yICh2YXIg
aSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChhcmd1
bWVudHNbaV0gJiYgYXJndW1lbnRzW2ldKGVycm9yRXZlbnQpKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRocm93IGU7CisgICAgfSwKKwogICAgIF9pbXBv
cnRTY3JpcHRzOiBmdW5jdGlvbih0YXJnZXRGcmFtZSkKICAgICB7CiAgICAgICAgIGZvciAodmFy
IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgKytpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>