Changeset 88246 in webkit


Ignore:
Timestamp:
Jun 7, 2011 9:48:20 AM (13 years ago)
Author:
thakis@chromium.org
Message:

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

Reviewed by Dimitri Glazkov.

[chromium] -Wdelete-non-virtual-dtor pass for DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=62210

The change to TestEventPrinter fixes a latent bug, because
objects are deleted through the TestEventPrinter type, but none
of the subclasses have destructors or non-POD members.

The changes to NotificationPresenter and WebViewHost do _not_ to fix a
real bug, they just make clang's -Wdelete-non-virtual-dtor happy. As
discussed at http://codereview.chromium.org/7094005/, we prefer making
leaf class destructors virtual over making the leaf classes final.

  • DumpRenderTree/chromium/NotificationPresenter.cpp: (NotificationPresenter::~NotificationPresenter):
  • DumpRenderTree/chromium/NotificationPresenter.h:
  • DumpRenderTree/chromium/TestEventPrinter.cpp: (TestEventPrinter::~TestEventPrinter):
  • DumpRenderTree/chromium/TestEventPrinter.h:
  • DumpRenderTree/chromium/WebViewHost.h:
Location:
trunk/Tools
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r88210 r88246  
     12011-06-07  Nico Weber  <thakis@chromium.org>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        [chromium] -Wdelete-non-virtual-dtor pass for DumpRenderTree
     6        https://bugs.webkit.org/show_bug.cgi?id=62210
     7
     8        The change to TestEventPrinter fixes a latent bug, because
     9        objects are deleted through the TestEventPrinter type, but none
     10        of the subclasses have destructors or non-POD members.
     11
     12        The changes to NotificationPresenter and WebViewHost do _not_ to fix a
     13        real bug, they just make clang's -Wdelete-non-virtual-dtor happy. As
     14        discussed at http://codereview.chromium.org/7094005/, we prefer making
     15        leaf class destructors virtual over making the leaf classes final.
     16
     17        * DumpRenderTree/chromium/NotificationPresenter.cpp:
     18        (NotificationPresenter::~NotificationPresenter):
     19        * DumpRenderTree/chromium/NotificationPresenter.h:
     20        * DumpRenderTree/chromium/TestEventPrinter.cpp:
     21        (TestEventPrinter::~TestEventPrinter):
     22        * DumpRenderTree/chromium/TestEventPrinter.h:
     23        * DumpRenderTree/chromium/WebViewHost.h:
     24
    1252011-06-06  Ryosuke Niwa  <rniwa@webkit.org>
    226
  • trunk/Tools/DumpRenderTree/chromium/NotificationPresenter.cpp

    r77896 r88246  
    5757    notification->dispatchDisplayEvent();
    5858    delete notification;
     59}
     60
     61NotificationPresenter::~NotificationPresenter()
     62{
    5963}
    6064
  • trunk/Tools/DumpRenderTree/chromium/NotificationPresenter.h

    r86930 r88246  
    4545public:
    4646    explicit NotificationPresenter(TestShell* shell) : m_shell(shell) { }
     47    virtual ~NotificationPresenter();
    4748
    4849    // Called by the LayoutTestController to simulate a user granting permission.
  • trunk/Tools/DumpRenderTree/chromium/TestEventPrinter.cpp

    r86930 r88246  
    5959    void handleTestFooter(bool dumpedAnything) const;
    6060};
     61
     62TestEventPrinter::~TestEventPrinter()
     63{
     64}
    6165
    6266PassOwnPtr<TestEventPrinter> TestEventPrinter::createDRTPrinter()
  • trunk/Tools/DumpRenderTree/chromium/TestEventPrinter.h

    r84926 r88246  
    3939    static PassOwnPtr<TestEventPrinter> createTestShellPrinter();
    4040
     41    virtual ~TestEventPrinter();
    4142    virtual void handleTestHeader(const char* url) const = 0;
    4243    virtual void handleTimedOut() const = 0;
  • trunk/Tools/DumpRenderTree/chromium/WebViewHost.h

    r86930 r88246  
    6868 public:
    6969    WebViewHost(TestShell*);
    70     ~WebViewHost();
     70    virtual ~WebViewHost();
    7171    void setWebWidget(WebKit::WebWidget*);
    7272    WebKit::WebView* webView() const;
Note: See TracChangeset for help on using the changeset viewer.