<?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>33675</bug_id>
          
          <creation_ts>2010-01-14 07:51:12 -0800</creation_ts>
          <short_desc>[Android] DOMWrapperMap::Visitor needs virtual destructor</short_desc>
          <delta_ts>2010-01-18 04:54: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Android</rep_platform>
          <op_sys>Android</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="Andrei Popescu">andreip</reporter>
          <assigned_to name="Ben Murdoch">benm</assigned_to>
          <cc>abarth</cc>
    
    <cc>android-webkit-unforking</cc>
    
    <cc>benm</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180719</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-01-14 07:51:12 -0800</bug_when>
    <thetext>For reasons similar to

https://bugs.webkit.org/show_bug.cgi?id=33390

The DOMWrapperMap::Visitor class in V8DOMMap.h needs a virtual destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180720</commentid>
    <comment_count>1</comment_count>
      <attachid>46568</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-01-14 07:56:52 -0800</bug_when>
    <thetext>Created attachment 46568
Add the virtual destructor to  DOMWrapperMap::Visitor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181007</commentid>
    <comment_count>2</comment_count>
      <attachid>46568</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-14 16:54:05 -0800</bug_when>
    <thetext>Comment on attachment 46568
Add the virtual destructor to  DOMWrapperMap::Visitor.

This isn&apos;t right.  Vistor objects are never deleted via the Vistor type.  Can we make the destructor private instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181022</commentid>
    <comment_count>3</comment_count>
      <attachid>46568</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 17:20:27 -0800</bug_when>
    <thetext>Comment on attachment 46568
Add the virtual destructor to  DOMWrapperMap::Visitor.

r- based on Adam&apos;s comment above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181200</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-01-15 04:24:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 46568 [details])
&gt; This isn&apos;t right.  Vistor objects are never deleted via the Vistor type.  Can
&gt; we make the destructor private instead?

Well, they&apos;re not deleted now but if someone else added code to do so, we&apos;d have a disaster on our hand, right?

Clearly, we can make it private either as derived classes would not be able to call it. What we can do is make it protected, instead, if you are sure that one is never meant to delete objects instantiated from derived types via a pointer to the base type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181202</commentid>
    <comment_count>5</comment_count>
      <attachid>46671</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-01-15 04:29:52 -0800</bug_when>
    <thetext>Created attachment 46671
Add protected virtual destructor to DOMWrapperMap::Visitor.

Made virtual dtor protected. Also fixed indentation of visitDOMWrapper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181569</commentid>
    <comment_count>6</comment_count>
      <attachid>46671</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-16 15:43:13 -0800</bug_when>
    <thetext>Comment on attachment 46671
Add protected virtual destructor to DOMWrapperMap::Visitor.

Looks good, but please update the ChangeLog to match what the patch actually does.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181570</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-16 15:44:42 -0800</bug_when>
    <thetext>Also, you patch does not apply properly to top of tree (according to the EWS).  If you&apos;d like this landed automatically, please either update your tree or create the patch using svn-create-patch or &quot;webkit-patch upload&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181826</commentid>
    <comment_count>8</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-01-18 04:44:11 -0800</bug_when>
    <thetext>Thanks for the review Adam.

(In reply to comment #7)
&gt; Also, you patch does not apply properly to top of tree (according to the EWS). 
&gt; If you&apos;d like this landed automatically, please either update your tree or
&gt; create the patch using svn-create-patch or &quot;webkit-patch upload&quot;.

Hmm, but svn-create-patch is exactly what I used to create the patch. Anyway, Ben Murdoch was kind enough to help land this manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181827</commentid>
    <comment_count>9</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-18 04:47:19 -0800</bug_when>
    <thetext>Will update Changelog as requested and land manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181831</commentid>
    <comment_count>10</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-18 04:54:54 -0800</bug_when>
    <thetext>Landed as r53401.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46568</attachid>
            <date>2010-01-14 07:56:52 -0800</date>
            <delta_ts>2010-01-15 04:29:52 -0800</delta_ts>
            <desc>Add the virtual destructor to  DOMWrapperMap::Visitor.</desc>
            <filename>33675.patch</filename>
            <type>text/plain</type>
            <size>1142</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzI2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMTQgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtBbmRyb2lkXSBET01XcmFwcGVyTWFwOjpWaXNpdG9yIG5lZWRzIHZpcnR1YWwgZGVzdHJ1Y3Rv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM2NzUK
KworICAgICAgICBBZGQgdmlydHVhbCBkdG9yIHRvIERPTVdyYXBwZXJNYXA6OlZpc2l0b3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgZnVuY3Rpb25hbGl0eSBub3QgY2hhbmdlZC4K
KworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpE
T01XcmFwcGVyTWFwOjpWaXNpdG9yOjp+VmlzaXRvcik6CisKIDIwMTAtMDEtMTQgIE1hcnRpbiBS
b2JpbnNvbiAgPG1hcnRpbi5qYW1lcy5yb2JpbnNvbkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuaAkocmV2aXNpb24g
NTE5NzYpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTk3LDYgKzk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjbGFzcyBWaXNp
dG9yIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdERPTVdy
YXBwZXIoS2V5VHlwZSoga2V5LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBvYmplY3QpID0g
MDsKKyAgICAgICAgICB2aXJ0dWFsIH5WaXNpdG9yKCkgeyB9CiAgICAgICAgIH07CiAgICAgfTsK
IAo=
</data>
<flag name="review"
          id="28867"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46671</attachid>
            <date>2010-01-15 04:29:52 -0800</date>
            <delta_ts>2010-01-16 15:43:13 -0800</delta_ts>
            <desc>Add protected virtual destructor to DOMWrapperMap::Visitor.</desc>
            <filename>33675.patch</filename>
            <type>text/plain</type>
            <size>1262</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzI2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMTQgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtBbmRyb2lkXSBET01XcmFwcGVyTWFwOjpWaXNpdG9yIG5lZWRzIHZpcnR1YWwgZGVzdHJ1Y3Rv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM2NzUK
KworICAgICAgICBBZGQgdmlydHVhbCBkdG9yIHRvIERPTVdyYXBwZXJNYXA6OlZpc2l0b3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgZnVuY3Rpb25hbGl0eSBub3QgY2hhbmdlZC4K
KworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpE
T01XcmFwcGVyTWFwOjpWaXNpdG9yOjp+VmlzaXRvcik6CisKIDIwMTAtMDEtMTQgIE1hcnRpbiBS
b2JpbnNvbiAgPG1hcnRpbi5qYW1lcy5yb2JpbnNvbkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuaAkocmV2aXNpb24g
NTE5NzYpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTk2LDcgKzk2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFZp
c2l0b3IgewogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgdmlydHVhbCB2b2lkIHZpc2l0RE9N
V3JhcHBlcihLZXlUeXBlKiBrZXksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG9iamVjdCkg
PSAwOworICAgICAgICAgICAgdmlydHVhbCB2b2lkIHZpc2l0RE9NV3JhcHBlcihLZXlUeXBlKiBr
ZXksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG9iamVjdCkgPSAwOworICAgICAgICBwcm90
ZWN0ZWQ6CisgICAgICAgICAgICB2aXJ0dWFsIH5WaXNpdG9yKCkgeyB9CiAgICAgICAgIH07CiAg
ICAgfTsKIAo=
</data>
<flag name="review"
          id="28970"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="29066"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>