--- a/accessible/base/AccCollector.h
+++ b/accessible/base/AccCollector.h
@@ -66,17 +66,17 @@ private:
AccCollector(const AccCollector&);
AccCollector& operator =(const AccCollector&);
};
/**
* Collect embedded objects. Provide quick access to accessible by index and
* vice versa.
*/
-class EmbeddedObjCollector : public AccCollector
+class EmbeddedObjCollector MOZ_FINAL : public AccCollector
{
public:
virtual ~EmbeddedObjCollector() { }
public:
virtual int32_t GetIndexAt(Accessible* aAccessible);
protected:
--- a/accessible/base/NotificationController.h
+++ b/accessible/base/NotificationController.h
@@ -80,18 +80,18 @@ private:
Class* mInstance;
Callback mCallback;
nsRefPtr<Arg> mArg;
};
/**
* Used to process notifications from core for the document accessible.
*/
-class NotificationController : public EventQueue,
- public nsARefreshObserver
+class NotificationController MOZ_FINAL : public EventQueue,
+ public nsARefreshObserver
{
public:
NotificationController(DocAccessible* aDocument, nsIPresShell* aPresShell);
NS_IMETHOD_(MozExternalRefCountType) AddRef(void);
NS_IMETHOD_(MozExternalRefCountType) Release(void);
NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(NotificationController)
--- a/accessible/base/nsAccessibilityService.h
+++ b/accessible/base/nsAccessibilityService.h
@@ -36,21 +36,21 @@ SelectionManager* SelectionMgr();
/**
* Returns the application accessible.
*/
ApplicationAccessible* ApplicationAcc();
} // namespace a11y
} // namespace mozilla
-class nsAccessibilityService : public mozilla::a11y::DocManager,
- public mozilla::a11y::FocusManager,
- public mozilla::a11y::SelectionManager,
- public nsIAccessibilityService,
- public nsIObserver
+class nsAccessibilityService MOZ_FINAL : public mozilla::a11y::DocManager,
+ public mozilla::a11y::FocusManager,
+ public mozilla::a11y::SelectionManager,
+ public nsIAccessibilityService,
+ public nsIObserver
{
public:
typedef mozilla::a11y::Accessible Accessible;
typedef mozilla::a11y::DocAccessible DocAccessible;
protected:
virtual ~nsAccessibilityService();
--- a/accessible/generic/OuterDocAccessible.h
+++ b/accessible/generic/OuterDocAccessible.h
@@ -15,17 +15,17 @@ namespace a11y {
* Used for <browser>, <frame>, <iframe>, <page> or editor> elements.
*
* In these variable names, "outer" relates to the OuterDocAccessible as
* opposed to the DocAccessibleWrap which is "inner". The outer node is
* a something like tags listed above, whereas the inner node corresponds to
* the inner document root.
*/
-class OuterDocAccessible : public AccessibleWrap
+class OuterDocAccessible MOZ_FINAL : public AccessibleWrap
{
public:
OuterDocAccessible(nsIContent* aContent, DocAccessible* aDoc);
NS_DECL_ISUPPORTS_INHERITED
// nsIAccessible
NS_IMETHOD GetActionName(uint8_t aIndex, nsAString& aName);
--- a/accessible/html/HTMLFormControlAccessible.h
+++ b/accessible/html/HTMLFormControlAccessible.h
@@ -104,17 +104,17 @@ protected:
virtual ENameValueFlag NativeName(nsString& aName) MOZ_OVERRIDE;
};
/**
* Accessible for HTML input@type="text", input@type="password", textarea and
* other HTML text controls.
*/
-class HTMLTextFieldAccessible : public HyperTextAccessibleWrap
+class HTMLTextFieldAccessible MOZ_FINAL : public HyperTextAccessibleWrap
{
public:
enum { eAction_Click = 0 };
HTMLTextFieldAccessible(nsIContent* aContent, DocAccessible* aDoc);
NS_DECL_ISUPPORTS_INHERITED
--- a/accessible/html/HTMLImageMapAccessible.h
+++ b/accessible/html/HTMLImageMapAccessible.h
@@ -11,17 +11,17 @@
#include "nsIDOMHTMLMapElement.h"
namespace mozilla {
namespace a11y {
/**
* Used for HTML image maps.
*/
-class HTMLImageMapAccessible : public ImageAccessibleWrap
+class HTMLImageMapAccessible MOZ_FINAL : public ImageAccessibleWrap
{
public:
HTMLImageMapAccessible(nsIContent* aContent, DocAccessible* aDoc);
// nsISupports and cycle collector
NS_DECL_ISUPPORTS_INHERITED
// Accessible
@@ -47,17 +47,17 @@ protected:
// Accessible
virtual void CacheChildren();
};
/**
* Accessible for image map areas - must be child of image.
*/
-class HTMLAreaAccessible : public HTMLLinkAccessible
+class HTMLAreaAccessible MOZ_FINAL : public HTMLLinkAccessible
{
public:
HTMLAreaAccessible(nsIContent* aContent, DocAccessible* aDoc);
// Accessible
virtual void Description(nsString& aDescription);
virtual Accessible* ChildAtPoint(int32_t aX, int32_t aY,
--- a/accessible/html/HTMLSelectAccessible.h
+++ b/accessible/html/HTMLSelectAccessible.h
@@ -158,17 +158,17 @@ public:
/** Finally, the Combobox widgets */
/** ------------------------------------------------------ */
class HTMLComboboxListAccessible;
/*
* A class the represents the HTML Combobox widget.
*/
-class HTMLComboboxAccessible : public AccessibleWrap
+class HTMLComboboxAccessible MOZ_FINAL : public AccessibleWrap
{
public:
enum { eAction_Click = 0 };
HTMLComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~HTMLComboboxAccessible() {}
// nsIAccessible
--- a/accessible/xul/XULFormControlAccessible.h
+++ b/accessible/xul/XULFormControlAccessible.h
@@ -105,17 +105,17 @@ public:
private:
bool DropmarkerOpen(bool aToggleOpen);
};
/**
* Used for XUL groupbox element.
*/
-class XULGroupboxAccessible : public AccessibleWrap
+class XULGroupboxAccessible MOZ_FINAL : public AccessibleWrap
{
public:
XULGroupboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
// Accessible
virtual mozilla::a11y::role NativeRole();
virtual Relation RelationByType(RelationType aType) MOZ_OVERRIDE;
--- a/accessible/xul/XULTreeGridAccessible.h
+++ b/accessible/xul/XULTreeGridAccessible.h
@@ -67,17 +67,17 @@ protected:
CreateTreeItemAccessible(int32_t aRow) const MOZ_OVERRIDE;
};
/**
* Represents accessible for XUL tree item in the case when XUL tree has
* multiple columns.
*/
-class XULTreeGridRowAccessible : public XULTreeItemAccessibleBase
+class XULTreeGridRowAccessible MOZ_FINAL : public XULTreeItemAccessibleBase
{
public:
using Accessible::GetChildAt;
XULTreeGridRowAccessible(nsIContent* aContent, DocAccessible* aDoc,
Accessible* aParent, nsITreeBoxObject* aTree,
nsITreeView* aTreeView, int32_t aRow);
--- a/caps/nsNullPrincipal.h
+++ b/caps/nsNullPrincipal.h
@@ -22,17 +22,17 @@ class nsIURI;
#define NS_NULLPRINCIPAL_CID \
{ 0xa0bd8b42, 0xf6bf, 0x4fb9, \
{ 0x93, 0x42, 0x90, 0xbf, 0xc9, 0xb7, 0xa1, 0xab } }
#define NS_NULLPRINCIPAL_CONTRACTID "@mozilla.org/nullprincipal;1"
#define NS_NULLPRINCIPAL_SCHEME "moz-nullprincipal"
-class nsNullPrincipal : public nsJSPrincipals
+class nsNullPrincipal MOZ_FINAL : public nsJSPrincipals
{
public:
nsNullPrincipal();
// Our refcount is managed by nsJSPrincipals. Use this macro to avoid an
// extra refcount member.
// FIXME: bug 327245 -- I sorta wish there were a clean way to share the
--- a/caps/nsPrincipal.h
+++ b/caps/nsPrincipal.h
@@ -39,17 +39,17 @@ protected:
#ifdef DEBUG
virtual void dumpImpl() = 0;
#endif
nsCOMPtr<nsIContentSecurityPolicy> mCSP;
};
-class nsPrincipal : public nsBasePrincipal
+class nsPrincipal MOZ_FINAL : public nsBasePrincipal
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSISERIALIZABLE
NS_IMETHOD Equals(nsIPrincipal* other, bool* _retval);
NS_IMETHOD EqualsConsideringDomain(nsIPrincipal* other, bool* _retval);
NS_IMETHOD GetHashValue(uint32_t* aHashValue);
NS_IMETHOD GetURI(nsIURI** aURI);
--- a/caps/nsScriptSecurityManager.h
+++ b/caps/nsScriptSecurityManager.h
@@ -27,19 +27,19 @@ class ClassInfoData;
/////////////////////////////
// nsScriptSecurityManager //
/////////////////////////////
#define NS_SCRIPTSECURITYMANAGER_CID \
{ 0x7ee2a4c0, 0x4b93, 0x17d3, \
{ 0xba, 0x18, 0x00, 0x60, 0xb0, 0xf1, 0x99, 0xa2 }}
-class nsScriptSecurityManager : public nsIScriptSecurityManager,
- public nsIChannelEventSink,
- public nsIObserver
+class nsScriptSecurityManager MOZ_FINAL : public nsIScriptSecurityManager,
+ public nsIChannelEventSink,
+ public nsIObserver
{
public:
static void Shutdown();
NS_DEFINE_STATIC_CID_ACCESSOR(NS_SCRIPTSECURITYMANAGER_CID)
NS_DECL_ISUPPORTS
NS_DECL_NSISCRIPTSECURITYMANAGER
--- a/caps/nsSystemPrincipal.h
+++ b/caps/nsSystemPrincipal.h
@@ -12,17 +12,17 @@
#include "nsJSPrincipals.h"
#define NS_SYSTEMPRINCIPAL_CID \
{ 0x4a6212db, 0xaccb, 0x11d3, \
{ 0xb7, 0x65, 0x0, 0x60, 0xb0, 0xb6, 0xce, 0xcb }}
#define NS_SYSTEMPRINCIPAL_CONTRACTID "@mozilla.org/systemprincipal;1"
-class nsSystemPrincipal : public nsJSPrincipals
+class nsSystemPrincipal MOZ_FINAL : public nsJSPrincipals
{
public:
// Our refcount is managed by nsJSPrincipals. Use this macro to avoid
// an extra refcount member.
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIPRINCIPAL
NS_DECL_NSISERIALIZABLE
--- a/content/base/public/nsNameSpaceManager.h
+++ b/content/base/public/nsNameSpaceManager.h
@@ -61,17 +61,17 @@ private:
* consistent accross the app. NameSpace IDs are only consistent at runtime
* ie: they are not guaranteed to be consistent accross app sessions.
*
* The nsNameSpaceManager needs to have a live reference for as long as
* the NameSpace IDs are needed.
*
*/
-class nsNameSpaceManager
+class nsNameSpaceManager MOZ_FINAL
{
public:
virtual ~nsNameSpaceManager() {}
virtual nsresult RegisterNameSpace(const nsAString& aURI,
int32_t& aNameSpaceID);
virtual nsresult GetNameSpaceURI(int32_t aNameSpaceID, nsAString& aURI);
--- a/content/base/src/WebSocket.h
+++ b/content/base/src/WebSocket.h
@@ -27,22 +27,22 @@
#include "nsWrapperCache.h"
#define DEFAULT_WS_SCHEME_PORT 80
#define DEFAULT_WSS_SCHEME_PORT 443
namespace mozilla {
namespace dom {
-class WebSocket : public DOMEventTargetHelper,
- public nsIInterfaceRequestor,
- public nsIWebSocketListener,
- public nsIObserver,
- public nsSupportsWeakReference,
- public nsIRequest
+class WebSocket MOZ_FINAL : public DOMEventTargetHelper,
+ public nsIInterfaceRequestor,
+ public nsIWebSocketListener,
+ public nsIObserver,
+ public nsSupportsWeakReference,
+ public nsIRequest
{
friend class CallDispatchConnectionCloseEvents;
friend class nsAutoCloseWS;
public:
enum {
CONNECTING = 0,
OPEN = 1,
--- a/content/base/src/nsXMLHttpRequest.h
+++ b/content/base/src/nsXMLHttpRequest.h
@@ -174,26 +174,26 @@ public:
private:
virtual ~nsXMLHttpRequestUpload() {}
};
class nsXMLHttpRequestXPCOMifier;
// Make sure that any non-DOM interfaces added here are also added to
// nsXMLHttpRequestXPCOMifier.
-class nsXMLHttpRequest : public nsXHREventTarget,
- public nsIXMLHttpRequest,
- public nsIJSXMLHttpRequest,
- public nsIStreamListener,
- public nsIChannelEventSink,
- public nsIProgressEventSink,
- public nsIInterfaceRequestor,
- public nsSupportsWeakReference,
- public nsITimerCallback,
- public nsISizeOfEventTarget
+class nsXMLHttpRequest MOZ_FINAL : public nsXHREventTarget,
+ public nsIXMLHttpRequest,
+ public nsIJSXMLHttpRequest,
+ public nsIStreamListener,
+ public nsIChannelEventSink,
+ public nsIProgressEventSink,
+ public nsIInterfaceRequestor,
+ public nsSupportsWeakReference,
+ public nsITimerCallback,
+ public nsISizeOfEventTarget
{
friend class nsXHRParseEndListener;
friend class nsXMLHttpRequestXPCOMifier;
public:
nsXMLHttpRequest();
virtual JSObject* WrapObject(JSContext *cx) MOZ_OVERRIDE
--- a/content/html/content/src/HTMLOptionsCollection.h
+++ b/content/html/content/src/HTMLOptionsCollection.h
@@ -24,19 +24,19 @@ namespace mozilla {
namespace dom {
class HTMLSelectElement;
/**
* The collection of options in the select (what you get back when you do
* select.options in DOM)
*/
-class HTMLOptionsCollection : public nsIHTMLCollection
- , public nsIDOMHTMLOptionsCollection
- , public nsWrapperCache
+class HTMLOptionsCollection MOZ_FINAL : public nsIHTMLCollection
+ , public nsIDOMHTMLOptionsCollection
+ , public nsWrapperCache
{
typedef HTMLOptionElementOrHTMLOptGroupElement HTMLOptionOrOptGroupElement;
public:
HTMLOptionsCollection(HTMLSelectElement* aSelect);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
// nsWrapperCache
--- a/content/media/ogg/OggReader.h
+++ b/content/media/ogg/OggReader.h
@@ -40,17 +40,17 @@ class OggCodecStore
private:
// Maps Ogg serialnos to OggStreams.
nsClassHashtable<nsUint32HashKey, OggCodecState> mCodecStates;
// Protects the |mCodecStates| and the |mKnownStreams| members.
Monitor mMonitor;
};
-class OggReader : public MediaDecoderReader
+class OggReader MOZ_FINAL : public MediaDecoderReader
{
public:
OggReader(AbstractMediaDecoder* aDecoder);
protected:
~OggReader();
public:
--- a/content/svg/content/src/SVGMotionSMILAnimationFunction.h
+++ b/content/svg/content/src/SVGMotionSMILAnimationFunction.h
@@ -26,17 +26,17 @@ class SVGMPathElement;
}
//----------------------------------------------------------------------
// SVGMotionSMILAnimationFunction
//
// Subclass of nsSMILAnimationFunction to support a few extra features offered
// by the <animateMotion> element.
//
-class SVGMotionSMILAnimationFunction : public nsSMILAnimationFunction
+class SVGMotionSMILAnimationFunction MOZ_FINAL : public nsSMILAnimationFunction
{
typedef mozilla::gfx::Path Path;
public:
SVGMotionSMILAnimationFunction();
virtual bool SetAttr(nsIAtom* aAttribute,
const nsAString& aValue,
nsAttrValue& aResult,
--- a/docshell/base/nsDocShell.h
+++ b/docshell/base/nsDocShell.h
@@ -118,34 +118,34 @@ typedef enum {
eCharsetReloadRequested,
eCharsetReloadStopOrigional
} eCharsetReloadState;
//*****************************************************************************
//*** nsDocShell
//*****************************************************************************
-class nsDocShell : public nsDocLoader,
- public nsIDocShell,
- public nsIWebNavigation,
- public nsIBaseWindow,
- public nsIScrollable,
- public nsITextScroll,
- public nsIDocCharset,
- public nsIContentViewerContainer,
- public nsIRefreshURI,
- public nsIWebProgressListener,
- public nsIWebPageDescriptor,
- public nsIAuthPromptProvider,
- public nsILoadContext,
- public nsIWebShellServices,
- public nsILinkHandler,
- public nsIClipboardCommands,
- public nsIDOMStorageManager,
- public mozilla::SupportsWeakPtr<nsDocShell>
+class nsDocShell MOZ_FINAL : public nsDocLoader,
+ public nsIDocShell,
+ public nsIWebNavigation,
+ public nsIBaseWindow,
+ public nsIScrollable,
+ public nsITextScroll,
+ public nsIDocCharset,
+ public nsIContentViewerContainer,
+ public nsIRefreshURI,
+ public nsIWebProgressListener,
+ public nsIWebPageDescriptor,
+ public nsIAuthPromptProvider,
+ public nsILoadContext,
+ public nsIWebShellServices,
+ public nsILinkHandler,
+ public nsIClipboardCommands,
+ public nsIDOMStorageManager,
+ public mozilla::SupportsWeakPtr<nsDocShell>
{
friend class nsDSURIContentListener;
public:
MOZ_DECLARE_REFCOUNTED_TYPENAME(nsDocShell)
// Object Management
nsDocShell();
--- a/docshell/shistory/src/nsSHistory.h
+++ b/docshell/shistory/src/nsSHistory.h
@@ -22,20 +22,20 @@
#include "prclist.h"
class nsIDocShell;
class nsSHEnumerator;
class nsSHistoryObserver;
class nsISHEntry;
class nsISHTransaction;
-class nsSHistory: public PRCList,
- public nsISHistory,
- public nsISHistoryInternal,
- public nsIWebNavigation
+class nsSHistory MOZ_FINAL : public PRCList,
+ public nsISHistory,
+ public nsISHistoryInternal,
+ public nsIWebNavigation
{
public:
nsSHistory();
NS_DECL_ISUPPORTS
NS_DECL_NSISHISTORY
NS_DECL_NSISHISTORYINTERNAL
NS_DECL_NSIWEBNAVIGATION
--- a/dom/base/Navigator.h
+++ b/dom/base/Navigator.h
@@ -100,19 +100,19 @@ class TimeManager;
} // namespace time
namespace system {
#ifdef MOZ_AUDIO_CHANNEL_MANAGER
class AudioChannelManager;
#endif
} // namespace system
-class Navigator : public nsIDOMNavigator
- , public nsIMozNavigatorNetwork
- , public nsWrapperCache
+class Navigator MOZ_FINAL : public nsIDOMNavigator
+ , public nsIMozNavigatorNetwork
+ , public nsWrapperCache
{
public:
Navigator(nsPIDOMWindow *aInnerWindow);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_AMBIGUOUS(Navigator,
nsIDOMNavigator)
NS_DECL_NSIDOMNAVIGATOR
--- a/dom/canvas/CanvasRenderingContext2D.h
+++ b/dom/canvas/CanvasRenderingContext2D.h
@@ -107,17 +107,17 @@ private:
};
struct CanvasBidiProcessor;
class CanvasRenderingContext2DUserData;
/**
** CanvasRenderingContext2D
**/
-class CanvasRenderingContext2D :
+class CanvasRenderingContext2D MOZ_FINAL :
public nsICanvasRenderingContextInternal,
public nsWrapperCache
{
typedef HTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement
HTMLImageOrCanvasOrVideoElement;
virtual ~CanvasRenderingContext2D();
--- a/dom/indexedDB/IDBDatabase.h
+++ b/dom/indexedDB/IDBDatabase.h
@@ -43,18 +43,18 @@ class IDBFactory;
class IDBIndex;
class IDBObjectStore;
class IDBTransaction;
class IndexedDatabaseManager;
class IndexedDBDatabaseChild;
class IndexedDBDatabaseParent;
struct ObjectStoreInfoGuts;
-class IDBDatabase : public IDBWrapperCache,
- public nsIOfflineStorage
+class IDBDatabase MOZ_FINAL : public IDBWrapperCache,
+ public nsIOfflineStorage
{
friend class AsyncConnectionHelper;
friend class IndexedDatabaseManager;
friend class IndexedDBDatabaseParent;
friend class IndexedDBDatabaseChild;
public:
NS_DECL_ISUPPORTS_INHERITED
--- a/dom/ipc/ContentParent.h
+++ b/dom/ipc/ContentParent.h
@@ -60,21 +60,21 @@ class Element;
class TabParent;
class PStorageParent;
class ClonedMessageData;
class MemoryReport;
class TabContext;
class PFileDescriptorSetParent;
class ContentBridgeParent;
-class ContentParent : public PContentParent
- , public nsIContentParent
- , public nsIObserver
- , public nsIDOMGeoPositionCallback
- , public mozilla::LinkedListElement<ContentParent>
+class ContentParent MOZ_FINAL : public PContentParent
+ , public nsIContentParent
+ , public nsIObserver
+ , public nsIDOMGeoPositionCallback
+ , public mozilla::LinkedListElement<ContentParent>
{
typedef mozilla::ipc::GeckoChildProcessHost GeckoChildProcessHost;
typedef mozilla::ipc::OptionalURIParams OptionalURIParams;
typedef mozilla::ipc::TestShellParent TestShellParent;
typedef mozilla::ipc::URIParams URIParams;
typedef mozilla::dom::ClonedMessageData ClonedMessageData;
public:
--- a/dom/ipc/TabChild.h
+++ b/dom/ipc/TabChild.h
@@ -221,30 +221,30 @@ protected:
CSSSize mOldViewportSize;
bool mContentDocumentIsDisplayed;
nsRefPtr<TabChildGlobal> mTabChildGlobal;
ScreenIntSize mInnerSize;
mozilla::layers::FrameMetrics mLastRootMetrics;
mozilla::layout::ScrollingBehavior mScrolling;
};
-class TabChild : public TabChildBase,
- public PBrowserChild,
- public nsIWebBrowserChrome2,
- public nsIEmbeddingSiteWindow,
- public nsIWebBrowserChromeFocus,
- public nsIInterfaceRequestor,
- public nsIWindowProvider,
- public nsIDOMEventListener,
- public nsIWebProgressListener,
- public nsSupportsWeakReference,
- public nsITabChild,
- public nsIObserver,
- public TabContext,
- public nsITooltipListener
+class TabChild MOZ_FINAL : public TabChildBase,
+ public PBrowserChild,
+ public nsIWebBrowserChrome2,
+ public nsIEmbeddingSiteWindow,
+ public nsIWebBrowserChromeFocus,
+ public nsIInterfaceRequestor,
+ public nsIWindowProvider,
+ public nsIDOMEventListener,
+ public nsIWebProgressListener,
+ public nsSupportsWeakReference,
+ public nsITabChild,
+ public nsIObserver,
+ public TabContext,
+ public nsITooltipListener
{
typedef mozilla::dom::ClonedMessageData ClonedMessageData;
typedef mozilla::layout::RenderFrameChild RenderFrameChild;
typedef mozilla::layout::ScrollingBehavior ScrollingBehavior;
typedef mozilla::layers::ActiveElementManager ActiveElementManager;
public:
static std::map<uint64_t, nsRefPtr<TabChild> >& NestedTabChildMap();
--- a/dom/plugins/base/nsPluginInstanceOwner.h
+++ b/dom/plugins/base/nsPluginInstanceOwner.h
@@ -39,20 +39,20 @@ struct MozPluginParameter;
class gfxXlibSurface;
#ifdef MOZ_WIDGET_QT
#include "gfxQtNativeRenderer.h"
#else
#include "gfxXlibNativeRenderer.h"
#endif
#endif
-class nsPluginInstanceOwner : public nsIPluginInstanceOwner,
- public nsIDOMEventListener,
- public nsIPrivacyTransitionObserver,
- public nsSupportsWeakReference
+class nsPluginInstanceOwner MOZ_FINAL : public nsIPluginInstanceOwner,
+ public nsIDOMEventListener,
+ public nsIPrivacyTransitionObserver,
+ public nsSupportsWeakReference
{
public:
nsPluginInstanceOwner();
NS_DECL_ISUPPORTS
NS_DECL_NSIPLUGININSTANCEOWNER
NS_DECL_NSIPRIVACYTRANSITIONOBSERVER
--- a/dom/src/geolocation/nsGeolocation.cpp
+++ b/dom/src/geolocation/nsGeolocation.cpp
@@ -49,17 +49,17 @@ class nsIPrincipal;
// The settings key.
#define GEO_SETINGS_ENABLED "geolocation.enabled"
using mozilla::unused; // <snicker>
using namespace mozilla;
using namespace mozilla::dom;
-class nsGeolocationRequest
+class nsGeolocationRequest MOZ_FINAL
: public nsIContentPermissionRequest
, public nsITimerCallback
, public nsIGeolocationUpdate
{
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_NSICONTENTPERMISSIONREQUEST
NS_DECL_NSITIMERCALLBACK
--- a/editor/composer/nsEditorSpellCheck.h
+++ b/editor/composer/nsEditorSpellCheck.h
@@ -22,17 +22,17 @@ class nsITextServicesFilter;
#define NS_EDITORSPELLCHECK_CID \
{ /* {75656ad9-bd13-4c5d-939a-ec6351eea0cc} */ \
0x75656ad9, 0xbd13, 0x4c5d, \
{ 0x93, 0x9a, 0xec, 0x63, 0x51, 0xee, 0xa0, 0xcc }\
}
class DictionaryFetcher;
-class nsEditorSpellCheck : public nsIEditorSpellCheck
+class nsEditorSpellCheck MOZ_FINAL : public nsIEditorSpellCheck
{
friend class DictionaryFetcher;
public:
nsEditorSpellCheck();
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(nsEditorSpellCheck)
--- a/editor/libeditor/nsHTMLEditor.h
+++ b/editor/libeditor/nsHTMLEditor.h
@@ -58,25 +58,25 @@ namespace widget {
struct IMEState;
} // namespace widget
} // namespace mozilla
/**
* The HTML editor implementation.<br>
* Use to edit HTML document represented as a DOM tree.
*/
-class nsHTMLEditor : public nsPlaintextEditor,
- public nsIHTMLEditor,
- public nsIHTMLObjectResizer,
- public nsIHTMLAbsPosEditor,
- public nsITableEditor,
- public nsIHTMLInlineTableEditor,
- public nsIEditorStyleSheets,
- public nsICSSLoaderObserver,
- public nsStubMutationObserver
+class nsHTMLEditor MOZ_FINAL : public nsPlaintextEditor,
+ public nsIHTMLEditor,
+ public nsIHTMLObjectResizer,
+ public nsIHTMLAbsPosEditor,
+ public nsITableEditor,
+ public nsIHTMLInlineTableEditor,
+ public nsIEditorStyleSheets,
+ public nsICSSLoaderObserver,
+ public nsStubMutationObserver
{
typedef enum {eNoOp, eReplaceParent=1, eInsertParent=2} BlockTransformationType;
public:
enum ResizingRequestID
{
kX = 0,
--- a/editor/txmgr/nsTransactionItem.h
+++ b/editor/txmgr/nsTransactionItem.h
@@ -11,17 +11,17 @@
#include "nsCycleCollectionParticipant.h"
#include "nsISupportsImpl.h"
#include "nscore.h"
class nsITransaction;
class nsTransactionManager;
class nsTransactionStack;
-class nsTransactionItem
+class nsTransactionItem MOZ_FINAL
{
nsCOMArray<nsISupports> mData;
nsCOMPtr<nsITransaction> mTransaction;
nsTransactionStack *mUndoStack;
nsTransactionStack *mRedoStack;
public:
--- a/editor/txmgr/nsTransactionManager.h
+++ b/editor/txmgr/nsTransactionManager.h
@@ -18,18 +18,18 @@
class nsITransaction;
class nsITransactionListener;
class nsTransactionItem;
/** implementation of a transaction manager object.
*
*/
-class nsTransactionManager : public nsITransactionManager
- , public nsSupportsWeakReference
+class nsTransactionManager MOZ_FINAL : public nsITransactionManager
+ , public nsSupportsWeakReference
{
private:
int32_t mMaxTransactionCount;
nsTransactionStack mDoStack;
nsTransactionStack mUndoStack;
nsTransactionStack mRedoStack;
nsCOMArray<nsITransactionListener> mListeners;
--- a/embedding/browser/nsWebBrowser.h
+++ b/embedding/browser/nsWebBrowser.h
@@ -67,28 +67,28 @@ public:
nsIID mID;
};
// {cda5863a-aa9c-411e-be49-ea0d525ab4b5} -
#define NS_WEBBROWSER_CID \
{0xcda5863a, 0xaa9c, 0x411e, { 0xbe, 0x49, 0xea, 0x0d, 0x52, 0x5a, 0xb4, 0xb5 }}
-class nsWebBrowser : public nsIWebBrowser,
- public nsIWebNavigation,
- public nsIWebBrowserSetup,
- public nsIDocShellTreeItem,
- public nsIBaseWindow,
- public nsIScrollable,
- public nsITextScroll,
- public nsIInterfaceRequestor,
- public nsIWebBrowserPersist,
- public nsIWebBrowserFocus,
- public nsIWebProgressListener,
- public nsIWebBrowserStream,
+class nsWebBrowser MOZ_FINAL : public nsIWebBrowser,
+ public nsIWebNavigation,
+ public nsIWebBrowserSetup,
+ public nsIDocShellTreeItem,
+ public nsIBaseWindow,
+ public nsIScrollable,
+ public nsITextScroll,
+ public nsIInterfaceRequestor,
+ public nsIWebBrowserPersist,
+ public nsIWebBrowserFocus,
+ public nsIWebProgressListener,
+ public nsIWebBrowserStream,
public nsIWidgetListener,
public nsSupportsWeakReference
{
friend class nsDocShellTreeOwner;
public:
nsWebBrowser();
NS_DECL_ISUPPORTS
--- a/gfx/gl/GLTextureImage.h
+++ b/gfx/gl/GLTextureImage.h
@@ -307,17 +307,17 @@ protected:
nsIntPoint mUpdateOffset;
};
/**
* A container class that complements many sub TextureImages into a big TextureImage.
* Aims to behave just like the real thing.
*/
-class TiledTextureImage
+class TiledTextureImage MOZ_FINAL
: public TextureImage
{
public:
TiledTextureImage(GLContext* aGL,
gfx::IntSize aSize,
TextureImage::ContentType,
TextureImage::Flags aFlags = TextureImage::NoFlags,
TextureImage::ImageFormat aImageFormat = gfxImageFormat::Unknown);
--- a/gfx/gl/TextureImageEGL.h
+++ b/gfx/gl/TextureImageEGL.h
@@ -6,17 +6,17 @@
#ifndef TEXTUREIMAGEEGL_H_
#define TEXTUREIMAGEEGL_H_
#include "GLTextureImage.h"
namespace mozilla {
namespace gl {
-class TextureImageEGL
+class TextureImageEGL MOZ_FINAL
: public TextureImage
{
public:
TextureImageEGL(GLuint aTexture,
const nsIntSize& aSize,
GLenum aWrapMode,
ContentType aContentType,
GLContext* aContext,
--- a/gfx/layers/ImageContainer.h
+++ b/gfx/layers/ImageContainer.h
@@ -860,18 +860,18 @@ protected:
nsRefPtr<BufferRecycleBin> mRecycleBin;
};
/**
* Currently, the data in a CairoImage surface is treated as being in the
* device output color space. This class is very simple as all backends
* have to know about how to deal with drawing a cairo image.
*/
-class CairoImage : public Image,
- public ISharedImage {
+class CairoImage MOZ_FINAL : public Image,
+ public ISharedImage {
public:
struct Data {
gfx::IntSize mSize;
RefPtr<gfx::SourceSurface> mSourceSurface;
};
/**
* This can only be called on the main thread. It may add a reference
--- a/gfx/layers/basic/BasicLayers.h
+++ b/gfx/layers/basic/BasicLayers.h
@@ -36,17 +36,17 @@ class ReadbackProcessor;
/**
* This is a cairo/Thebes-only, main-thread-only implementation of layers.
*
* In each transaction, the client sets up the layer tree and then during
* the drawing phase, each ThebesLayer is painted directly into the target
* context (with appropriate clipping and Push/PopGroups performed
* between layers).
*/
-class BasicLayerManager :
+class BasicLayerManager MOZ_FINAL :
public LayerManager
{
public:
enum BasicLayerManagerType {
BLM_WIDGET,
BLM_OFFSCREEN,
BLM_INACTIVE
};
--- a/gfx/layers/client/ClientLayerManager.h
+++ b/gfx/layers/client/ClientLayerManager.h
@@ -33,17 +33,17 @@ namespace layers {
class ClientThebesLayer;
class CompositorChild;
class ImageLayer;
class PLayerChild;
class TextureClientPool;
class SimpleTextureClientPool;
-class ClientLayerManager : public LayerManager
+class ClientLayerManager MOZ_FINAL : public LayerManager
{
typedef nsTArray<nsRefPtr<Layer> > LayerRefArray;
public:
explicit ClientLayerManager(nsIWidget* aWidget);
protected:
virtual ~ClientLayerManager();
--- a/gfx/layers/client/ContentClient.h
+++ b/gfx/layers/client/ContentClient.h
@@ -118,18 +118,18 @@ public:
{}
virtual void Updated(const nsIntRegion& aRegionToDraw,
const nsIntRegion& aVisibleRegion,
bool aDidSelfCopy) = 0;
};
// thin wrapper around RotatedContentBuffer, for on-mtc
-class ContentClientBasic : public ContentClient
- , protected RotatedContentBuffer
+class ContentClientBasic MOZ_FINAL : public ContentClient
+ , protected RotatedContentBuffer
{
public:
ContentClientBasic();
typedef RotatedContentBuffer::PaintState PaintState;
typedef RotatedContentBuffer::ContentType ContentType;
virtual void Clear() { RotatedContentBuffer::Clear(); }
--- a/gfx/layers/composite/LayerManagerComposite.h
+++ b/gfx/layers/composite/LayerManagerComposite.h
@@ -61,17 +61,17 @@ class LayerComposite;
class RefLayerComposite;
class SurfaceDescriptor;
class ThebesLayerComposite;
class TiledLayerComposer;
class TextRenderer;
class CompositingRenderTarget;
struct FPSState;
-class LayerManagerComposite : public LayerManager
+class LayerManagerComposite MOZ_FINAL : public LayerManager
{
typedef mozilla::gfx::DrawTarget DrawTarget;
typedef mozilla::gfx::IntSize IntSize;
typedef mozilla::gfx::SurfaceFormat SurfaceFormat;
public:
explicit LayerManagerComposite(Compositor* aCompositor);
~LayerManagerComposite();
--- a/gfx/layers/ipc/CompositorParent.h
+++ b/gfx/layers/ipc/CompositorParent.h
@@ -82,18 +82,18 @@ private:
base::Thread* const mCompositorThread;
static base::Thread* CreateCompositorThread();
static void DestroyCompositorThread(base::Thread* aCompositorThread);
friend class CompositorParent;
};
-class CompositorParent : public PCompositorParent,
- public ShadowLayersManager
+class CompositorParent MOZ_FINAL : public PCompositorParent,
+ public ShadowLayersManager
{
NS_INLINE_DECL_THREADSAFE_REFCOUNTING_WITH_MAIN_THREAD_DESTRUCTION(CompositorParent)
public:
explicit CompositorParent(nsIWidget* aWidget,
bool aUseExternalSurfaceSize = false,
int aSurfaceWidth = -1, int aSurfaceHeight = -1);
--- a/gfx/layers/ipc/ImageBridgeParent.h
+++ b/gfx/layers/ipc/ImageBridgeParent.h
@@ -32,18 +32,18 @@ class Shmem;
namespace layers {
/**
* ImageBridgeParent is the manager Protocol of ImageContainerParent.
* It's purpose is mainly to setup the IPDL connection. Most of the
* interesting stuff is in ImageContainerParent.
*/
-class ImageBridgeParent : public PImageBridgeParent,
- public CompositableParentManager
+class ImageBridgeParent MOZ_FINAL : public PImageBridgeParent,
+ public CompositableParentManager
{
public:
typedef InfallibleTArray<CompositableOperation> EditArray;
typedef InfallibleTArray<EditReply> EditReplyArray;
typedef InfallibleTArray<AsyncChildMessageData> AsyncChildMessageArray;
ImageBridgeParent(MessageLoop* aLoop, Transport* aTransport, ProcessId aChildProcessId);
~ImageBridgeParent();
--- a/gfx/layers/opengl/TextureHostOGL.h
+++ b/gfx/layers/opengl/TextureHostOGL.h
@@ -202,19 +202,19 @@ protected:
* A TextureSource backed by a TextureImage.
*
* Depending on the underlying TextureImage, may support texture tiling, so
* make sure to check AsBigImageIterator() and use the texture accordingly.
*
* This TextureSource can be used without a TextureHost and manage it's own
* GL texture(s).
*/
-class TextureImageTextureSourceOGL : public DataTextureSource
- , public TextureSourceOGL
- , public BigImageIterator
+class TextureImageTextureSourceOGL MOZ_FINAL : public DataTextureSource
+ , public TextureSourceOGL
+ , public BigImageIterator
{
public:
explicit TextureImageTextureSourceOGL(gl::GLContext* aGL,
TextureFlags aFlags = TextureFlags::DEFAULT)
: mGL(aGL)
, mFlags(aFlags)
, mIterating(false)
{}
--- a/gfx/src/gfxCrashReporterUtils.cpp
+++ b/gfx/src/gfxCrashReporterUtils.cpp
@@ -29,17 +29,17 @@
#include "nsTArray.h" // for nsTArray
#include "nsThreadUtils.h" // for NS_DispatchToMainThread, etc
#include "nscore.h" // for NS_IMETHOD, NS_IMETHODIMP, etc
namespace mozilla {
static nsTArray<nsCString> *gFeaturesAlreadyReported = nullptr;
-class ObserverToDestroyFeaturesAlreadyReported : public nsIObserver
+class ObserverToDestroyFeaturesAlreadyReported MOZ_FINAL : public nsIObserver
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIOBSERVER
ObserverToDestroyFeaturesAlreadyReported() {}
private:
--- a/gfx/thebes/gfxXlibSurface.h
+++ b/gfx/thebes/gfxXlibSurface.h
@@ -12,17 +12,17 @@
#include <X11/Xlib.h>
#if defined(GL_PROVIDER_GLX)
#include "GLXLibrary.h"
#endif
#include "nsSize.h"
-class gfxXlibSurface : public gfxASurface {
+class gfxXlibSurface MOZ_FINAL : public gfxASurface {
public:
// construct a wrapper around the specified drawable with dpy/visual.
// Will use XGetGeometry to query the window/pixmap size.
gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual);
// construct a wrapper around the specified drawable with dpy/visual,
// and known width/height.
gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual, const gfxIntSize& size);
--- a/image/decoders/icon/nsIconURI.h
+++ b/image/decoders/icon/nsIconURI.h
@@ -14,17 +14,17 @@
#define NS_MOZICONURI_CID \
{ \
0x43a88e0e, \
0x2d37, \
0x11d5, \
{ 0x99, 0x7, 0x0, 0x10, 0x83, 0x1, 0xe, 0x9b } \
}
-class nsMozIconURI : public nsIMozIconURI
+class nsMozIconURI MOZ_FINAL : public nsIMozIconURI
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIURI
NS_DECL_NSIMOZICONURI
// nsMozIconURI
nsMozIconURI();
--- a/image/src/RasterImage.h
+++ b/image/src/RasterImage.h
@@ -130,21 +130,21 @@ class Image;
}
namespace image {
class ScaleRequest;
class Decoder;
class FrameAnimator;
-class RasterImage : public ImageResource
- , public nsIProperties
- , public SupportsWeakPtr<RasterImage>
+class RasterImage MOZ_FINAL : public ImageResource
+ , public nsIProperties
+ , public SupportsWeakPtr<RasterImage>
#ifdef DEBUG
- , public imgIContainerDebug
+ , public imgIContainerDebug
#endif
{
// (no public constructor - use ImageFactory)
virtual ~RasterImage();
public:
MOZ_DECLARE_REFCOUNTED_TYPENAME(RasterImage)
NS_DECL_THREADSAFE_ISUPPORTS
--- a/image/src/SurfaceCache.cpp
+++ b/image/src/SurfaceCache.cpp
@@ -202,17 +202,17 @@ private:
/*
* SurfaceCacheImpl is responsible for determining which surfaces will be cached
* and managing the surface cache data structures. Rather than interact with
* SurfaceCacheImpl directly, client code interacts with SurfaceCache, which
* maintains high-level invariants and encapsulates the details of the surface
* cache's implementation.
*/
-class SurfaceCacheImpl : public nsIMemoryReporter
+class SurfaceCacheImpl MOZ_FINAL : public nsIMemoryReporter
{
public:
NS_DECL_ISUPPORTS
SurfaceCacheImpl(uint32_t aSurfaceCacheExpirationTimeMS,
uint32_t aSurfaceCacheSize)
: mExpirationTracker(MOZ_THIS_IN_INITIALIZER_LIST(),
aSurfaceCacheExpirationTimeMS)
--- a/image/src/VectorImage.h
+++ b/image/src/VectorImage.h
@@ -21,18 +21,18 @@ class ImageContainer;
namespace image {
struct SVGDrawingParameters;
class SVGDocumentWrapper;
class SVGRootRenderingObserver;
class SVGLoadEventListener;
class SVGParseCompleteListener;
-class VectorImage : public ImageResource,
- public nsIStreamListener
+class VectorImage MOZ_FINAL : public ImageResource,
+ public nsIStreamListener
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSISTREAMLISTENER
NS_DECL_IMGICONTAINER
// (no public constructor - use ImageFactory)
--- a/image/src/imgLoader.h
+++ b/image/src/imgLoader.h
@@ -200,21 +200,21 @@ public:
const_iterator end() const;
private:
queueContainer mQueue;
bool mDirty;
uint32_t mSize;
};
-class imgLoader : public imgILoader,
- public nsIContentSniffer,
- public imgICache,
- public nsSupportsWeakReference,
- public nsIObserver
+class imgLoader MOZ_FINAL : public imgILoader,
+ public nsIContentSniffer,
+ public imgICache,
+ public nsSupportsWeakReference,
+ public nsIObserver
{
virtual ~imgLoader();
public:
typedef mozilla::image::ImageURL ImageURL;
typedef nsRefPtrHashtable<nsCStringHashKey, imgCacheEntry> imgCacheTable;
NS_DECL_ISUPPORTS
--- a/image/src/imgRequest.h
+++ b/image/src/imgRequest.h
@@ -35,21 +35,21 @@ class nsIURI;
namespace mozilla {
namespace image {
class Image;
class ImageURL;
} // namespace image
} // namespace mozilla
-class imgRequest : public nsIStreamListener,
- public nsIThreadRetargetableStreamListener,
- public nsIChannelEventSink,
- public nsIInterfaceRequestor,
- public nsIAsyncVerifyRedirectCallback
+class imgRequest MOZ_FINAL : public nsIStreamListener,
+ public nsIThreadRetargetableStreamListener,
+ public nsIChannelEventSink,
+ public nsIInterfaceRequestor,
+ public nsIAsyncVerifyRedirectCallback
{
virtual ~imgRequest();
public:
typedef mozilla::image::ImageURL ImageURL;
explicit imgRequest(imgLoader* aLoader);
NS_DECL_THREADSAFE_ISUPPORTS
--- a/image/src/imgTools.h
+++ b/image/src/imgTools.h
@@ -9,17 +9,17 @@
#define NS_IMGTOOLS_CID \
{ /* 3d8fa16d-c9e1-4b50-bdef-2c7ae249967a */ \
0x3d8fa16d, \
0xc9e1, \
0x4b50, \
{0xbd, 0xef, 0x2c, 0x7a, 0xe2, 0x49, 0x96, 0x7a} \
}
-class imgTools : public imgITools
+class imgTools MOZ_FINAL : public imgITools
{
public:
NS_DECL_ISUPPORTS
NS_DECL_IMGITOOLS
imgTools();
private:
--- a/js/xpconnect/src/XPCComponents.cpp
+++ b/js/xpconnect/src/XPCComponents.cpp
@@ -90,17 +90,17 @@ xpc::CheckAccessList(const char16_t *wid
return nullptr;
}
/***************************************************************************/
/***************************************************************************/
/***************************************************************************/
-class nsXPCComponents_Interfaces :
+class nsXPCComponents_Interfaces MOZ_FINAL :
public nsIXPCComponents_Interfaces,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_INTERFACES
@@ -341,17 +341,17 @@ nsXPCComponents_Interfaces::NewResolve(n
}
return NS_OK;
}
/***************************************************************************/
/***************************************************************************/
/***************************************************************************/
-class nsXPCComponents_InterfacesByID :
+class nsXPCComponents_InterfacesByID MOZ_FINAL :
public nsIXPCComponents_InterfacesByID,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_INTERFACESBYID
@@ -598,17 +598,17 @@ nsXPCComponents_InterfacesByID::NewResol
}
/***************************************************************************/
/***************************************************************************/
/***************************************************************************/
-class nsXPCComponents_Classes :
+class nsXPCComponents_Classes MOZ_FINAL :
public nsIXPCComponents_Classes,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_CLASSES
@@ -839,17 +839,17 @@ nsXPCComponents_Classes::NewResolve(nsIX
}
return NS_OK;
}
/***************************************************************************/
/***************************************************************************/
/***************************************************************************/
-class nsXPCComponents_ClassesByID :
+class nsXPCComponents_ClassesByID MOZ_FINAL :
public nsIXPCComponents_ClassesByID,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_CLASSESBYID
@@ -1102,17 +1102,17 @@ nsXPCComponents_ClassesByID::NewResolve(
}
/***************************************************************************/
// Currently the possible results do not change at runtime, so they are only
// cached once (unlike ContractIDs, CLSIDs, and IIDs)
-class nsXPCComponents_Results :
+class nsXPCComponents_Results MOZ_FINAL :
public nsIXPCComponents_Results,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_RESULTS
@@ -1322,17 +1322,17 @@ nsXPCComponents_Results::NewResolve(nsIX
}
}
return NS_OK;
}
/***************************************************************************/
// JavaScript Constructor for nsIJSID objects (Components.ID)
-class nsXPCComponents_ID :
+class nsXPCComponents_ID MOZ_FINAL :
public nsIXPCComponents_ID,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_ID
@@ -1539,17 +1539,17 @@ nsXPCComponents_ID::HasInstance(nsIXPCon
if (bp)
*bp = JSValIsInterfaceOfType(cx, val, NS_GET_IID(nsIJSID));
return NS_OK;
}
/***************************************************************************/
// JavaScript Constructor for nsIXPCException objects (Components.Exception)
-class nsXPCComponents_Exception :
+class nsXPCComponents_Exception MOZ_FINAL :
public nsIXPCComponents_Exception,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_EXCEPTION
@@ -2185,17 +2185,17 @@ nsXPCConstructor::CallOrConstruct(nsIXPC
}
return NS_OK;
}
/*******************************************************/
// JavaScript Constructor for nsIXPCConstructor objects (Components.Constructor)
-class nsXPCComponents_Constructor :
+class nsXPCComponents_Constructor MOZ_FINAL :
public nsIXPCComponents_Constructor,
public nsIXPCScriptable,
public nsIClassInfo
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCCOMPONENTS_CONSTRUCTOR
@@ -2500,17 +2500,17 @@ nsXPCComponents_Constructor::HasInstance
HandleValue val, bool *bp,
bool *_retval)
{
if (bp)
*bp = JSValIsInterfaceOfType(cx, val, NS_GET_IID(nsIXPCConstructor));
return NS_OK;
}
-class nsXPCComponents_Utils :
+class nsXPCComponents_Utils MOZ_FINAL :
public nsIXPCComponents_Utils,
public nsIXPCScriptable
{
public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCSCRIPTABLE
NS_DECL_NSIXPCCOMPONENTS_UTILS
--- a/layout/base/nsCaret.h
+++ b/layout/base/nsCaret.h
@@ -29,17 +29,17 @@ class nsRenderingContext;
namespace mozilla {
namespace dom {
class Selection;
}
}
//-----------------------------------------------------------------------------
-class nsCaret : public nsISelectionListener
+class nsCaret MOZ_FINAL : public nsISelectionListener
{
public:
nsCaret();
protected:
virtual ~nsCaret();
public:
--- a/layout/base/nsDisplayList.h
+++ b/layout/base/nsDisplayList.h
@@ -2331,17 +2331,17 @@ public:
const ContainerLayerParameters& aContainerParameters) MOZ_OVERRIDE;
NS_DISPLAY_DECL_NAME("ClearBackground", TYPE_CLEAR_BACKGROUND)
};
/**
* The standard display item to paint the outer CSS box-shadows of a frame.
*/
-class nsDisplayBoxShadowOuter : public nsDisplayItem {
+class nsDisplayBoxShadowOuter MOZ_FINAL : public nsDisplayItem {
public:
nsDisplayBoxShadowOuter(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame)
: nsDisplayItem(aBuilder, aFrame)
, mOpacity(1.0) {
MOZ_COUNT_CTOR(nsDisplayBoxShadowOuter);
mBounds = GetBoundsInternal();
}
#ifdef NS_BUILD_REFCNT_LOGGING
--- a/layout/base/nsPresShell.h
+++ b/layout/base/nsPresShell.h
@@ -51,20 +51,20 @@ class nsAutoCauseReflowNotifier;
namespace mozilla {
class CSSStyleSheet;
} // namespace mozilla
// 250ms. This is actually pref-controlled, but we use this value if we fail
// to get the pref for any reason.
#define PAINTLOCK_EVENT_DELAY 250
-class PresShell : public nsIPresShell,
- public nsStubDocumentObserver,
- public nsISelectionController, public nsIObserver,
- public nsSupportsWeakReference
+class PresShell MOZ_FINAL : public nsIPresShell,
+ public nsStubDocumentObserver,
+ public nsISelectionController, public nsIObserver,
+ public nsSupportsWeakReference
{
public:
PresShell();
NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW
// nsISupports
NS_DECL_ISUPPORTS
--- a/layout/base/nsRefreshDriver.cpp
+++ b/layout/base/nsRefreshDriver.cpp
@@ -426,17 +426,17 @@ protected:
* the timer is quiet and doesn't tick (until something is added to it again).
*
* When a timer is removed, there is a possibility of another timer
* being skipped for one cycle. We could avoid this by adjusting
* mNextDriverIndex in RemoveRefreshDriver, but there's little need to
* add that complexity. All we want is for inactive drivers to tick
* at some point, but we don't care too much about how often.
*/
-class InactiveRefreshDriverTimer :
+class InactiveRefreshDriverTimer MOZ_FINAL :
public RefreshDriverTimer
{
public:
InactiveRefreshDriverTimer(double aRate)
: RefreshDriverTimer(aRate),
mNextTickDuration(aRate),
mDisableAfterMilliseconds(-1.0),
mNextDriverIndex(0)
--- a/layout/forms/nsComboboxControlFrame.cpp
+++ b/layout/forms/nsComboboxControlFrame.cpp
@@ -355,17 +355,17 @@ nsComboboxControlFrame::ShowList(bool aS
if (widget) {
view->DestroyWidget();
}
}
return weakFrame.IsAlive();
}
-class nsResizeDropdownAtFinalPosition
+class nsResizeDropdownAtFinalPosition MOZ_FINAL
: public nsIReflowCallback, public nsRunnable
{
public:
nsResizeDropdownAtFinalPosition(nsComboboxControlFrame* aFrame)
: mFrame(aFrame)
{
MOZ_COUNT_CTOR(nsResizeDropdownAtFinalPosition);
}
--- a/layout/forms/nsComboboxControlFrame.h
+++ b/layout/forms/nsComboboxControlFrame.h
@@ -32,23 +32,23 @@
#include "nsThreadUtils.h"
class nsStyleContext;
class nsIListControlFrame;
class nsComboboxDisplayFrame;
class nsIDOMEventListener;
class nsIScrollableFrame;
-class nsComboboxControlFrame : public nsBlockFrame,
- public nsIFormControlFrame,
- public nsIComboboxControlFrame,
- public nsIAnonymousContentCreator,
- public nsISelectControlFrame,
- public nsIRollupListener,
- public nsIStatefulFrame
+class nsComboboxControlFrame MOZ_FINAL : public nsBlockFrame,
+ public nsIFormControlFrame,
+ public nsIComboboxControlFrame,
+ public nsIAnonymousContentCreator,
+ public nsISelectControlFrame,
+ public nsIRollupListener,
+ public nsIStatefulFrame
{
public:
friend nsContainerFrame* NS_NewComboboxControlFrame(nsIPresShell* aPresShell,
nsStyleContext* aContext,
nsFrameState aFlags);
friend class nsComboboxDisplayFrame;
nsComboboxControlFrame(nsStyleContext* aContext);
--- a/layout/forms/nsListControlFrame.h
+++ b/layout/forms/nsListControlFrame.h
@@ -41,20 +41,20 @@ class HTMLOptionElement;
class HTMLOptionsCollection;
} // namespace dom
} // namespace mozilla
/**
* Frame-based listbox.
*/
-class nsListControlFrame : public nsHTMLScrollFrame,
- public nsIFormControlFrame,
- public nsIListControlFrame,
- public nsISelectControlFrame
+class nsListControlFrame MOZ_FINAL : public nsHTMLScrollFrame,
+ public nsIFormControlFrame,
+ public nsIListControlFrame,
+ public nsISelectControlFrame
{
public:
friend nsContainerFrame* NS_NewListControlFrame(nsIPresShell* aPresShell,
nsStyleContext* aContext);
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
--- a/layout/forms/nsTextControlFrame.h
+++ b/layout/forms/nsTextControlFrame.h
@@ -19,20 +19,20 @@ class EditorInitializerEntryTracker;
class nsTextEditorState;
class nsIEditor;
namespace mozilla {
namespace dom {
class Element;
}
}
-class nsTextControlFrame : public nsContainerFrame,
- public nsIAnonymousContentCreator,
- public nsITextControlFrame,
- public nsIStatefulFrame
+class nsTextControlFrame MOZ_FINAL : public nsContainerFrame,
+ public nsIAnonymousContentCreator,
+ public nsITextControlFrame,
+ public nsIStatefulFrame
{
public:
NS_DECL_FRAMEARENA_HELPERS
NS_DECLARE_FRAME_PROPERTY(ContentScrollPos, DestroyPoint)
nsTextControlFrame(nsIPresShell* aShell, nsStyleContext* aContext);
virtual ~nsTextControlFrame();
--- a/layout/generic/ScrollbarActivity.h
+++ b/layout/generic/ScrollbarActivity.h
@@ -50,18 +50,18 @@ namespace layout {
* while they're being hovered / dragged. It also sets a sticky hover attribute
* on the most recently hovered scrollbar.
*
* ScrollbarActivity falls into hibernation after the scrollbars have faded
* out. It only starts acting after the next call to ActivityOccurred() /
* ActivityStarted().
*/
-class ScrollbarActivity : public nsIDOMEventListener,
- public nsARefreshObserver {
+class ScrollbarActivity MOZ_FINAL : public nsIDOMEventListener,
+ public nsARefreshObserver {
public:
ScrollbarActivity(nsIScrollbarOwner* aScrollableFrame)
: mScrollableFrame(aScrollableFrame)
, mNestedActivityCounter(0)
, mIsActive(false)
, mIsFading(false)
, mListeningForScrollbarEvents(false)
, mListeningForScrollAreaEvents(false)
--- a/layout/generic/Selection.h
+++ b/layout/generic/Selection.h
@@ -41,19 +41,19 @@ struct RangeData
// Note, the ownership of mozilla::dom::Selection depends on which way the
// object is created. When nsFrameSelection has created Selection,
// addreffing/releasing the Selection object is aggregated to nsFrameSelection.
// Otherwise normal addref/release is used. This ensures that nsFrameSelection
// is never deleted before its Selections.
namespace mozilla {
namespace dom {
-class Selection : public nsISelectionPrivate,
- public nsWrapperCache,
- public nsSupportsWeakReference
+class Selection MOZ_FINAL : public nsISelectionPrivate,
+ public nsWrapperCache,
+ public nsSupportsWeakReference
{
protected:
virtual ~Selection();
public:
Selection();
explicit Selection(nsFrameSelection *aList);
--- a/layout/generic/nsBulletFrame.cpp
+++ b/layout/generic/nsBulletFrame.cpp
@@ -190,17 +190,17 @@ public:
{
nsBulletFrame* f = static_cast<nsBulletFrame*>(aItem->Frame());
mOrdinal = f->GetOrdinal();
}
int32_t mOrdinal;
};
-class nsDisplayBullet : public nsDisplayItem {
+class nsDisplayBullet MOZ_FINAL : public nsDisplayItem {
public:
nsDisplayBullet(nsDisplayListBuilder* aBuilder, nsBulletFrame* aFrame) :
nsDisplayItem(aBuilder, aFrame) {
MOZ_COUNT_CTOR(nsDisplayBullet);
}
#ifdef NS_BUILD_REFCNT_LOGGING
virtual ~nsDisplayBullet() {
MOZ_COUNT_DTOR(nsDisplayBullet);
--- a/layout/generic/nsBulletFrame.h
+++ b/layout/generic/nsBulletFrame.h
@@ -13,17 +13,17 @@
#include "imgINotificationObserver.h"
class imgIContainer;
class imgRequestProxy;
class nsBulletFrame;
-class nsBulletListener : public imgINotificationObserver
+class nsBulletListener MOZ_FINAL : public imgINotificationObserver
{
public:
nsBulletListener();
NS_DECL_ISUPPORTS
NS_DECL_IMGINOTIFICATIONOBSERVER
void SetFrame(nsBulletFrame *frame) { mFrame = frame; }
@@ -33,17 +33,17 @@ private:
nsBulletFrame *mFrame;
};
/**
* A simple class that manages the layout and rendering of html bullets.
* This class also supports the CSS list-style properties.
*/
-class nsBulletFrame : public nsFrame {
+class nsBulletFrame MOZ_FINAL : public nsFrame {
public:
NS_DECL_FRAMEARENA_HELPERS
#ifdef DEBUG
NS_DECL_QUERYFRAME_TARGET(nsBulletFrame)
NS_DECL_QUERYFRAME
#endif
nsBulletFrame(nsStyleContext* aContext)
--- a/layout/generic/nsCanvasFrame.h
+++ b/layout/generic/nsCanvasFrame.h
@@ -20,19 +20,19 @@ class nsRenderingContext;
/**
* Root frame class.
*
* The root frame is the parent frame for the document element's frame.
* It only supports having a single child frame which must be an area
* frame
*/
-class nsCanvasFrame : public nsContainerFrame,
- public nsIScrollPositionListener,
- public nsIAnonymousContentCreator
+class nsCanvasFrame MOZ_FINAL : public nsContainerFrame,
+ public nsIScrollPositionListener,
+ public nsIAnonymousContentCreator
{
public:
nsCanvasFrame(nsStyleContext* aContext)
: nsContainerFrame(aContext),
mDoPaintFocus(false),
mAddedScrollPositionListener(false) {}
NS_DECL_QUERYFRAME_TARGET(nsCanvasFrame)
--- a/layout/generic/nsColumnSetFrame.h
+++ b/layout/generic/nsColumnSetFrame.h
@@ -4,17 +4,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* rendering object for css3 multi-column layout */
#include "mozilla/Attributes.h"
#include "nsContainerFrame.h"
#include "nsIFrameInlines.h" // for methods used by IS_TRUE_OVERFLOW_CONTAINER
-class nsColumnSetFrame : public nsContainerFrame {
+class nsColumnSetFrame MOZ_FINAL : public nsContainerFrame {
public:
NS_DECL_FRAMEARENA_HELPERS
nsColumnSetFrame(nsStyleContext* aContext);
virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize,
const nsHTMLReflowState& aReflowState,
--- a/layout/generic/nsGfxScrollFrame.h
+++ b/layout/generic/nsGfxScrollFrame.h
@@ -762,20 +762,20 @@ private:
* The scroll frame creates and manages the scrolling view
*
* It only supports having a single child frame that typically is an area
* frame, but doesn't have to be. The child frame must have a view, though
*
* Scroll frames don't support incremental changes, i.e. you can't replace
* or remove the scrolled frame
*/
-class nsXULScrollFrame : public nsBoxFrame,
- public nsIScrollableFrame,
- public nsIAnonymousContentCreator,
- public nsIStatefulFrame {
+class nsXULScrollFrame MOZ_FINAL : public nsBoxFrame,
+ public nsIScrollableFrame,
+ public nsIAnonymousContentCreator,
+ public nsIStatefulFrame {
public:
typedef mozilla::ScrollFrameHelper ScrollFrameHelper;
typedef mozilla::CSSIntPoint CSSIntPoint;
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
friend nsXULScrollFrame* NS_NewXULScrollFrame(nsIPresShell* aPresShell,
--- a/layout/generic/nsImageMap.h
+++ b/layout/generic/nsImageMap.h
@@ -16,18 +16,18 @@
class Area;
class nsRenderingContext;
class nsImageFrame;
class nsIFrame;
class nsIContent;
struct nsRect;
-class nsImageMap : public nsStubMutationObserver,
- public nsIDOMEventListener
+class nsImageMap MOZ_FINAL : public nsStubMutationObserver,
+ public nsIDOMEventListener
{
public:
nsImageMap();
nsresult Init(nsImageFrame* aImageFrame, nsIContent* aMap);
/**
* Return the first area element (in content order) for the given aX,aY pixel
--- a/layout/generic/nsPageFrame.h
+++ b/layout/generic/nsPageFrame.h
@@ -7,17 +7,17 @@
#include "mozilla/Attributes.h"
#include "nsContainerFrame.h"
#include "nsLeafFrame.h"
class nsSharedPageData;
// Page frame class used by the simple page sequence frame
-class nsPageFrame : public nsContainerFrame {
+class nsPageFrame MOZ_FINAL : public nsContainerFrame {
public:
NS_DECL_FRAMEARENA_HELPERS
friend nsPageFrame* NS_NewPageFrame(nsIPresShell* aPresShell,
nsStyleContext* aContext);
virtual void Reflow(nsPresContext* aPresContext,
--- a/layout/generic/nsSelection.cpp
+++ b/layout/generic/nsSelection.cpp
@@ -156,17 +156,17 @@ public:
if (mSelection) mSelection->StartBatchChanges();
}
~nsSelectionBatcher()
{
if (mSelection) mSelection->EndBatchChanges();
}
};
-class nsAutoScrollTimer : public nsITimerCallback
+class nsAutoScrollTimer MOZ_FINAL : public nsITimerCallback
{
public:
NS_DECL_ISUPPORTS
nsAutoScrollTimer()
: mFrameSelection(0), mSelection(0), mPresContext(0), mPoint(0,0), mDelay(30)
{
--- a/layout/generic/nsTextRunTransformations.h
+++ b/layout/generic/nsTextRunTransformations.h
@@ -74,17 +74,17 @@ protected:
nsAutoPtr<nsTransformingTextRunFactory> mInnerTransformingTextRunFactory;
bool mAllUppercase;
};
/**
* So that we can reshape as necessary, we store enough information
* to fully rebuild the textrun contents.
*/
-class nsTransformedTextRun : public gfxTextRun {
+class nsTransformedTextRun MOZ_FINAL : public gfxTextRun {
public:
static nsTransformedTextRun *Create(const gfxTextRunFactory::Parameters* aParams,
nsTransformingTextRunFactory* aFactory,
gfxFontGroup* aFontGroup,
const char16_t* aString, uint32_t aLength,
const uint32_t aFlags, nsStyleContext** aStyles,
bool aOwnsFactory);
--- a/layout/inspector/inCSSValueSearch.h
+++ b/layout/inspector/inCSSValueSearch.h
@@ -14,17 +14,17 @@
#include "nsTArray.h"
#include "nsCSSProps.h"
class nsIDOMCSSStyleSheet;
class nsIDOMCSSRuleList;
class nsIDOMCSSStyleRule;
class nsIURI;
-class inCSSValueSearch : public inICSSValueSearch
+class inCSSValueSearch MOZ_FINAL : public inICSSValueSearch
{
public:
NS_DECL_ISUPPORTS
NS_DECL_INISEARCHPROCESS
NS_DECL_INICSSVALUESEARCH
inCSSValueSearch();
--- a/layout/inspector/inDOMUtils.h
+++ b/layout/inspector/inDOMUtils.h
@@ -12,17 +12,17 @@ class nsStyleContext;
class nsIAtom;
namespace mozilla {
namespace dom {
class Element;
} // namespace dom
} // namespace mozilla
-class inDOMUtils : public inIDOMUtils
+class inDOMUtils MOZ_FINAL : public inIDOMUtils
{
public:
NS_DECL_ISUPPORTS
NS_DECL_INIDOMUTILS
inDOMUtils();
private:
--- a/layout/inspector/inFlasher.h
+++ b/layout/inspector/inFlasher.h
@@ -12,17 +12,17 @@
class nsRenderingContext;
#define BOUND_INNER 0
#define BOUND_OUTER 1
#define DIR_VERTICAL 0
#define DIR_HORIZONTAL 1
-class inFlasher : public inIFlasher
+class inFlasher MOZ_FINAL : public inIFlasher
{
public:
NS_DECL_ISUPPORTS
NS_DECL_INIFLASHER
inFlasher();
protected:
--- a/layout/mathml/nsMathMLmfencedFrame.h
+++ b/layout/mathml/nsMathMLmfencedFrame.h
@@ -8,17 +8,17 @@
#include "mozilla/Attributes.h"
#include "nsMathMLContainerFrame.h"
//
// <mfenced> -- surround content with a pair of fences
//
-class nsMathMLmfencedFrame : public nsMathMLContainerFrame {
+class nsMathMLmfencedFrame MOZ_FINAL : public nsMathMLContainerFrame {
public:
NS_DECL_FRAMEARENA_HELPERS
friend nsIFrame* NS_NewMathMLmfencedFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
virtual void
SetAdditionalStyleContext(int32_t aIndex,
nsStyleContext* aStyleContext) MOZ_OVERRIDE;
--- a/layout/style/CSSStyleSheet.cpp
+++ b/layout/style/CSSStyleSheet.cpp
@@ -45,17 +45,17 @@
#include "nsComponentManagerUtils.h"
using namespace mozilla;
using namespace mozilla::dom;
// -------------------------------
// Style Rule List for the DOM
//
-class CSSRuleListImpl : public CSSRuleList
+class CSSRuleListImpl MOZ_FINAL : public CSSRuleList
{
public:
CSSRuleListImpl(CSSStyleSheet *aStyleSheet);
virtual CSSStyleSheet* GetParentObject() MOZ_OVERRIDE;
virtual nsIDOMCSSRule*
IndexedGetter(uint32_t aIndex, bool& aFound) MOZ_OVERRIDE;
--- a/layout/style/StyleRule.h
+++ b/layout/style/StyleRule.h
@@ -277,17 +277,17 @@ private:
namespace mozilla {
namespace css {
class Declaration;
class DOMCSSStyleRule;
class StyleRule;
-class ImportantRule : public nsIStyleRule {
+class ImportantRule MOZ_FINAL : public nsIStyleRule {
public:
explicit ImportantRule(Declaration *aDeclaration);
NS_DECL_ISUPPORTS
// nsIStyleRule interface
virtual void MapRuleInfoInto(nsRuleData* aRuleData) MOZ_OVERRIDE;
#ifdef DEBUG
--- a/layout/style/nsCSSRules.h
+++ b/layout/style/nsCSSRules.h
@@ -179,17 +179,17 @@ protected:
nsAutoPtr<URL> mURLs; // linked list of |struct URL| above.
};
} // namespace css
} // namespace mozilla
// A nsCSSFontFaceStyleDecl is always embedded in a nsCSSFontFaceRule.
class nsCSSFontFaceRule;
-class nsCSSFontFaceStyleDecl : public nsICSSDeclaration
+class nsCSSFontFaceStyleDecl MOZ_FINAL : public nsICSSDeclaration
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIDOMCSSSTYLEDECLARATION_HELPER
NS_DECL_NSICSSDECLARATION
virtual already_AddRefed<mozilla::dom::CSSValue>
GetPropertyCSSValue(const nsAString& aProp, mozilla::ErrorResult& aRv)
MOZ_OVERRIDE;
--- a/layout/svg/SVGTextFrame.h
+++ b/layout/svg/SVGTextFrame.h
@@ -233,17 +233,17 @@ struct SVGTextContextPaint : public gfxT
* object. The TextRenderedRunIterator class performs that splitting and
* returns a TextRenderedRun for each bit of text to be painted separately.
*
* Each rendered run is painted by calling nsTextFrame::PaintText. If the text
* formatting is simple enough (solid fill, no stroking, etc.), PaintText will
* itself do the painting. Otherwise, a DrawPathCallback is passed to
* PaintText so that we can fill the text geometry with SVG paint servers.
*/
-class SVGTextFrame : public SVGTextFrameBase
+class SVGTextFrame MOZ_FINAL : public SVGTextFrameBase
{
friend nsIFrame*
NS_NewSVGTextFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
friend class mozilla::CharIterator;
friend class mozilla::GlyphMetricsUpdater;
friend class mozilla::TextFrameIterator;
friend class mozilla::TextNodeCorrespondenceRecorder;
--- a/layout/svg/nsSVGEffects.h
+++ b/layout/svg/nsSVGEffects.h
@@ -159,17 +159,17 @@ protected:
* This class keeps track of one SVG reference filter in a filter chain.
* e.g. url(#svg-filter-1)
*
* It fires invalidations when the SVG filter element's id changes or when
* the SVG filter element's content changes.
*
* The nsSVGFilterProperty class manages a list of nsSVGFilterReferences.
*/
-class nsSVGFilterReference :
+class nsSVGFilterReference MOZ_FINAL :
public nsSVGIDRenderingObserver, public nsISVGFilterReference {
public:
nsSVGFilterReference(nsIURI *aURI, nsIFrame *aFilteredFrame)
: nsSVGIDRenderingObserver(aURI, aFilteredFrame, false) {}
bool ReferencesValidResource() { return GetFilterFrame(); }
/**
--- a/layout/svg/nsSVGOuterSVGFrame.h
+++ b/layout/svg/nsSVGOuterSVGFrame.h
@@ -13,18 +13,18 @@
class nsSVGForeignObjectFrame;
////////////////////////////////////////////////////////////////////////
// nsSVGOuterSVGFrame class
typedef nsSVGDisplayContainerFrame nsSVGOuterSVGFrameBase;
-class nsSVGOuterSVGFrame : public nsSVGOuterSVGFrameBase,
- public nsISVGSVGFrame
+class nsSVGOuterSVGFrame MOZ_FINAL : public nsSVGOuterSVGFrameBase,
+ public nsISVGSVGFrame
{
friend nsContainerFrame*
NS_NewSVGOuterSVGFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
protected:
nsSVGOuterSVGFrame(nsStyleContext* aContext);
public:
NS_DECL_QUERYFRAME
--- a/layout/tables/nsTableCellFrame.h
+++ b/layout/tables/nsTableCellFrame.h
@@ -282,17 +282,17 @@ inline void nsTableCellFrame::SetHasPctO
if (aValue) {
mState |= NS_TABLE_CELL_HAS_PCT_OVER_HEIGHT;
} else {
mState &= ~NS_TABLE_CELL_HAS_PCT_OVER_HEIGHT;
}
}
// nsBCTableCellFrame
-class nsBCTableCellFrame : public nsTableCellFrame
+class nsBCTableCellFrame MOZ_FINAL : public nsTableCellFrame
{
public:
NS_DECL_FRAMEARENA_HELPERS
nsBCTableCellFrame(nsStyleContext* aContext);
~nsBCTableCellFrame();
--- a/layout/tables/nsTableColGroupFrame.h
+++ b/layout/tables/nsTableColGroupFrame.h
@@ -20,17 +20,17 @@ enum nsTableColGroupType {
};
/**
* nsTableColGroupFrame
* data structure to maintain information about a single table cell's frame
*
* @author sclark
*/
-class nsTableColGroupFrame : public nsContainerFrame
+class nsTableColGroupFrame MOZ_FINAL : public nsContainerFrame
{
public:
NS_DECL_FRAMEARENA_HELPERS
// default constructor supplied by the compiler
/** instantiate a new instance of nsTableRowFrame.
* @param aPresShell the pres shell for this frame
--- a/layout/tables/nsTableRowGroupFrame.h
+++ b/layout/tables/nsTableRowGroupFrame.h
@@ -46,17 +46,17 @@ struct nsRowGroupReflowState {
* nsTableRowGroupFrame is the frame that maps row groups
* (HTML tags THEAD, TFOOT, and TBODY). This class cannot be reused
* outside of an nsTableFrame. It assumes that its parent is an nsTableFrame, and
* its children are nsTableRowFrames.
*
* @see nsTableFrame
* @see nsTableRowFrame
*/
-class nsTableRowGroupFrame
+class nsTableRowGroupFrame MOZ_FINAL
: public nsContainerFrame
, public nsILineIterator
{
public:
NS_DECL_QUERYFRAME_TARGET(nsTableRowGroupFrame)
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
--- a/layout/xul/grid/nsGridLayout2.h
+++ b/layout/xul/grid/nsGridLayout2.h
@@ -18,18 +18,18 @@ class nsGridRowGroupLayout;
class nsGridRowLayout;
class nsGridRow;
class nsBoxLayoutState;
class nsGridCell;
/**
* The nsBoxLayout implementation for a grid.
*/
-class nsGridLayout2 : public nsStackLayout,
- public nsIGridPart
+class nsGridLayout2 MOZ_FINAL : public nsStackLayout,
+ public nsIGridPart
{
public:
friend nsresult NS_NewGridLayout2(nsIPresShell* aPresShell, nsBoxLayout** aNewLayout);
NS_DECL_ISUPPORTS_INHERITED
NS_IMETHOD Layout(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE;
--- a/layout/xul/grid/nsGridRowLeafLayout.h
+++ b/layout/xul/grid/nsGridRowLeafLayout.h
@@ -17,17 +17,17 @@
#include "nsGridRowLayout.h"
#include "nsCOMPtr.h"
/**
* The nsBoxLayout implementation for nsGridRowLeafFrame.
*/
// XXXldb This needs a better name that indicates that it's for any grid
// row.
-class nsGridRowLeafLayout : public nsGridRowLayout
+class nsGridRowLeafLayout MOZ_FINAL : public nsGridRowLayout
{
public:
friend already_AddRefed<nsBoxLayout> NS_NewGridRowLeafLayout();
virtual nsSize GetPrefSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE;
virtual nsSize GetMinSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE;
virtual nsSize GetMaxSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE;
--- a/layout/xul/nsImageBoxFrame.h
+++ b/layout/xul/nsImageBoxFrame.h
@@ -14,35 +14,35 @@
#include "imgINotificationObserver.h"
#include "imgIOnloadBlocker.h"
class imgRequestProxy;
class nsImageBoxFrame;
class nsDisplayXULImage;
-class nsImageBoxListener : public imgINotificationObserver,
- public imgIOnloadBlocker
+class nsImageBoxListener MOZ_FINAL : public imgINotificationObserver,
+ public imgIOnloadBlocker
{
public:
nsImageBoxListener();
NS_DECL_ISUPPORTS
NS_DECL_IMGINOTIFICATIONOBSERVER
NS_DECL_IMGIONLOADBLOCKER
void SetFrame(nsImageBoxFrame *frame) { mFrame = frame; }
private:
virtual ~nsImageBoxListener();
nsImageBoxFrame *mFrame;
};
-class nsImageBoxFrame : public nsLeafBoxFrame
+class nsImageBoxFrame MOZ_FINAL : public nsLeafBoxFrame
{
public:
typedef mozilla::layers::LayerManager LayerManager;
friend class nsDisplayXULImage;
NS_DECL_FRAMEARENA_HELPERS
virtual nsSize GetPrefSize(nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE;
--- a/layout/xul/nsListBoxBodyFrame.cpp
+++ b/layout/xul/nsListBoxBodyFrame.cpp
@@ -59,17 +59,17 @@ using namespace mozilla::dom;
// how long it takes to layout a single row initial value.
// we will time this after we scroll a few rows.
#define TIME_PER_ROW_INITAL 50000
// if we decide we can't layout the rows in the amount of time. How long
// do we wait before checking again?
#define SMOOTH_INTERVAL 100
-class nsListScrollSmoother : public nsITimerCallback
+class nsListScrollSmoother MOZ_FINAL : public nsITimerCallback
{
private:
virtual ~nsListScrollSmoother();
public:
NS_DECL_ISUPPORTS
nsListScrollSmoother(nsListBoxBodyFrame* aOuter);
--- a/layout/xul/nsListBoxBodyFrame.h
+++ b/layout/xul/nsListBoxBodyFrame.h
@@ -16,19 +16,19 @@
#include "nsThreadUtils.h"
#include "nsPIBoxObject.h"
class nsPresContext;
class nsListScrollSmoother;
nsIFrame* NS_NewListBoxBodyFrame(nsIPresShell* aPresShell,
nsStyleContext* aContext);
-class nsListBoxBodyFrame : public nsBoxFrame,
- public nsIScrollbarMediator,
- public nsIReflowCallback
+class nsListBoxBodyFrame MOZ_FINAL : public nsBoxFrame,
+ public nsIScrollbarMediator,
+ public nsIReflowCallback
{
nsListBoxBodyFrame(nsIPresShell* aPresShell, nsStyleContext* aContext,
nsBoxLayout* aLayoutManager);
virtual ~nsListBoxBodyFrame();
public:
NS_DECL_QUERYFRAME_TARGET(nsListBoxBodyFrame)
NS_DECL_QUERYFRAME
--- a/layout/xul/nsListBoxObject.cpp
+++ b/layout/xul/nsListBoxObject.cpp
@@ -10,17 +10,17 @@
#include "nsBindingManager.h"
#include "nsIDOMElement.h"
#include "nsIDOMNodeList.h"
#include "nsGkAtoms.h"
#include "nsIScrollableFrame.h"
#include "nsListBoxBodyFrame.h"
#include "ChildIterator.h"
-class nsListBoxObject : public nsPIListBoxObject, public nsBoxObject
+class nsListBoxObject MOZ_FINAL : public nsPIListBoxObject, public nsBoxObject
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSILISTBOXOBJECT
// nsPIListBoxObject
virtual nsListBoxBodyFrame* GetListBoxBody(bool aFlush) MOZ_OVERRIDE;
--- a/layout/xul/nsMenuBarFrame.h
+++ b/layout/xul/nsMenuBarFrame.h
@@ -17,17 +17,17 @@
#include "nsMenuFrame.h"
#include "nsMenuBarListener.h"
#include "nsMenuParent.h"
class nsIContent;
nsIFrame* NS_NewMenuBarFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
-class nsMenuBarFrame : public nsBoxFrame, public nsMenuParent
+class nsMenuBarFrame MOZ_FINAL : public nsBoxFrame, public nsMenuParent
{
public:
NS_DECL_QUERYFRAME_TARGET(nsMenuBarFrame)
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
nsMenuBarFrame(nsIPresShell* aShell, nsStyleContext* aContext);
--- a/layout/xul/nsMenuBarListener.h
+++ b/layout/xul/nsMenuBarListener.h
@@ -14,17 +14,17 @@
#undef KeyPress
#endif
class nsMenuBarFrame;
class nsIDOMKeyEvent;
/** editor Implementation of the DragListener interface
*/
-class nsMenuBarListener : public nsIDOMEventListener
+class nsMenuBarListener MOZ_FINAL : public nsIDOMEventListener
{
public:
/** default constructor
*/
nsMenuBarListener(nsMenuBarFrame* aMenuBar);
static void InitializeStatics();
--- a/layout/xul/nsMenuFrame.h
+++ b/layout/xul/nsMenuFrame.h
@@ -67,17 +67,17 @@ public:
private:
~nsMenuTimerMediator();
// Pointer to the wrapped frame.
nsMenuFrame* mFrame;
};
-class nsMenuFrame : public nsBoxFrame
+class nsMenuFrame MOZ_FINAL : public nsBoxFrame
{
public:
nsMenuFrame(nsIPresShell* aShell, nsStyleContext* aContext);
NS_DECL_QUERYFRAME_TARGET(nsMenuFrame)
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
--- a/layout/xul/nsMenuPopupFrame.h
+++ b/layout/xul/nsMenuPopupFrame.h
@@ -143,17 +143,17 @@ public:
protected:
virtual ~nsXULPopupShownEvent() { }
private:
nsCOMPtr<nsIContent> mPopup;
nsRefPtr<nsPresContext> mPresContext;
};
-class nsMenuPopupFrame : public nsBoxFrame, public nsMenuParent
+class nsMenuPopupFrame MOZ_FINAL : public nsBoxFrame, public nsMenuParent
{
public:
NS_DECL_QUERYFRAME_TARGET(nsMenuPopupFrame)
NS_DECL_QUERYFRAME
NS_DECL_FRAMEARENA_HELPERS
nsMenuPopupFrame(nsIPresShell* aShell, nsStyleContext* aContext);
--- a/layout/xul/nsRepeatService.h
+++ b/layout/xul/nsRepeatService.h
@@ -17,17 +17,17 @@
#ifdef XP_MACOSX
#define REPEAT_DELAY 25
#else
#define REPEAT_DELAY 50
#endif
class nsITimer;
-class nsRepeatService : public nsITimerCallback
+class nsRepeatService MOZ_FINAL : public nsITimerCallback
{
public:
typedef void (* Callback)(void* aData);
NS_DECL_NSITIMERCALLBACK
// Start dispatching timer events to the callback. There is no memory
--- a/layout/xul/nsScrollBoxObject.cpp
+++ b/layout/xul/nsScrollBoxObject.cpp
@@ -10,17 +10,18 @@
#include "nsIContent.h"
#include "nsIDOMElement.h"
#include "nsPresContext.h"
#include "nsBox.h"
#include "nsIScrollableFrame.h"
using namespace mozilla;
-class nsScrollBoxObject : public nsIScrollBoxObject, public nsBoxObject
+class nsScrollBoxObject MOZ_FINAL : public nsIScrollBoxObject,
+ public nsBoxObject
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSISCROLLBOXOBJECT
nsScrollBoxObject();
virtual nsIScrollableFrame* GetScrollFrame() {
--- a/layout/xul/nsSliderFrame.h
+++ b/layout/xul/nsSliderFrame.h
@@ -15,17 +15,17 @@
#include "nsIDOMEventListener.h"
class nsString;
class nsITimer;
class nsSliderFrame;
nsIFrame* NS_NewSliderFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
-class nsSliderMediator : public nsIDOMEventListener
+class nsSliderMediator MOZ_FINAL : public nsIDOMEventListener
{
public:
NS_DECL_ISUPPORTS
nsSliderFrame* mSlider;
nsSliderMediator(nsSliderFrame* aSlider) { mSlider = aSlider; }
--- a/layout/xul/nsSplitterFrame.cpp
+++ b/layout/xul/nsSplitterFrame.cpp
@@ -45,17 +45,17 @@ public:
nscoord max;
nscoord current;
nscoord changed;
nsCOMPtr<nsIContent> childElem;
int32_t flex;
int32_t index;
};
-class nsSplitterFrameInner : public nsIDOMEventListener
+class nsSplitterFrameInner MOZ_FINAL : public nsIDOMEventListener
{
protected:
virtual ~nsSplitterFrameInner();
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIDOMEVENTLISTENER
--- a/netwerk/base/src/nsSocketTransportService2.h
+++ b/netwerk/base/src/nsSocketTransportService2.h
@@ -52,21 +52,21 @@ static const int32_t kDefaultTCPKeepCoun
#else
4; // Specifiable in Linux.
#endif
}
}
//-----------------------------------------------------------------------------
-class nsSocketTransportService : public nsPISocketTransportService
- , public nsIEventTarget
- , public nsIThreadObserver
- , public nsIRunnable
- , public nsIObserver
+class nsSocketTransportService MOZ_FINAL : public nsPISocketTransportService
+ , public nsIEventTarget
+ , public nsIThreadObserver
+ , public nsIRunnable
+ , public nsIObserver
{
typedef mozilla::Mutex Mutex;
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSPISOCKETTRANSPORTSERVICE
NS_DECL_NSISOCKETTRANSPORTSERVICE
NS_DECL_NSIEVENTTARGET
--- a/netwerk/cache/nsDiskCacheDeviceSQL.h
+++ b/netwerk/cache/nsDiskCacheDeviceSQL.h
@@ -57,18 +57,18 @@ public:
private:
~nsOfflineCacheEvictionFunction() {}
nsOfflineCacheDevice *mDevice;
nsCOMArray<nsIFile> mItems;
};
-class nsOfflineCacheDevice : public nsCacheDevice
- , public nsISupports
+class nsOfflineCacheDevice MOZ_FINAL : public nsCacheDevice
+ , public nsISupports
{
public:
nsOfflineCacheDevice();
NS_DECL_THREADSAFE_ISUPPORTS
/**
* nsCacheDevice methods
--- a/netwerk/cache2/CacheEntry.h
+++ b/netwerk/cache2/CacheEntry.h
@@ -42,19 +42,19 @@ namespace mozilla {
namespace net {
class CacheStorageService;
class CacheStorage;
class CacheFileOutputStream;
class CacheOutputCloseListener;
class CacheEntryHandle;
-class CacheEntry : public nsICacheEntry
- , public nsIRunnable
- , public CacheFileListener
+class CacheEntry MOZ_FINAL : public nsICacheEntry
+ , public nsIRunnable
+ , public CacheFileListener
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSICACHEENTRY
NS_DECL_NSIRUNNABLE
CacheEntry(const nsACString& aStorageID, nsIURI* aURI, const nsACString& aEnhanceID,
bool aUseDisk);
--- a/netwerk/protocol/http/HttpChannelChild.h
+++ b/netwerk/protocol/http/HttpChannelChild.h
@@ -28,27 +28,27 @@
#include "nsIChildChannel.h"
#include "nsIHttpChannelChild.h"
#include "nsIDivertableChannel.h"
#include "mozilla/net/DNS.h"
namespace mozilla {
namespace net {
-class HttpChannelChild : public PHttpChannelChild
- , public HttpBaseChannel
- , public HttpAsyncAborter<HttpChannelChild>
- , public nsICacheInfoChannel
- , public nsIProxiedChannel
- , public nsIApplicationCacheChannel
- , public nsIAsyncVerifyRedirectCallback
- , public nsIAssociatedContentSecurity
- , public nsIChildChannel
- , public nsIHttpChannelChild
- , public nsIDivertableChannel
+class HttpChannelChild MOZ_FINAL : public PHttpChannelChild
+ , public HttpBaseChannel
+ , public HttpAsyncAborter<HttpChannelChild>
+ , public nsICacheInfoChannel
+ , public nsIProxiedChannel
+ , public nsIApplicationCacheChannel
+ , public nsIAsyncVerifyRedirectCallback
+ , public nsIAssociatedContentSecurity
+ , public nsIChildChannel
+ , public nsIHttpChannelChild
+ , public nsIDivertableChannel
{
virtual ~HttpChannelChild();
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSICACHEINFOCHANNEL
NS_DECL_NSIPROXIEDCHANNEL
NS_DECL_NSIAPPLICATIONCACHECONTAINER
NS_DECL_NSIAPPLICATIONCACHECHANNEL
--- a/netwerk/protocol/http/nsHttpChannel.h
+++ b/netwerk/protocol/http/nsHttpChannel.h
@@ -32,30 +32,30 @@ class nsInputStreamPump;
class nsPerformance;
namespace mozilla { namespace net {
//-----------------------------------------------------------------------------
// nsHttpChannel
//-----------------------------------------------------------------------------
-class nsHttpChannel : public HttpBaseChannel
- , public HttpAsyncAborter<nsHttpChannel>
- , public nsIStreamListener
- , public nsICachingChannel
- , public nsICacheEntryOpenCallback
- , public nsITransportEventSink
- , public nsIProtocolProxyCallback
- , public nsIHttpAuthenticableChannel
- , public nsIApplicationCacheChannel
- , public nsIAsyncVerifyRedirectCallback
- , public nsIThreadRetargetableRequest
- , public nsIThreadRetargetableStreamListener
- , public nsIDNSListener
- , public nsSupportsWeakReference
+class nsHttpChannel MOZ_FINAL : public HttpBaseChannel
+ , public HttpAsyncAborter<nsHttpChannel>
+ , public nsIStreamListener
+ , public nsICachingChannel
+ , public nsICacheEntryOpenCallback
+ , public nsITransportEventSink
+ , public nsIProtocolProxyCallback
+ , public nsIHttpAuthenticableChannel
+ , public nsIApplicationCacheChannel
+ , public nsIAsyncVerifyRedirectCallback
+ , public nsIThreadRetargetableRequest
+ , public nsIThreadRetargetableStreamListener
+ , public nsIDNSListener
+ , public nsSupportsWeakReference
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSISTREAMLISTENER
NS_DECL_NSITHREADRETARGETABLESTREAMLISTENER
NS_DECL_NSICACHEINFOCHANNEL
NS_DECL_NSICACHINGCHANNEL
--- a/netwerk/protocol/http/nsHttpConnection.h
+++ b/netwerk/protocol/http/nsHttpConnection.h
@@ -30,23 +30,23 @@ class ASpdySession;
//-----------------------------------------------------------------------------
// nsHttpConnection - represents a connection to a HTTP server (or proxy)
//
// NOTE: this objects lives on the socket thread only. it should not be
// accessed from any other thread.
//-----------------------------------------------------------------------------
-class nsHttpConnection : public nsAHttpSegmentReader
- , public nsAHttpSegmentWriter
- , public nsIInputStreamCallback
- , public nsIOutputStreamCallback
- , public nsITransportEventSink
- , public nsIInterfaceRequestor
- , public NudgeTunnelCallback
+class nsHttpConnection MOZ_FINAL : public nsAHttpSegmentReader
+ , public nsAHttpSegmentWriter
+ , public nsIInputStreamCallback
+ , public nsIOutputStreamCallback
+ , public nsITransportEventSink
+ , public nsIInterfaceRequestor
+ , public NudgeTunnelCallback
{
virtual ~nsHttpConnection();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSAHTTPSEGMENTREADER
NS_DECL_NSAHTTPSEGMENTWRITER
NS_DECL_NSIINPUTSTREAMCALLBACK
--- a/netwerk/protocol/http/nsHttpHandler.h
+++ b/netwerk/protocol/http/nsHttpHandler.h
@@ -38,20 +38,20 @@ class Tickler;
class nsHttpConnection;
class nsHttpConnectionInfo;
class nsHttpTransaction;
//-----------------------------------------------------------------------------
// nsHttpHandler - protocol handler for HTTP and HTTPS
//-----------------------------------------------------------------------------
-class nsHttpHandler : public nsIHttpProtocolHandler
- , public nsIObserver
- , public nsSupportsWeakReference
- , public nsISpeculativeConnect
+class nsHttpHandler MOZ_FINAL : public nsIHttpProtocolHandler
+ , public nsIObserver
+ , public nsSupportsWeakReference
+ , public nsISpeculativeConnect
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIPROTOCOLHANDLER
NS_DECL_NSIPROXIEDPROTOCOLHANDLER
NS_DECL_NSIHTTPPROTOCOLHANDLER
NS_DECL_NSIOBSERVER
NS_DECL_NSISPECULATIVECONNECT
--- a/netwerk/protocol/http/nsHttpPipeline.h
+++ b/netwerk/protocol/http/nsHttpPipeline.h
@@ -11,19 +11,19 @@
#include "nsTArray.h"
#include "nsCOMPtr.h"
class nsIInputStream;
class nsIOutputStream;
namespace mozilla { namespace net {
-class nsHttpPipeline : public nsAHttpConnection
- , public nsAHttpTransaction
- , public nsAHttpSegmentReader
+class nsHttpPipeline MOZ_FINAL : public nsAHttpConnection
+ , public nsAHttpTransaction
+ , public nsAHttpSegmentReader
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSAHTTPCONNECTION(mConnection)
NS_DECL_NSAHTTPTRANSACTION
NS_DECL_NSAHTTPSEGMENTREADER
nsHttpPipeline();
--- a/netwerk/protocol/http/nsHttpTransaction.h
+++ b/netwerk/protocol/http/nsHttpTransaction.h
@@ -34,20 +34,20 @@ class nsHttpChunkedDecoder;
class nsHttpRequestHead;
class nsHttpResponseHead;
//-----------------------------------------------------------------------------
// nsHttpTransaction represents a single HTTP transaction. It is thread-safe,
// intended to run on the socket thread.
//-----------------------------------------------------------------------------
-class nsHttpTransaction : public nsAHttpTransaction
- , public ATokenBucketEvent
- , public nsIInputStreamCallback
- , public nsIOutputStreamCallback
+class nsHttpTransaction MOZ_FINAL : public nsAHttpTransaction
+ , public ATokenBucketEvent
+ , public nsIInputStreamCallback
+ , public nsIOutputStreamCallback
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSAHTTPTRANSACTION
NS_DECL_NSIINPUTSTREAMCALLBACK
NS_DECL_NSIOUTPUTSTREAMCALLBACK
nsHttpTransaction();
--- a/parser/html/nsHtml5TreeOpExecutor.h
+++ b/parser/html/nsHtml5TreeOpExecutor.h
@@ -25,20 +25,20 @@
class nsHtml5Parser;
class nsHtml5TreeBuilder;
class nsHtml5Tokenizer;
class nsHtml5StreamParser;
class nsIContent;
class nsIDocument;
-class nsHtml5TreeOpExecutor : public nsHtml5DocumentBuilder,
- public nsIContentSink,
- public nsAHtml5TreeOpSink,
- public mozilla::LinkedListElement<nsHtml5TreeOpExecutor>
+class nsHtml5TreeOpExecutor MOZ_FINAL : public nsHtml5DocumentBuilder,
+ public nsIContentSink,
+ public nsAHtml5TreeOpSink,
+ public mozilla::LinkedListElement<nsHtml5TreeOpExecutor>
{
friend class nsHtml5FlushLoopGuard;
public:
NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW
NS_DECL_ISUPPORTS_INHERITED
private:
--- a/parser/htmlparser/src/nsParser.h
+++ b/parser/htmlparser/src/nsParser.h
@@ -57,19 +57,19 @@ class nsIDTD;
class nsScanner;
class nsIRunnable;
#ifdef _MSC_VER
#pragma warning( disable : 4275 )
#endif
-class nsParser : public nsIParser,
- public nsIStreamListener,
- public nsSupportsWeakReference
+class nsParser MOZ_FINAL : public nsIParser,
+ public nsIStreamListener,
+ public nsSupportsWeakReference
{
/**
* Destructor
* @update gess5/11/98
*/
virtual ~nsParser();
public:
--- a/security/manager/ssl/src/nsNSSCertificate.h
+++ b/security/manager/ssl/src/nsNSSCertificate.h
@@ -20,21 +20,21 @@
#include "certt.h"
namespace mozilla { namespace pkix { class DERArray; } }
class nsAutoString;
class nsINSSComponent;
class nsIASN1Sequence;
-class nsNSSCertificate : public nsIX509Cert,
- public nsIIdentityInfo,
- public nsISerializable,
- public nsIClassInfo,
- public nsNSSShutDownObject
+class nsNSSCertificate MOZ_FINAL : public nsIX509Cert,
+ public nsIIdentityInfo,
+ public nsISerializable,
+ public nsIClassInfo,
+ public nsNSSShutDownObject
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIX509CERT
NS_DECL_NSIIDENTITYINFO
NS_DECL_NSISERIALIZABLE
NS_DECL_NSICLASSINFO
--- a/security/manager/ssl/src/nsNSSComponent.h
+++ b/security/manager/ssl/src/nsNSSComponent.h
@@ -98,20 +98,20 @@ class NS_NO_VTABLE nsINSSComponent : pub
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsINSSComponent, NS_INSSCOMPONENT_IID)
class nsNSSShutDownList;
class nsCertVerificationThread;
// Implementation of the PSM component interface.
-class nsNSSComponent : public nsIEntropyCollector,
- public nsINSSComponent,
- public nsIObserver,
- public nsSupportsWeakReference
+class nsNSSComponent MOZ_FINAL : public nsIEntropyCollector,
+ public nsINSSComponent,
+ public nsIObserver,
+ public nsSupportsWeakReference
{
typedef mozilla::Mutex Mutex;
public:
NS_DEFINE_STATIC_CID_ACCESSOR( NS_NSSCOMPONENT_CID )
nsNSSComponent();
--- a/toolkit/components/autocomplete/nsAutoCompleteController.h
+++ b/toolkit/components/autocomplete/nsAutoCompleteController.h
@@ -15,20 +15,20 @@
#include "nsString.h"
#include "nsITreeView.h"
#include "nsITreeSelection.h"
#include "nsITimer.h"
#include "nsTArray.h"
#include "nsCOMArray.h"
#include "nsCycleCollectionParticipant.h"
-class nsAutoCompleteController : public nsIAutoCompleteController,
- public nsIAutoCompleteObserver,
- public nsITimerCallback,
- public nsITreeView
+class nsAutoCompleteController MOZ_FINAL : public nsIAutoCompleteController,
+ public nsIAutoCompleteObserver,
+ public nsITimerCallback,
+ public nsITreeView
{
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsAutoCompleteController,
nsIAutoCompleteController)
NS_DECL_NSIAUTOCOMPLETECONTROLLER
NS_DECL_NSIAUTOCOMPLETEOBSERVER
NS_DECL_NSITREEVIEW
--- a/toolkit/components/downloads/nsDownloadManager.h
+++ b/toolkit/components/downloads/nsDownloadManager.h
@@ -259,17 +259,17 @@ private:
nsCOMPtr<mozIStorageStatement> mGetPrivateIdsForURIStatement;
nsAutoPtr<mozStorageTransaction> mHistoryTransaction;
static nsDownloadManager *gDownloadManagerService;
friend class nsDownload;
};
-class nsDownload : public nsIDownload
+class nsDownload MOZ_FINAL : public nsIDownload
{
public:
NS_DECL_NSIWEBPROGRESSLISTENER
NS_DECL_NSIWEBPROGRESSLISTENER2
NS_DECL_NSITRANSFER
NS_DECL_NSIDOWNLOAD
NS_DECL_ISUPPORTS
--- a/widget/xpwidgets/GfxInfoX11.h
+++ b/widget/xpwidgets/GfxInfoX11.h
@@ -8,17 +8,17 @@
#ifndef __GfxInfoX11_h__
#define __GfxInfoX11_h__
#include "GfxInfoBase.h"
namespace mozilla {
namespace widget {
-class GfxInfo : public GfxInfoBase
+class GfxInfo MOZ_FINAL : public GfxInfoBase
{
public:
// We only declare the subset of nsIGfxInfo that we actually implement. The
// rest is brought forward from GfxInfoBase.
NS_IMETHOD GetD2DEnabled(bool *aD2DEnabled);
NS_IMETHOD GetDWriteEnabled(bool *aDWriteEnabled);
NS_IMETHOD GetDWriteVersion(nsAString & aDwriteVersion);
--- a/widget/xpwidgets/PuppetWidget.h
+++ b/widget/xpwidgets/PuppetWidget.h
@@ -32,17 +32,18 @@ namespace mozilla {
namespace dom {
class TabChild;
}
namespace widget {
struct AutoCacheNativeKeyCommands;
-class PuppetWidget : public nsBaseWidget, public nsSupportsWeakReference
+class PuppetWidget MOZ_FINAL : public nsBaseWidget,
+ public nsSupportsWeakReference
{
typedef mozilla::dom::TabChild TabChild;
typedef mozilla::gfx::DrawTarget DrawTarget;
typedef nsBaseWidget Base;
// The width and height of the "widget" are clamped to this.
static const size_t kMaxDimension;
--- a/xpcom/base/nsCycleCollector.cpp
+++ b/xpcom/base/nsCycleCollector.cpp
@@ -2011,17 +2011,17 @@ nsCycleCollectorLoggerConstructor(nsISup
return logger->QueryInterface(aIID, aInstancePtr);
}
////////////////////////////////////////////////////////////////////////
// Bacon & Rajan's |MarkRoots| routine.
////////////////////////////////////////////////////////////////////////
-class CCGraphBuilder : public nsCycleCollectionTraversalCallback,
+class CCGraphBuilder MOZ_FINAL : public nsCycleCollectionTraversalCallback,
public nsCycleCollectionNoteRootCallback
{
private:
CCGraph& mGraph;
CycleCollectorResults& mResults;
NodePool::Builder mNodeBuilder;
EdgePool::Builder mEdgeBuilder;
PtrInfo* mCurrPi;
--- a/xpcom/base/nsMemoryReporterManager.h
+++ b/xpcom/base/nsMemoryReporterManager.h
@@ -17,17 +17,17 @@
class nsITimer;
namespace mozilla {
namespace dom {
class MemoryReport;
}
}
-class nsMemoryReporterManager : public nsIMemoryReporterManager
+class nsMemoryReporterManager MOZ_FINAL : public nsIMemoryReporterManager
{
virtual ~nsMemoryReporterManager();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIMEMORYREPORTERMANAGER
nsMemoryReporterManager();
--- a/xpcom/io/nsBinaryStream.h
+++ b/xpcom/io/nsBinaryStream.h
@@ -20,17 +20,17 @@
0x4672, \
{0x84, 0x4e, 0x6e, 0x7d, 0xd8, 0x3b, 0xa4, 0x84} \
}
#define NS_BINARYOUTPUTSTREAM_CONTRACTID "@mozilla.org/binaryoutputstream;1"
// Derive from nsIObjectOutputStream so this class can be used as a superclass
// by nsObjectOutputStream.
-class nsBinaryOutputStream : public nsIObjectOutputStream
+class nsBinaryOutputStream MOZ_FINAL : public nsIObjectOutputStream
{
public:
nsBinaryOutputStream()
{
}
protected:
// nsISupports methods
@@ -63,19 +63,17 @@ private:
0xc521a612, \
0x2aad, \
0x46db, \
{0xb6, 0xab, 0x3b, 0x82, 0x1f, 0xb1, 0x50, 0xb1} \
}
#define NS_BINARYINPUTSTREAM_CONTRACTID "@mozilla.org/binaryinputstream;1"
-// Derive from nsIObjectInputStream so this class can be used as a superclass
-// by nsObjectInputStream.
-class nsBinaryInputStream : public nsIObjectInputStream
+class nsBinaryInputStream MOZ_FINAL : public nsIObjectInputStream
{
public:
nsBinaryInputStream()
{
}
protected:
// nsISupports methods
--- a/xpfe/appshell/nsContentTreeOwner.h
+++ b/xpfe/appshell/nsContentTreeOwner.h
@@ -17,21 +17,21 @@
#include "nsIInterfaceRequestor.h"
#include "nsIInterfaceRequestorUtils.h"
#include "nsIWebBrowserChrome3.h"
#include "nsIWindowProvider.h"
class nsXULWindow;
class nsSiteWindow;
-class nsContentTreeOwner : public nsIDocShellTreeOwner,
- public nsIBaseWindow,
- public nsIInterfaceRequestor,
- public nsIWebBrowserChrome3,
- public nsIWindowProvider
+class nsContentTreeOwner MOZ_FINAL : public nsIDocShellTreeOwner,
+ public nsIBaseWindow,
+ public nsIInterfaceRequestor,
+ public nsIWebBrowserChrome3,
+ public nsIWindowProvider
{
friend class nsXULWindow;
friend class nsSiteWindow;
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIBASEWINDOW
--- a/xpfe/components/directory/nsDirectoryViewer.h
+++ b/xpfe/components/directory/nsDirectoryViewer.h
@@ -29,22 +29,22 @@ public:
// nsISupports interface
NS_DECL_ISUPPORTS
NS_DECL_NSIDOCUMENTLOADERFACTORY
protected:
virtual ~nsDirectoryViewerFactory();
};
-class nsHTTPIndex : public nsIHTTPIndex,
- public nsIRDFDataSource,
- public nsIStreamListener,
- public nsIDirIndexListener,
- public nsIInterfaceRequestor,
- public nsIFTPEventSink
+class nsHTTPIndex MOZ_FINAL : public nsIHTTPIndex,
+ public nsIRDFDataSource,
+ public nsIStreamListener,
+ public nsIDirIndexListener,
+ public nsIInterfaceRequestor,
+ public nsIFTPEventSink
{
private:
// note: these are NOT statics due to the native of nsHTTPIndex
// where it may or may not be treated as a singleton
nsCOMPtr<nsIRDFResource> kNC_Child;
nsCOMPtr<nsIRDFResource> kNC_Comment;