Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (toolkit/url-classifier); r=bzbarsky

This commit is contained in:
David Zbarsky 2012-07-17 23:46:21 -04:00
parent 96d03cb0d8
commit 53760e9f03
4 changed files with 20 additions and 14 deletions

View File

@ -1043,7 +1043,8 @@ static nsresult KeyedHash(PRUint32 aPref, PRUint32 aDomain,
// -------------------------------------------------------------------------
// Actual worker implemenatation
class nsUrlClassifierDBServiceWorker : public nsIUrlClassifierDBServiceWorker
class nsUrlClassifierDBServiceWorker MOZ_FINAL :
public nsIUrlClassifierDBServiceWorker
{
public:
nsUrlClassifierDBServiceWorker();

View File

@ -8,11 +8,12 @@
#include "nsIUrlClassifierDBService.h"
#include "nsThreadUtils.h"
#include "mozilla/Attributes.h"
/**
* Thread proxy from the main thread to the worker thread.
*/
class UrlClassifierDBServiceWorkerProxy :
class UrlClassifierDBServiceWorkerProxy MOZ_FINAL :
public nsIUrlClassifierDBServiceWorker
{
public:
@ -136,7 +137,8 @@ private:
// The remaining classes here are all proxies to the main thread
class UrlClassifierLookupCallbackProxy : public nsIUrlClassifierLookupCallback
class UrlClassifierLookupCallbackProxy MOZ_FINAL :
public nsIUrlClassifierLookupCallback
{
public:
UrlClassifierLookupCallbackProxy(nsIUrlClassifierLookupCallback* aTarget)
@ -166,7 +168,7 @@ private:
nsCOMPtr<nsIUrlClassifierLookupCallback> mTarget;
};
class UrlClassifierCallbackProxy : public nsIUrlClassifierCallback
class UrlClassifierCallbackProxy MOZ_FINAL : public nsIUrlClassifierCallback
{
public:
UrlClassifierCallbackProxy(nsIUrlClassifierCallback* aTarget)
@ -196,7 +198,8 @@ private:
nsCOMPtr<nsIUrlClassifierCallback> mTarget;
};
class UrlClassifierUpdateObserverProxy : public nsIUrlClassifierUpdateObserver
class UrlClassifierUpdateObserverProxy MOZ_FINAL :
public nsIUrlClassifierUpdateObserver
{
public:
UrlClassifierUpdateObserverProxy(nsIUrlClassifierUpdateObserver* aTarget)

View File

@ -17,18 +17,19 @@
#include "nsIBadCertListener2.h"
#include "nsISSLErrorListener.h"
#include "nsITimer.h"
#include "mozilla/Attributes.h"
// Forward declare pointers
class nsIURI;
class nsUrlClassifierStreamUpdater : public nsIUrlClassifierStreamUpdater,
public nsIUrlClassifierUpdateObserver,
public nsIStreamListener,
public nsIObserver,
public nsIBadCertListener2,
public nsISSLErrorListener,
public nsIInterfaceRequestor,
public nsITimerCallback
class nsUrlClassifierStreamUpdater MOZ_FINAL : public nsIUrlClassifierStreamUpdater,
public nsIUrlClassifierUpdateObserver,
public nsIStreamListener,
public nsIObserver,
public nsIBadCertListener2,
public nsISSLErrorListener,
public nsIInterfaceRequestor,
public nsITimerCallback
{
public:
nsUrlClassifierStreamUpdater();

View File

@ -9,8 +9,9 @@
#include "nsIUrlClassifierUtils.h"
#include "nsTArray.h"
#include "nsDataHashtable.h"
#include "mozilla/Attributes.h"
class nsUrlClassifierUtils : public nsIUrlClassifierUtils
class nsUrlClassifierUtils MOZ_FINAL : public nsIUrlClassifierUtils
{
private:
/**