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 (XPCOM parts); r=bsmedberg

This commit is contained in:
Ehsan Akhgari 2012-06-05 19:51:58 -04:00
parent ceecbda938
commit b5161f97b8
48 changed files with 122 additions and 73 deletions

View File

@ -9,6 +9,7 @@
#include "nsIOutputStream.h"
#include "nsIConverterOutputStream.h"
#include "nsCOMPtr.h"
#include "mozilla/Attributes.h"
class nsIUnicodeEncoder;
class nsIOutputStream;
@ -18,7 +19,7 @@ class nsIOutputStream;
{ 0xff8780a5, 0xbbb1, 0x4bc5, \
{ 0x8e, 0xe7, 0x05, 0x7e, 0x7b, 0xc5, 0xc9, 0x25 } }
class nsConverterOutputStream : public nsIConverterOutputStream {
class nsConverterOutputStream MOZ_FINAL : public nsIConverterOutputStream {
public:
nsConverterOutputStream() {}

View File

@ -6,6 +6,8 @@
#ifndef nsUnicodeToUTF8_h___
#define nsUnicodeToUTF8_h___
#include "mozilla/Attributes.h"
// Class ID for our UnicodeToUTF8 charset converter
// {7C657D18-EC5E-11d2-8AAC-00600811A836}
#define NS_UNICODETOUTF8_CID \
@ -25,7 +27,7 @@
* @created 05/Apr/1999
* @author Catalin Rotaru [CATA]
*/
class nsUnicodeToUTF8 : public nsIUnicodeEncoder
class nsUnicodeToUTF8 MOZ_FINAL : public nsIUnicodeEncoder
{
NS_DECL_ISUPPORTS

View File

@ -116,6 +116,7 @@
#include "nsThreadUtils.h"
#include "nsTArray.h"
#include "mozilla/Services.h"
#include "mozilla/Attributes.h"
#include "nsICycleCollectorListener.h"
#include "nsIXPConnect.h"
#include "nsIJSRuntimeService.h"
@ -1264,7 +1265,7 @@ struct CCGraphDescriber
Type mType;
};
class nsCycleCollectorLogger : public nsICycleCollectorListener
class nsCycleCollectorLogger MOZ_FINAL : public nsICycleCollectorListener
{
public:
nsCycleCollectorLogger() :

View File

@ -4,8 +4,9 @@
#include "nsInterfaceRequestorAgg.h"
#include "nsCOMPtr.h"
#include "mozilla/Attributes.h"
class nsInterfaceRequestorAgg : public nsIInterfaceRequestor
class nsInterfaceRequestorAgg MOZ_FINAL : public nsIInterfaceRequestor
{
public:
NS_DECL_ISUPPORTS

View File

@ -8,8 +8,9 @@
#include "nsIMacUtils.h"
#include "nsString.h"
#include "mozilla/Attributes.h"
class nsMacUtilsImpl : public nsIMacUtils
class nsMacUtilsImpl MOZ_FINAL : public nsIMacUtils
{
public:
NS_DECL_ISUPPORTS

View File

@ -11,6 +11,7 @@
#include "nsArrayEnumerator.h"
#include "nsISimpleEnumerator.h"
#include "mozilla/Telemetry.h"
#include "mozilla/Attributes.h"
using namespace mozilla;
@ -687,7 +688,7 @@ struct MemoryReport {
#ifdef DEBUG
// This is just a wrapper for PRInt64 that implements nsISupports, so it can be
// passed to nsIMemoryMultiReporter::CollectReports.
class PRInt64Wrapper : public nsISupports {
class PRInt64Wrapper MOZ_FINAL : public nsISupports {
public:
NS_DECL_ISUPPORTS
PRInt64Wrapper() : mValue(0) { }
@ -695,7 +696,7 @@ public:
};
NS_IMPL_ISUPPORTS0(PRInt64Wrapper)
class ExplicitNonHeapCountingCallback : public nsIMemoryMultiReporterCallback
class ExplicitNonHeapCountingCallback MOZ_FINAL : public nsIMemoryMultiReporterCallback
{
public:
NS_DECL_ISUPPORTS

View File

@ -6,11 +6,12 @@
#include "nsIMemoryReporter.h"
#include "nsCOMArray.h"
#include "mozilla/Mutex.h"
#include "mozilla/Attributes.h"
#include "nsString.h"
using mozilla::Mutex;
class nsMemoryReporter : public nsIMemoryReporter
class nsMemoryReporter MOZ_FINAL : public nsIMemoryReporter
{
public:
NS_DECL_ISUPPORTS

View File

@ -34,6 +34,7 @@
#include "nsTArray.h"
#include "mozilla/Omnijar.h"
#include "mozilla/Attributes.h"
struct nsFactoryEntry;
class nsIServiceManager;
@ -68,7 +69,7 @@ struct nsLoaderdata {
nsCString type;
};
class nsComponentManagerImpl
class nsComponentManagerImpl MOZ_FINAL
: public nsIComponentManager
, public nsIServiceManager
, public nsSupportsWeakReference

View File

@ -10,6 +10,7 @@
#include "nsCOMArray.h"
#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "mozilla/Attributes.h"
#define NS_ARRAY_CLASSNAME \
"nsIArray implementation"
@ -36,12 +37,12 @@ public:
NS_DECL_NSIMUTABLEARRAY
protected:
~nsArray();
virtual ~nsArray(); // nsArrayCC inherits from this
nsCOMArray_base mArray;
};
class nsArrayCC : public nsArray
class nsArrayCC MOZ_FINAL : public nsArray
{
public:
nsArrayCC() : nsArray() { }

View File

@ -7,8 +7,9 @@
#define __nsAtomService_h
#include "nsIAtomService.h"
#include "mozilla/Attributes.h"
class nsAtomService : public nsIAtomService
class nsAtomService MOZ_FINAL : public nsIAtomService
{
public:
nsAtomService();

View File

@ -5,6 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/Assertions.h"
#include "mozilla/Attributes.h"
#include "mozilla/HashFunctions.h"
#include "nsAtomTable.h"
@ -102,7 +103,7 @@ public:
* A non-refcounted implementation of nsIAtom.
*/
class PermanentAtomImpl : public AtomImpl {
class PermanentAtomImpl MOZ_FINAL : public AtomImpl {
public:
PermanentAtomImpl(const nsAString& aString, PLDHashNumber aKeyHash)
: AtomImpl(aString, aKeyHash)

View File

@ -11,6 +11,7 @@
#include "nsIVariant.h"
#include "nsIProperty.h"
#include "nsVariant.h"
#include "mozilla/Attributes.h"
nsresult
NS_NewHashPropertyBag(nsIWritablePropertyBag* *_retval)
@ -110,7 +111,7 @@ nsHashPropertyBag::DeleteProperty(const nsAString& name)
// nsSimpleProperty class and impl; used for GetEnumerator
//
class nsSimpleProperty : public nsIProperty {
class nsSimpleProperty MOZ_FINAL : public nsIProperty {
public:
nsSimpleProperty(const nsAString& aName, nsIVariant* aValue)
: mName(aName), mValue(aValue)

View File

@ -9,8 +9,9 @@
#include "nsINIParser.h"
#include "nsStringEnumerator.h"
#include "nsTArray.h"
#include "mozilla/Attributes.h"
class nsINIParserImpl :
class nsINIParserImpl MOZ_FINAL :
public nsIINIParser
{
public:

View File

@ -7,6 +7,7 @@
#include "nsIINIParser.h"
#include "nsIFactory.h"
#include "mozilla/Attributes.h"
#define NS_INIPARSERFACTORY_CID \
{ 0xdfac10a9, 0xdd24, 0x43cf, \
@ -15,7 +16,7 @@
#define NS_INIPARSERFACTORY_CONTRACTID \
"@mozilla.org/xpcom/ini-parser-factory;1"
class nsINIParserFactory :
class nsINIParserFactory MOZ_FINAL :
public nsIINIParserFactory,
public nsIFactory
{

View File

@ -14,6 +14,7 @@
#include "nsIWeakReference.h"
#include "nsHashKeys.h"
#include "nsISimpleEnumerator.h"
#include "mozilla/Attributes.h"
struct ObserverRef
{
@ -67,7 +68,7 @@ private:
nsTArray<ObserverRef> mObservers;
};
class nsObserverEnumerator : public nsISimpleEnumerator
class nsObserverEnumerator MOZ_FINAL : public nsISimpleEnumerator
{
public:
NS_DECL_ISUPPORTS

View File

@ -9,6 +9,7 @@
#include "nsIObserverService.h"
#include "nsObserverList.h"
#include "nsTHashtable.h"
#include "mozilla/Attributes.h"
#define NS_OBSERVERSERVICE_CLASSNAME "Observer Service"
@ -16,7 +17,7 @@
#define NS_OBSERVERSERVICE_CID \
{ 0xd07f5195, 0xe3d1, 0x11d2, { 0x8a, 0xcd, 0x0, 0x10, 0x5a, 0x1b, 0x88, 0x60 } }
class nsObserverService : public nsIObserverService {
class nsObserverService MOZ_FINAL : public nsIObserverService {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_OBSERVERSERVICE_CID)

View File

@ -11,11 +11,12 @@
#include "plarena.h"
#include "nsString.h"
#include "nsCOMPtr.h"
#include "mozilla/Attributes.h"
#include "nsIUnicharInputStream.h"
class nsPersistentProperties : public nsIPersistentProperties
class nsPersistentProperties MOZ_FINAL : public nsIPersistentProperties
{
public:
nsPersistentProperties();
@ -39,7 +40,7 @@ protected:
PLArenaPool mArena;
};
class nsPropertyElement : public nsIPropertyElement
class nsPropertyElement MOZ_FINAL : public nsIPropertyElement
{
public:
nsPropertyElement()

View File

@ -10,6 +10,7 @@
#include "nsInterfaceHashtable.h"
#include "nsHashKeys.h"
#include "nsAgg.h"
#include "mozilla/Attributes.h"
#define NS_PROPERTIES_CID \
{ /* 4de2bc90-b1bf-11d3-93b6-00104ba0fd40 */ \
@ -24,8 +25,8 @@ class nsIUnicharInputStream;
typedef nsInterfaceHashtable<nsCharPtrHashKey, nsISupports>
nsProperties_HashBase;
class nsProperties : public nsIProperties,
public nsProperties_HashBase {
class nsProperties MOZ_FINAL : public nsIProperties,
public nsProperties_HashBase {
public:
NS_DECL_AGGREGATED

View File

@ -11,14 +11,15 @@
#include "nsReadableUtils.h"
#include "nsISimpleEnumerator.h"
#include "nsSupportsPrimitives.h"
#include "mozilla/Attributes.h"
//
// nsStringEnumerator
//
class nsStringEnumerator : public nsIStringEnumerator,
public nsIUTF8StringEnumerator,
public nsISimpleEnumerator
class nsStringEnumerator MOZ_FINAL : public nsIStringEnumerator,
public nsIUTF8StringEnumerator,
public nsISimpleEnumerator
{
public:
nsStringEnumerator(const nsTArray<nsString>* aArray, bool aOwnsArray) :

View File

@ -648,7 +648,7 @@ NS_NewISupportsArray(nsISupportsArray** aInstancePtrResult)
return rv;
}
class nsArrayEnumerator : public nsISimpleEnumerator
class nsArrayEnumerator MOZ_FINAL : public nsISimpleEnumerator
{
public:
// nsISupports interface

View File

@ -9,10 +9,11 @@
//#define DEBUG_SUPPORTSARRAY 1
#include "nsISupportsArray.h"
#include "mozilla/Attributes.h"
static const PRUint32 kAutoArraySize = 8;
class nsSupportsArray : public nsISupportsArray {
class nsSupportsArray MOZ_FINAL : public nsISupportsArray {
public:
nsSupportsArray(void);
~nsSupportsArray(void); // nonvirtual since we're not subclassed

View File

@ -7,10 +7,11 @@
#define nsSupportsArrayEnumerator_h___
#include "nsIEnumerator.h"
#include "mozilla/Attributes.h"
class nsISupportsArray;
class nsSupportsArrayEnumerator : public nsIBidirectionalEnumerator {
class nsSupportsArrayEnumerator MOZ_FINAL : public nsIBidirectionalEnumerator {
public:
NS_DECL_ISUPPORTS

View File

@ -7,8 +7,9 @@
#define nsUnicharBuffer_h__
#include "nsIUnicharBuffer.h"
#include "mozilla/Attributes.h"
class UnicharBufferImpl : public nsIUnicharBuffer {
class UnicharBufferImpl MOZ_FINAL : public nsIUnicharBuffer {
public:
UnicharBufferImpl();

View File

@ -12,6 +12,7 @@
#include "nsIVariant.h"
#include "nsStringFwd.h"
#include "xpt_struct.h"
#include "mozilla/Attributes.h"
class nsCycleCollectionTraversalCallback;
@ -83,7 +84,7 @@ struct nsDiscriminatedUnion
* use to help them do all the 'standard' nsIVariant data conversions.
*/
class nsVariant : public nsIWritableVariant
class nsVariant MOZ_FINAL : public nsIWritableVariant
{
public:
NS_DECL_ISUPPORTS

View File

@ -165,7 +165,7 @@ NS_NewSingletonEnumerator(nsISimpleEnumerator* *result,
////////////////////////////////////////////////////////////////////////////////
class nsUnionEnumerator : public nsISimpleEnumerator
class nsUnionEnumerator MOZ_FINAL : public nsISimpleEnumerator
{
public:
NS_DECL_ISUPPORTS

View File

@ -5,6 +5,7 @@
#include "nsIDirectoryService.h"
#include "nsIFile.h"
#include "mozilla/Attributes.h"
class nsIFile;
@ -12,7 +13,7 @@ class nsIFile;
// class nsAppFileLocationProvider
//*****************************************************************************
class nsAppFileLocationProvider : public nsIDirectoryServiceProvider2
class nsAppFileLocationProvider MOZ_FINAL : public nsIDirectoryServiceProvider2
{
public:
nsAppFileLocationProvider();

View File

@ -11,14 +11,15 @@
#include "nsIFile.h"
#include "nsISupportsArray.h"
#include "nsIAtom.h"
#include "mozilla/Attributes.h"
#define NS_XPCOM_INIT_CURRENT_PROCESS_DIR "MozBinD" // Can be used to set NS_XPCOM_CURRENT_PROCESS_DIR
// CANNOT be used to GET a location
#define NS_DIRECTORY_SERVICE_CID {0xf00152d0,0xb40b,0x11d3,{0x8c, 0x9c, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74}}
class nsDirectoryService : public nsIDirectoryService,
public nsIProperties,
public nsIDirectoryServiceProvider2
class nsDirectoryService MOZ_FINAL : public nsIDirectoryService,
public nsIProperties,
public nsIDirectoryServiceProvider2
{
public:

View File

@ -13,8 +13,9 @@
#include "nsIIOUtil.h"
#include "mozilla/Attributes.h"
class nsIOUtil : public nsIIOUtil
class nsIOUtil MOZ_FINAL : public nsIIOUtil
{
public:
NS_DECL_ISUPPORTS

View File

@ -7,6 +7,7 @@
#include "prlog.h"
#include "mozilla/Mutex.h"
#include "mozilla/Attributes.h"
#include "nsIInputStreamTee.h"
#include "nsIInputStream.h"
#include "nsIOutputStream.h"
@ -24,7 +25,7 @@ static PRLogModuleInfo* gInputStreamTeeLog = PR_NewLogModule("nsInputStreamTee")
#define LOG(args)
#endif
class nsInputStreamTee : public nsIInputStreamTee
class nsInputStreamTee MOZ_FINAL : public nsIInputStreamTee
{
public:
NS_DECL_ISUPPORTS

View File

@ -8,6 +8,7 @@
*/
#include "mozilla/Util.h"
#include "mozilla/Attributes.h"
#include <sys/types.h>
#include <sys/stat.h>
@ -97,8 +98,8 @@ using namespace mozilla;
/* directory enumerator */
class
nsDirEnumeratorUnix : public nsISimpleEnumerator,
public nsIDirectoryEnumerator
nsDirEnumeratorUnix MOZ_FINAL : public nsISimpleEnumerator,
public nsIDirectoryEnumerator
{
public:
nsDirEnumeratorUnix();

View File

@ -19,6 +19,7 @@
#include "nsReadableUtils.h"
#include "nsIHashable.h"
#include "nsIClassInfoImpl.h"
#include "mozilla/Attributes.h"
#ifdef MOZ_WIDGET_COCOA
#include "nsILocalFileMac.h"
#endif
@ -74,7 +75,7 @@
#endif
class nsLocalFile :
class nsLocalFile MOZ_FINAL :
#ifdef MOZ_WIDGET_COCOA
public nsILocalFileMac,
#else

View File

@ -10,6 +10,7 @@
#include "IPC/IPCMessageUtils.h"
#include "mozilla/net/NeckoMessageUtils.h"
#include "mozilla/Attributes.h"
#include "nsMultiplexInputStream.h"
#include "nsIMultiplexInputStream.h"
@ -19,9 +20,9 @@
#include "nsIIPCSerializable.h"
#include "nsIClassInfoImpl.h"
class nsMultiplexInputStream : public nsIMultiplexInputStream,
public nsISeekableStream,
public nsIIPCSerializable
class nsMultiplexInputStream MOZ_FINAL : public nsIMultiplexInputStream,
public nsISeekableStream,
public nsIIPCSerializable
{
public:
nsMultiplexInputStream();

View File

@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/Attributes.h"
#include "mozilla/ReentrantMonitor.h"
#include "nsIPipe.h"
#include "nsIEventTarget.h"
@ -187,7 +188,7 @@ private:
//-----------------------------------------------------------------------------
class nsPipe : public nsIPipe
class nsPipe MOZ_FINAL : public nsIPipe
{
public:
friend class nsPipeInputStream;

View File

@ -7,6 +7,7 @@
#define nsScriptableBase64Encoder_h__
#include "nsIScriptableBase64Encoder.h"
#include "mozilla/Attributes.h"
#define NS_SCRIPTABLEBASE64ENCODER_CID \
{0xaaf68860, 0xf849, 0x40ee, \
@ -14,7 +15,7 @@
#define NS_SCRIPTABLEBASE64ENCODER_CONTRACTID \
"@mozilla.org/scriptablebase64encoder;1"
class nsScriptableBase64Encoder : public nsIScriptableBase64Encoder
class nsScriptableBase64Encoder MOZ_FINAL : public nsIScriptableBase64Encoder
{
public:
NS_DECL_ISUPPORTS

View File

@ -9,6 +9,7 @@
#include "nsIScriptableInputStream.h"
#include "nsIInputStream.h"
#include "nsCOMPtr.h"
#include "mozilla/Attributes.h"
#define NS_SCRIPTABLEINPUTSTREAM_CID \
{ 0x7225c040, 0xa9bf, 0x11d3, { 0xa1, 0x97, 0x0, 0x50, 0x4, 0x1c, 0xaf, 0x44 } }
@ -16,7 +17,7 @@
#define NS_SCRIPTABLEINPUTSTREAM_CONTRACTID "@mozilla.org/scriptableinputstream;1"
#define NS_SCRIPTABLEINPUTSTREAM_CLASSNAME "Scriptable Input Stream"
class nsScriptableInputStream : public nsIScriptableInputStream {
class nsScriptableInputStream MOZ_FINAL : public nsIScriptableInputStream {
public:
// nsISupports methods
NS_DECL_ISUPPORTS

View File

@ -21,6 +21,7 @@
#include "nsIInputStream.h"
#include "nsISeekableStream.h"
#include "prlog.h"
#include "mozilla/Attributes.h"
#if defined(PR_LOGGING)
//
@ -298,8 +299,8 @@ nsStorageStream::Seek(PRInt32 aPosition)
////////////////////////////////////////////////////////////////////////////////
// There can be many nsStorageInputStreams for a single nsStorageStream
class nsStorageInputStream : public nsIInputStream
, public nsISeekableStream
class nsStorageInputStream MOZ_FINAL : public nsIInputStream
, public nsISeekableStream
{
public:
nsStorageInputStream(nsStorageStream *aStorageStream, PRUint32 aSegmentSize)

View File

@ -17,6 +17,7 @@
#include "nsIStorageStream.h"
#include "nsIOutputStream.h"
#include "nsMemory.h"
#include "mozilla/Attributes.h"
#define NS_STORAGESTREAM_CID \
{ /* 669a9795-6ff7-4ed4-9150-c34ce2971b63 */ \
@ -31,8 +32,8 @@
class nsSegmentedBuffer;
class nsStorageStream : public nsIStorageStream,
public nsIOutputStream
class nsStorageStream MOZ_FINAL : public nsIStorageStream,
public nsIOutputStream
{
public:
nsStorageStream();

View File

@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/Mutex.h"
#include "mozilla/Attributes.h"
#include "nsStreamUtils.h"
#include "nsCOMPtr.h"
#include "nsIPipe.h"
@ -16,8 +17,8 @@ using namespace mozilla;
//-----------------------------------------------------------------------------
class nsInputStreamReadyEvent : public nsIRunnable
, public nsIInputStreamCallback
class nsInputStreamReadyEvent MOZ_FINAL : public nsIRunnable
, public nsIInputStreamCallback
{
public:
NS_DECL_ISUPPORTS
@ -95,8 +96,8 @@ NS_IMPL_THREADSAFE_ISUPPORTS2(nsInputStreamReadyEvent, nsIRunnable,
//-----------------------------------------------------------------------------
class nsOutputStreamReadyEvent : public nsIRunnable
, public nsIOutputStreamCallback
class nsOutputStreamReadyEvent MOZ_FINAL : public nsIRunnable
, public nsIOutputStreamCallback
{
public:
NS_DECL_ISUPPORTS
@ -463,7 +464,7 @@ NS_IMPL_THREADSAFE_ISUPPORTS3(nsAStreamCopier,
nsIOutputStreamCallback,
nsIRunnable)
class nsStreamCopierIB : public nsAStreamCopier
class nsStreamCopierIB MOZ_FINAL : public nsAStreamCopier
{
public:
nsStreamCopierIB() : nsAStreamCopier() {}
@ -506,7 +507,7 @@ public:
}
};
class nsStreamCopierOB : public nsAStreamCopier
class nsStreamCopierOB MOZ_FINAL : public nsAStreamCopier
{
public:
nsStreamCopierOB() : nsAStreamCopier() {}

View File

@ -20,15 +20,16 @@
#include "plstr.h"
#include "nsIClassInfoImpl.h"
#include "nsIIPCSerializable.h"
#include "mozilla/Attributes.h"
//-----------------------------------------------------------------------------
// nsIStringInputStream implementation
//-----------------------------------------------------------------------------
class nsStringInputStream : public nsIStringInputStream
, public nsISeekableStream
, public nsISupportsCString
, public nsIIPCSerializable
class nsStringInputStream MOZ_FINAL : public nsIStringInputStream
, public nsISeekableStream
, public nsISupportsCString
, public nsIIPCSerializable
{
public:
NS_DECL_ISUPPORTS

View File

@ -12,6 +12,7 @@
#include "nsAutoPtr.h"
#include "nsCRT.h"
#include "nsUTF8Utils.h"
#include "mozilla/Attributes.h"
#include <fcntl.h>
#if defined(XP_WIN)
#include <io.h>
@ -21,7 +22,7 @@
#define STRING_BUFFER_SIZE 8192
class StringUnicharInputStream : public nsIUnicharInputStream {
class StringUnicharInputStream MOZ_FINAL : public nsIUnicharInputStream {
public:
StringUnicharInputStream(const nsAString& aString) :
mString(aString), mPos(0), mLen(aString.Length()) { }
@ -120,7 +121,7 @@ NS_IMPL_ISUPPORTS1(StringUnicharInputStream, nsIUnicharInputStream)
//----------------------------------------------------------------------
class UTF8InputStream : public nsIUnicharInputStream {
class UTF8InputStream MOZ_FINAL : public nsIUnicharInputStream {
public:
UTF8InputStream();
nsresult Init(nsIInputStream* aStream);

View File

@ -10,6 +10,7 @@
#include "xptcall.h"
#include "nsAutoPtr.h"
#include "mozilla/Attributes.h"
class xptiInterfaceEntry;
@ -38,7 +39,7 @@ public:
#define SENTINEL_ENTRY(n) NS_IMETHOD Sentinel##n();
class nsXPTCStubBase : public nsIXPTCStubBase
class nsXPTCStubBase MOZ_FINAL : public nsIXPTCStubBase
{
public:
NS_DECL_ISUPPORTS_INHERITED

View File

@ -30,6 +30,7 @@
#include "mozilla/ReentrantMonitor.h"
#include "mozilla/Mutex.h"
#include "mozilla/Attributes.h"
#include "nsCRT.h"
#include "nsMemory.h"
@ -327,7 +328,7 @@ private:
char mName[1]; // Always last. Sized to fit.
};
class xptiInterfaceInfo : public nsIInterfaceInfo
class xptiInterfaceInfo MOZ_FINAL : public nsIInterfaceInfo
{
public:
NS_DECL_ISUPPORTS
@ -395,7 +396,7 @@ private:
/***************************************************************************/
class xptiInterfaceInfoManager
class xptiInterfaceInfoManager MOZ_FINAL
: public nsIInterfaceInfoSuperManager
{
NS_DECL_ISUPPORTS

View File

@ -14,11 +14,12 @@
#include "nsTArray.h"
#include "mozilla/Attributes.h"
#include "mozilla/Monitor.h"
#include "mozilla/TimeStamp.h"
class TimerThread : public nsIRunnable,
public nsIObserver
class TimerThread MOZ_FINAL : public nsIRunnable,
public nsIObserver
{
public:
typedef mozilla::Monitor Monitor;

View File

@ -6,6 +6,7 @@
#ifndef nsEnvironment_h__
#define nsEnvironment_h__
#include "mozilla/Attributes.h"
#include "mozilla/Mutex.h"
#include "nsIEnvironment.h"
@ -14,7 +15,7 @@
{ 0X9B, 0XE9, 0X7C, 0XB2, 0X39, 0X87, 0X41, 0X72 } }
#define NS_ENVIRONMENT_CONTRACTID "@mozilla.org/process/environment;1"
class nsEnvironment : public nsIEnvironment
class nsEnvironment MOZ_FINAL : public nsIEnvironment
{
public:
NS_DECL_ISUPPORTS

View File

@ -10,6 +10,7 @@
#define PROCESSMODEL_WINAPI
#endif
#include "mozilla/Attributes.h"
#include "mozilla/Mutex.h"
#include "nsIProcess.h"
#include "nsIFile.h"
@ -30,8 +31,8 @@
{0x7b4eeb20, 0xd781, 0x11d4, \
{0x8A, 0x83, 0x00, 0x10, 0xa4, 0xe0, 0xc9, 0xca}}
class nsProcess : public nsIProcess,
public nsIObserver
class nsProcess MOZ_FINAL : public nsIProcess,
public nsIObserver
{
public:

View File

@ -14,9 +14,11 @@
#include "nsThreadUtils.h"
#include "nsString.h"
#include "nsTObserverArray.h"
#include "mozilla/Attributes.h"
// A native thread
class nsThread : public nsIThreadInternal, public nsISupportsPriority
class nsThread MOZ_FINAL : public nsIThreadInternal,
public nsISupportsPriority
{
public:
NS_DECL_ISUPPORTS

View File

@ -14,8 +14,10 @@
#include "nsCOMArray.h"
#include "nsCOMPtr.h"
#include "nsThreadUtils.h"
#include "mozilla/Attributes.h"
class nsThreadPool : public nsIThreadPool, public nsIRunnable
class nsThreadPool MOZ_FINAL : public nsIThreadPool,
public nsIRunnable
{
public:
NS_DECL_ISUPPORTS

View File

@ -16,6 +16,7 @@
#include "prlog.h"
#include "mozilla/TimeStamp.h"
#include "mozilla/Attributes.h"
#if defined(PR_LOGGING)
static PRLogModuleInfo *gTimerLog = PR_NewLogModule("nsTimerImpl");
@ -40,7 +41,7 @@ enum {
CALLBACK_TYPE_OBSERVER = 3
};
class nsTimerImpl : public nsITimer
class nsTimerImpl MOZ_FINAL : public nsITimer
{
public:
typedef mozilla::TimeStamp TimeStamp;