<?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>27931</bug_id>
          
          <creation_ts>2009-08-02 02:04:12 -0700</creation_ts>
          <short_desc>JSNodeCustom should call document() instead of scriptExecutionContext()</short_desc>
          <delta_ts>2009-08-02 20:50:10 -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 JavaScript</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="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>136535</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-02 02:04:12 -0700</bug_when>
    <thetext>As required by Darin Adler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136536</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-02 02:10:20 -0700</bug_when>
    <thetext>The key issue here is that we want to call an inline function, not a virtual function.

The inline function could be document() or it could be an inline version of scriptExecutionContext(). See the Node::prefix() function for an example of this design pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136537</commentid>
    <comment_count>2</comment_count>
      <attachid>33947</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-02 02:24:12 -0700</bug_when>
    <thetext>Created attachment 33947
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136540</commentid>
    <comment_count>3</comment_count>
      <attachid>33947</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-02 02:50:45 -0700</bug_when>
    <thetext>Comment on attachment 33947
Patch v1

On reflection, I don&apos;t think this patch is right.

Document is derived from ScriptExecutionContext, so there&apos;s no need to overload toJSDOMGlobalObject to take a Document*. The JSNodeCustom.cpp change can stand alone. No need to change JSDOMGLobalObject.h and .cpp.

I&apos;m changing my review to review-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136542</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-02 02:56:28 -0700</bug_when>
    <thetext>&gt; No need to change JSDOMGLobalObject.h and .cpp.

True.  I guess all you&apos;re saving is the fake RTTI branch.  I&apos;ll spin up a new version of the patch tomorrow.  I have the Node* change in my try at the moment, so it will take a bit of time to rebuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136544</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-02 02:59:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; No need to change JSDOMGLobalObject.h and .cpp.
&gt; 
&gt; True.  I guess all you&apos;re saving is the fake RTTI branch.  I&apos;ll spin up a new
&gt; version of the patch tomorrow.  I have the Node* change in my try at the
&gt; moment, so it will take a bit of time to rebuild.

I must be really tired! I think it *is* worthwhile to save the fake RTTI branch. Sorry for going back and forth on this so much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136546</commentid>
    <comment_count>6</comment_count>
      <attachid>33947</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-02 03:00:09 -0700</bug_when>
    <thetext>Comment on attachment 33947
Patch v1

I changed my mind again and I think this patch is good as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136581</commentid>
    <comment_count>7</comment_count>
      <attachid>33947</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-02 20:50:06 -0700</bug_when>
    <thetext>Comment on attachment 33947
Patch v1

Clearing review flag on attachment: 33947

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/bindings/js/JSDOMGlobalObject.cpp
	M	WebCore/bindings/js/JSDOMGlobalObject.h
	M	WebCore/bindings/js/JSNodeCustom.cpp
Committed r46710
	M	WebCore/ChangeLog
	M	WebCore/bindings/js/JSDOMGlobalObject.h
	M	WebCore/bindings/js/JSDOMGlobalObject.cpp
	M	WebCore/bindings/js/JSNodeCustom.cpp
