<?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>37691</bug_id>
          
          <creation_ts>2010-04-15 18:54:58 -0700</creation_ts>
          <short_desc>[v8] In Workers, script errors right after close() are not delivered to the Worker.onerror</short_desc>
          <delta_ts>2010-04-16 17:16:41 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Dmitry Titov">dimich</reporter>
          <assigned_to name="Dmitry Titov">dimich</assigned_to>
          <cc>atwilson</cc>
    
    <cc>levin</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213165</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-15 18:54:58 -0700</bug_when>
    <thetext>WorkerGlobalScope.close() sets a flag in WorkerScriptController which makes WorkerScriptController::proxy() to always return 0. That prevents re-entry in JS after the block of script that called close() exits. However, the static accessor WebCore::getScriptExecutionContext() that retrieves the current WorkerContext using the DOM wrapper of the current v8 context uses proxy() and therefore starts to return 0 as well. This is un-necessary (and harmful) since retrieving of the current WorkerContext is not used to evaluate JS but rather to call various methods on it (like reportException(...)) and creating objects, which is fine to do even after close() called. 

The worker-close.html layout test is currently failing on chromium for this reason.

The fix is to avoid using proxy() for pulling out the WorkerContext from WorkerScriptController and just pull it from WorkerScriptController directly, since it also has it. Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213176</commentid>
    <comment_count>1</comment_count>
      <attachid>53505</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-15 19:25:51 -0700</bug_when>
    <thetext>Created attachment 53505
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213511</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-16 17:16:41 -0700</bug_when>
    <thetext>Updated the expected result for platform/chromium and landed: http://trac.webkit.org/changeset/57767</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53505</attachid>
            <date>2010-04-15 19:25:51 -0700</date>
            <delta_ts>2010-04-15 22:39:39 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5184</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MGZhNGQwNy4uOWY1MjNmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNC0xNSAgRG1pdHJ5IFRpdG92
ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbdjhdIEluIFdvcmtlcnMsIHNjcmlwdCBlcnJvcnMgcmlnaHQgYWZ0
ZXIgY2xvc2UoKSBhcmUgbm90IGRlbGl2ZXJlZCB0byB0aGUgV29ya2VyLm9uZXJyb3IuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY5MQorCisgICAg
ICAgIEV4aXN0aW5nIHdvcmtlci1jbG9zZS5odG1sIHdpbGwgbm93IHdvcmsgaW4gQ2hyb21pdW0u
CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KTogU3RvcCB1c2luZyBwcm94eSgpIHRvIGp1
c3QgcmV0cmlldmUgV29ya2VyQ29udGV4dCB3aGljaCBzaG91bGQgYmUgYWx3YXlzIGF2YWlsYWJs
ZS4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaDog
cmVtb3ZlZCB3b3JrZXJDb250ZXh0KCkgYWNjZXNzb3Igd2hpY2ggbW92ZWQgdG8gV29ya2VyU2Ny
aXB0Q29udHJvbGxlci4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9sbGVyOjp3b3JrZXJD
b250ZXh0KTogQWRkZWQsIHRvIGJlIGFibGUgdG8gcHVsbCBXb3JrZXJDb250ZXh0IG91dCBmcm9t
IHRoZSBjb250cm9sbGVyLgorCiAyMDEwLTA0LTE1ICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4VXRpbGl0aWVzLmNwcAppbmRleCBmODk1YTc2Li5mZmNjYjA2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4VXRpbGl0aWVzLmNwcApAQCAtMTI4LDE1ICsxMjgsMTEgQEAgdm9pZCBuYXZpZ2F0ZUlm
QWxsb3dlZChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBsb2NrSGlzdG9yeSwg
Ym9vbCBsb2MKIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKQogewogI2lmIEVOQUJMRShXT1JLRVJTKQotICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIq
IGNvbnRyb2xsZXIgPSBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpjb250cm9sbGVyRm9yQ29udGV4
dCgpOwotICAgIGlmIChjb250cm9sbGVyKSB7Ci0gICAgICAgIFdvcmtlckNvbnRleHRFeGVjdXRp
b25Qcm94eSogcHJveHkgPSBjb250cm9sbGVyLT5wcm94eSgpOwotICAgICAgICByZXR1cm4gcHJv
eHkgPyBwcm94eS0+d29ya2VyQ29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgOiAw
OwotICAgIH0KKyAgICBpZiAoV29ya2VyU2NyaXB0Q29udHJvbGxlciogY29udHJvbGxlciA9IFdv
cmtlclNjcmlwdENvbnRyb2xsZXI6OmNvbnRyb2xsZXJGb3JDb250ZXh0KCkpCisgICAgICAgIHJl
dHVybiBjb250cm9sbGVyLT53b3JrZXJDb250ZXh0KCk7CiAjZW5kaWYKIAotICAgIEZyYW1lKiBm
cmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JDdXJyZW50Q29udGV4dCgpOwotICAgIGlm
IChmcmFtZSkKKyAgICBpZiAoRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZv
ckN1cnJlbnRDb250ZXh0KCkpCiAgICAgICAgIHJldHVybiBmcmFtZS0+ZG9jdW1lbnQoKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAppbmRleCA4ZjQwZDcwLi41
ODgyNGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1
dGlvblByb3h5LmgKQEAgLTcxLDkgKzcxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAvLyBSZXR1cm5zIGEgbG9jYWwgaGFuZGxlIG9mIHRoZSBjb250ZXh0LgogICAgICAgICB2ODo6
TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQoKSB7IHJldHVybiB2ODo6TG9jYWw8djg6OkNvbnRl
eHQ+OjpOZXcobV9jb250ZXh0KTsgfQogCi0gICAgICAgIC8vIFJldHVybnMgV29ya2VyQ29udGV4
dCBvYmplY3QuCi0gICAgICAgIFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQoKSB7IHJldHVy
biBtX3dvcmtlckNvbnRleHQ7IH0KLQogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgaW5pdFY4
SWZOZWVkZWQoKTsKICAgICAgICAgYm9vbCBpbml0Q29udGV4dElmTmVlZGVkKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDY4NzVlMDYuLjYx
NjY5N2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5o
CkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfldvcmtlclNj
cmlwdENvbnRyb2xsZXIoKTsKIAogICAgICAgICBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkq
IHByb3h5KCkgeyByZXR1cm4gbV9leGVjdXRpb25Gb3JiaWRkZW4gPyAwIDogbV9wcm94eS5nZXQo
KTsgfQorICAgICAgICBXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0KCkgeyByZXR1cm4gbV93
b3JrZXJDb250ZXh0OyB9CiAKICAgICAgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYpOwogICAgICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZShjb25zdCBTY3Jp
cHRTb3VyY2VDb2RlJiwgU2NyaXB0VmFsdWUqIGV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA0
YmI3N2RlLi42ZGY1ZTI0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNC0x
NSAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbdjhdIEluIFdvcmtlcnMsIHNjcmlwdCBl
cnJvcnMgcmlnaHQgYWZ0ZXIgY2xvc2UoKSBhcmUgbm90IGRlbGl2ZXJlZCB0byB0aGUgV29ya2Vy
Lm9uZXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3NjkxCisKKyAgICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OmNyZWF0ZVdvcmtlckNvbnRleHRQcm94eSk6
IERvbid0IG5lZWQgdG8gcHVsbCBWOCBwcm94eSB0byByZXRyaWV2ZSBjdXJyZW50IFdvcmtlckNv
bnRleHQuCisKIDIwMTAtMDQtMTUgIEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNTc2NjAuCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAppbmRleCA0MWFlMDE4Li5kMGRkYThl
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKQEAgLTk2
LDE0ICs5NiwxMiBAQCBXb3JrZXJDb250ZXh0UHJveHkqIFdlYldvcmtlckNsaWVudEltcGw6OmNy
ZWF0ZVdvcmtlckNvbnRleHRQcm94eShXb3JrZXIqIHdvcmtlcgogICAgICAgICB3ZWJXb3JrZXIg
PSB3ZWJGcmFtZS0+Y2xpZW50KCktPmNyZWF0ZVdvcmtlcih3ZWJGcmFtZSwgcHJveHkpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBX
b3JrZXJTY3JpcHRDb250cm9sbGVyOjpjb250cm9sbGVyRm9yQ29udGV4dCgpOwotICAgICAgICBX
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkqIGN1cnJlbnRDb250ZXh0ID0gY29udHJvbGxlciA/
IGNvbnRyb2xsZXItPnByb3h5KCkgOiAwOwotICAgICAgICBpZiAoIWN1cnJlbnRDb250ZXh0KSB7
CisgICAgICAgIGlmICghY29udHJvbGxlcikgewogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogCi0gICAgICAgIERlZGlj
YXRlZFdvcmtlclRocmVhZCogdGhyZWFkID0KLSAgICAgICAgc3RhdGljX2Nhc3Q8RGVkaWNhdGVk
V29ya2VyVGhyZWFkKj4oY3VycmVudENvbnRleHQtPndvcmtlckNvbnRleHQoKS0+dGhyZWFkKCkp
OworICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQqIHRocmVhZCA9IHN0YXRpY19jYXN0PERl
ZGljYXRlZFdvcmtlclRocmVhZCo+KGNvbnRyb2xsZXItPndvcmtlckNvbnRleHQoKS0+dGhyZWFk
KCkpOwogICAgICAgICBXb3JrZXJPYmplY3RQcm94eSogd29ya2VyT2JqZWN0UHJveHkgPSAmdGhy
ZWFkLT53b3JrZXJPYmplY3RQcm94eSgpOwogICAgICAgICBXZWJXb3JrZXJJbXBsKiBpbXBsID0g
cmVpbnRlcnByZXRfY2FzdDxXZWJXb3JrZXJJbXBsKj4od29ya2VyT2JqZWN0UHJveHkpOwogICAg
ICAgICB3ZWJXb3JrZXIgPSBpbXBsLT5jbGllbnQoKS0+Y3JlYXRlV29ya2VyKHByb3h5KTsK
</data>
<flag name="review"
          id="37271"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="37272"
          type_id="3"
          status="-"
          setter="dimich"
    />
          </attachment>
      

    </bug>

</bugzilla>