Changeset 88099 in webkit


Ignore:
Timestamp:
Jun 4, 2011 2:05:38 AM (13 years ago)
Author:
thakis@chromium.org
Message:

2011-06-04 Nico Weber <thakis@chromium.org>

Reviewed by James Robinson.

Make the destructors of DataTransferItem and DataTransferItems virtual
https://bugs.webkit.org/show_bug.cgi?id=62052

Clang has grown a new warning that warns on |delete ptr| if ptr's
class is non-final, has virtual methods, but no virtual destructor.
This warning finds real bugs, so we want to keep it enabled. However,
it also warns about DataTransferItem[s]. Since these are subclassed,
they can't be made final, so make their destructors virtual. (Maybe
clang's warning even points out an actual bug here.)

  • dom/DataTransferItem.h: (WebCore::DataTransferItem::~DataTransferItem):
  • dom/DataTransferItems.h: (WebCore::DataTransferItems::~DataTransferItems):
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r88098 r88099  
     12011-06-04  Nico Weber  <thakis@chromium.org>
     2
     3        Reviewed by James Robinson.
     4
     5        Make the destructors of DataTransferItem and DataTransferItems virtual
     6        https://bugs.webkit.org/show_bug.cgi?id=62052
     7
     8        Clang has grown a new warning that warns on |delete ptr| if ptr's
     9        class is non-final, has virtual methods, but no virtual destructor.
     10        This warning finds real bugs, so we want to keep it enabled. However,
     11        it also warns about DataTransferItem[s]. Since these are subclassed,
     12        they can't be made final, so make their destructors virtual. (Maybe
     13        clang's warning even points out an actual bug here.)
     14
     15        * dom/DataTransferItem.h:
     16        (WebCore::DataTransferItem::~DataTransferItem):
     17        * dom/DataTransferItems.h:
     18        (WebCore::DataTransferItems::~DataTransferItems):
     19
    1202011-06-04  Nico Weber  <thakis@chromium.org>
    221
  • trunk/Source/WebCore/dom/DataTransferItem.h

    r84857 r88099  
    4747class DataTransferItem : public RefCounted<DataTransferItem> {
    4848public:
    49     ~DataTransferItem() {}
     49    virtual ~DataTransferItem() { }
    5050
    5151    static PassRefPtr<DataTransferItem> create(PassRefPtr<Clipboard> owner, ScriptExecutionContext*, const String& data, const String& type);
  • trunk/Source/WebCore/dom/DataTransferItems.h

    r84857 r88099  
    4646class DataTransferItems : public RefCounted<DataTransferItems> {
    4747public:
    48     ~DataTransferItems() {}
     48    virtual ~DataTransferItems() { }
    4949
    5050    virtual size_t length() const;
Note: See TracChangeset for help on using the changeset viewer.