r46710 = 8e29f864509f257cdb9711b14c33ff706cb3e96b (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/46710</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136582</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-02 20:50:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33947</attachid>
            <date>2009-08-02 02:24:12 -0700</date>
            <delta_ts>2009-08-02 20:50:06 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-27931-20090802022410.patch</filename>
            <type>text/plain</type>
            <size>3517</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjkyMzgxMy4uNGJjNzdhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0wOC0wMiAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEpTTm9kZUN1c3RvbSBzaG91bGQgY2FsbCBkb2N1bWVudCgpIGluc3RlYWQg
b2Ygc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNzkzMQorCisgICAgICAgIFdlIHdhbnQgdG8gY2FsbCBkb2N1
bWVudCgpIGJlY2F1c2UgaXQncyBpbiBpbmxpbmUgZnVuY3Rpb24sIGluc3RlYWQgb2YKKyAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGJlY2F1c2UgaXQncyBhIHZpcnR1YWwgZnVuY3Rp
b24uICBJZiB3ZSBoYXZlIGEKKyAgICAgICAgTm9kZSosIHRoZW4gd2Uga25vdyB0aGF0IHRoZSB2
aXJ0dWFsIGZ1bmN0aW9uIHdpbGwgYWx3YXlzIHJldHVybiB0aGUKKyAgICAgICAgZG9jdW1lbnQg
YW55d2F5LgorCisgICAgICAgIFRoZXJlIGFyZSBtb3JlIGluc3RhbmNlIG9mIHRoaXMgYnVnLCBi
dXQgSSdkIGxpa2UgdG8gc3RhcnQgd2l0aCBhIHNtYWxsCisgICAgICAgIHBhdGNoIGFuZCB3b3Jr
IHVwLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9KU0RPTUdsb2JhbE9iamVjdCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05vZGVDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNOb2RlOjphZGRFdmVudExpc3RlbmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisKIDIwMDktMDct
MzAgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2swMkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmNwcAppbmRleCBhN2Y3YjIxLi5lMzYxN2E0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMTE2LDEwICsxMTYsMTUgQEAgRXZlbnQqIEpTRE9N
R2xvYmFsT2JqZWN0OjpjdXJyZW50RXZlbnQoKSBjb25zdAogICAgIHJldHVybiBkKCktPmV2dDsK
IH0KIAorSlNET01HbG9iYWxPYmplY3QqIHRvSlNET01HbG9iYWxPYmplY3QoRG9jdW1lbnQqIGRv
Y3VtZW50KQoreworICAgIHJldHVybiB0b0pTRE9NV2luZG93KGRvY3VtZW50LT5mcmFtZSgpKTsK
K30KKwogSlNET01HbG9iYWxPYmplY3QqIHRvSlNET01HbG9iYWxPYmplY3QoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKIHsKICAgICBpZiAoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+aXNEb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gdG9KU0RPTVdpbmRv
dyhzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLT5mcmFtZSgp
KTsKKyAgICAgICAgcmV0dXJuIHRvSlNET01HbG9iYWxPYmplY3Qoc3RhdGljX2Nhc3Q8RG9jdW1l
bnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSk7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKICAg
ICBpZiAoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXggYmM2YzFmMi4uYzliMDllZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtMzEsNiArMzEsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBEb2N1bWVudDsKICAgICBjbGFzcyBF
dmVudDsKICAgICBjbGFzcyBKU0xhenlFdmVudExpc3RlbmVyOwogICAgIGNsYXNzIEpTRXZlbnRM
aXN0ZW5lcjsKQEAgLTEwMiw2ICsxMDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogdG9K
U0RPTUdsb2JhbE9iamVjdChEb2N1bWVudCopOwogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiB0b0pT
RE9NR2xvYmFsT2JqZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20u
Y3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwCmluZGV4IDJmMDgwYjgu
LjUyMTM0MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCBKU1ZhbHVlIEpTTm9kZTo6YXBwZW5kQ2hpbGQoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBBcmdMaXN0JiBhcmdzKQogCiBKU1ZhbHVlIEpTTm9kZTo6YWRkRXZlbnRMaXN0ZW5lcihFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiB7Ci0gICAgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IHRvSlNET01HbG9iYWxPYmplY3QoaW1wbCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0
b0pTRE9NR2xvYmFsT2JqZWN0KGltcGwoKS0+ZG9jdW1lbnQoKSk7CiAgICAgaWYgKCFnbG9iYWxP
YmplY3QpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCkBAIC0xMjIsNyArMTIyLDcg
QEAgSlNWYWx1ZSBKU05vZGU6OmFkZEV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBBcmdMaXN0JiBhcmdzKQogCiBKU1ZhbHVlIEpTTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiB7Ci0gICAgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IHRvSlNET01HbG9iYWxPYmplY3QoaW1wbCgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSB0b0pTRE9NR2xvYmFsT2JqZWN0KGltcGwoKS0+ZG9jdW1lbnQoKSk7CiAgICAgaWYgKCFnbG9i
YWxPYmplY3QpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOw==
</data>

          </attachment>
      

    </bug>

</bugzilla>