bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj

This commit is contained in:
Trevor Saunders 2014-08-05 13:33:55 -04:00
parent c2d79a26ff
commit fd5e9d1fcc
121 changed files with 336 additions and 336 deletions

View File

@ -71,7 +71,7 @@ private:
* 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() { }

View File

@ -85,8 +85,8 @@ private:
/**
* 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);

View File

@ -41,11 +41,11 @@ 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;

View File

@ -20,7 +20,7 @@ namespace a11y {
* the inner document root.
*/
class OuterDocAccessible : public AccessibleWrap
class OuterDocAccessible MOZ_FINAL : public AccessibleWrap
{
public:
OuterDocAccessible(nsIContent* aContent, DocAccessible* aDoc);

View File

@ -109,7 +109,7 @@ protected:
* 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:

View File

@ -16,7 +16,7 @@ namespace a11y {
/**
* Used for HTML image maps.
*/
class HTMLImageMapAccessible : public ImageAccessibleWrap
class HTMLImageMapAccessible MOZ_FINAL : public ImageAccessibleWrap
{
public:
HTMLImageMapAccessible(nsIContent* aContent, DocAccessible* aDoc);
@ -52,7 +52,7 @@ protected:
/**
* Accessible for image map areas - must be child of image.
*/
class HTMLAreaAccessible : public HTMLLinkAccessible
class HTMLAreaAccessible MOZ_FINAL : public HTMLLinkAccessible
{
public:

View File

@ -163,7 +163,7 @@ 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 };

View File

@ -110,7 +110,7 @@ private:
/**
* Used for XUL groupbox element.
*/
class XULGroupboxAccessible : public AccessibleWrap
class XULGroupboxAccessible MOZ_FINAL : public AccessibleWrap
{
public:
XULGroupboxAccessible(nsIContent* aContent, DocAccessible* aDoc);

View File

@ -72,7 +72,7 @@ protected:
* 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;

View File

@ -27,7 +27,7 @@ class nsIURI;
#define NS_NULLPRINCIPAL_SCHEME "moz-nullprincipal"
class nsNullPrincipal : public nsJSPrincipals
class nsNullPrincipal MOZ_FINAL : public nsJSPrincipals
{
public:
nsNullPrincipal();

View File

@ -44,7 +44,7 @@ protected:
nsCOMPtr<nsIContentSecurityPolicy> mCSP;
};
class nsPrincipal : public nsBasePrincipal
class nsPrincipal MOZ_FINAL : public nsBasePrincipal
{
public:
NS_DECL_ISUPPORTS_INHERITED

View File

@ -32,9 +32,9 @@ class ClassInfoData;
{ 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();

View File

@ -17,7 +17,7 @@
#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

View File

@ -66,7 +66,7 @@ private:
*
*/
class nsNameSpaceManager
class nsNameSpaceManager MOZ_FINAL
{
public:
virtual ~nsNameSpaceManager() {}

View File

@ -32,12 +32,12 @@
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;

View File

@ -179,16 +179,16 @@ 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;

View File

@ -29,9 +29,9 @@ 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:

View File

@ -45,7 +45,7 @@ class OggCodecStore
Monitor mMonitor;
};
class OggReader : public MediaDecoderReader
class OggReader MOZ_FINAL : public MediaDecoderReader
{
public:
OggReader(AbstractMediaDecoder* aDecoder);

View File

@ -31,7 +31,7 @@ class SVGMPathElement;
// 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;

View File

@ -123,24 +123,24 @@ typedef enum {
//*** 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;

View File

@ -27,10 +27,10 @@ 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();

View File

@ -105,9 +105,9 @@ 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);

View File

@ -112,7 +112,7 @@ class CanvasRenderingContext2DUserData;
/**
** CanvasRenderingContext2D
**/
class CanvasRenderingContext2D :
class CanvasRenderingContext2D MOZ_FINAL :
public nsICanvasRenderingContextInternal,
public nsWrapperCache
{

View File

@ -48,8 +48,8 @@ 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;

View File

@ -65,11 +65,11 @@ 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;

View File

@ -226,20 +226,20 @@ protected:
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;

View File

@ -44,10 +44,10 @@ class gfxXlibSurface;
#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();

View File

@ -54,7 +54,7 @@ using mozilla::unused; // <snicker>
using namespace mozilla;
using namespace mozilla::dom;
class nsGeolocationRequest
class nsGeolocationRequest MOZ_FINAL
: public nsIContentPermissionRequest
, public nsITimerCallback
, public nsIGeolocationUpdate

View File

@ -27,7 +27,7 @@ class nsITextServicesFilter;
class DictionaryFetcher;
class nsEditorSpellCheck : public nsIEditorSpellCheck
class nsEditorSpellCheck MOZ_FINAL : public nsIEditorSpellCheck
{
friend class DictionaryFetcher;

View File

@ -63,15 +63,15 @@ struct IMEState;
* 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;

View File

@ -16,7 +16,7 @@ class nsITransaction;
class nsTransactionManager;
class nsTransactionStack;
class nsTransactionItem
class nsTransactionItem MOZ_FINAL
{
nsCOMArray<nsISupports> mData;
nsCOMPtr<nsITransaction> mTransaction;

View File

@ -23,8 +23,8 @@ class nsTransactionItem;
/** implementation of a transaction manager object.
*
*/
class nsTransactionManager : public nsITransactionManager
, public nsSupportsWeakReference
class nsTransactionManager MOZ_FINAL : public nsITransactionManager
, public nsSupportsWeakReference
{
private:

View File

@ -72,18 +72,18 @@ public:
{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
{

View File

@ -312,7 +312,7 @@ protected:
* Aims to behave just like the real thing.
*/
class TiledTextureImage
class TiledTextureImage MOZ_FINAL
: public TextureImage
{
public:

View File

@ -11,7 +11,7 @@
namespace mozilla {
namespace gl {
class TextureImageEGL
class TextureImageEGL MOZ_FINAL
: public TextureImage
{
public:

View File

@ -865,8 +865,8 @@ protected:
* 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;

View File

@ -41,7 +41,7 @@ class ReadbackProcessor;
* context (with appropriate clipping and Push/PopGroups performed
* between layers).
*/
class BasicLayerManager :
class BasicLayerManager MOZ_FINAL :
public LayerManager
{
public:

View File

@ -38,7 +38,7 @@ class PLayerChild;
class TextureClientPool;
class SimpleTextureClientPool;
class ClientLayerManager : public LayerManager
class ClientLayerManager MOZ_FINAL : public LayerManager
{
typedef nsTArray<nsRefPtr<Layer> > LayerRefArray;

View File

@ -123,8 +123,8 @@ public:
};
// thin wrapper around RotatedContentBuffer, for on-mtc
class ContentClientBasic : public ContentClient
, protected RotatedContentBuffer
class ContentClientBasic MOZ_FINAL : public ContentClient
, protected RotatedContentBuffer
{
public:
ContentClientBasic();

View File

@ -66,7 +66,7 @@ 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;

View File

@ -87,8 +87,8 @@ private:
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)

View File

@ -37,8 +37,8 @@ namespace layers {
* 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;

View File

@ -207,9 +207,9 @@ protected:
* 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,

View File

@ -34,7 +34,7 @@ namespace mozilla {
static nsTArray<nsCString> *gFeaturesAlreadyReported = nullptr;
class ObserverToDestroyFeaturesAlreadyReported : public nsIObserver
class ObserverToDestroyFeaturesAlreadyReported MOZ_FINAL : public nsIObserver
{
public:

View File

@ -17,7 +17,7 @@
#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.

View File

@ -19,7 +19,7 @@
{ 0x99, 0x7, 0x0, 0x10, 0x83, 0x1, 0xe, 0x9b } \
}
class nsMozIconURI : public nsIMozIconURI
class nsMozIconURI MOZ_FINAL : public nsIMozIconURI
{
public:
NS_DECL_THREADSAFE_ISUPPORTS

View File

@ -135,11 +135,11 @@ 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)

View File

@ -207,7 +207,7 @@ private:
* 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

View File

@ -26,8 +26,8 @@ class SVGRootRenderingObserver;
class SVGLoadEventListener;
class SVGParseCompleteListener;
class VectorImage : public ImageResource,
public nsIStreamListener
class VectorImage MOZ_FINAL : public ImageResource,
public nsIStreamListener
{
public:
NS_DECL_ISUPPORTS

View File

@ -205,11 +205,11 @@ private:
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();

View File

@ -40,11 +40,11 @@ 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();

View File

@ -14,7 +14,7 @@
{0xbd, 0xef, 0x2c, 0x7a, 0xe2, 0x49, 0x96, 0x7a} \
}
class imgTools : public imgITools
class imgTools MOZ_FINAL : public imgITools
{
public:
NS_DECL_ISUPPORTS

View File

@ -95,7 +95,7 @@ xpc::CheckAccessList(const char16_t *wideName, const char *const list[])
/***************************************************************************/
class nsXPCComponents_Interfaces :
class nsXPCComponents_Interfaces MOZ_FINAL :
public nsIXPCComponents_Interfaces,
public nsIXPCScriptable,
public nsIClassInfo
@ -346,7 +346,7 @@ nsXPCComponents_Interfaces::NewResolve(nsIXPConnectWrappedNative *wrapper,
/***************************************************************************/
/***************************************************************************/
class nsXPCComponents_InterfacesByID :
class nsXPCComponents_InterfacesByID MOZ_FINAL :
public nsIXPCComponents_InterfacesByID,
public nsIXPCScriptable,
public nsIClassInfo
@ -603,7 +603,7 @@ nsXPCComponents_InterfacesByID::NewResolve(nsIXPConnectWrappedNative *wrapper,
class nsXPCComponents_Classes :
class nsXPCComponents_Classes MOZ_FINAL :
public nsIXPCComponents_Classes,
public nsIXPCScriptable,
public nsIClassInfo
@ -844,7 +844,7 @@ nsXPCComponents_Classes::NewResolve(nsIXPConnectWrappedNative *wrapper,
/***************************************************************************/
/***************************************************************************/
class nsXPCComponents_ClassesByID :
class nsXPCComponents_ClassesByID MOZ_FINAL :
public nsIXPCComponents_ClassesByID,
public nsIXPCScriptable,
public nsIClassInfo
@ -1107,7 +1107,7 @@ nsXPCComponents_ClassesByID::NewResolve(nsIXPConnectWrappedNative *wrapper,
// 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
@ -1327,7 +1327,7 @@ nsXPCComponents_Results::NewResolve(nsIXPConnectWrappedNative *wrapper,
/***************************************************************************/
// JavaScript Constructor for nsIJSID objects (Components.ID)
class nsXPCComponents_ID :
class nsXPCComponents_ID MOZ_FINAL :
public nsIXPCComponents_ID,
public nsIXPCScriptable,
public nsIClassInfo
@ -1544,7 +1544,7 @@ nsXPCComponents_ID::HasInstance(nsIXPConnectWrappedNative *wrapper,
/***************************************************************************/
// JavaScript Constructor for nsIXPCException objects (Components.Exception)
class nsXPCComponents_Exception :
class nsXPCComponents_Exception MOZ_FINAL :
public nsIXPCComponents_Exception,
public nsIXPCScriptable,
public nsIClassInfo
@ -2190,7 +2190,7 @@ nsXPCConstructor::CallOrConstruct(nsIXPConnectWrappedNative *wrapper,JSContext *
/*******************************************************/
// JavaScript Constructor for nsIXPCConstructor objects (Components.Constructor)
class nsXPCComponents_Constructor :
class nsXPCComponents_Constructor MOZ_FINAL :
public nsIXPCComponents_Constructor,
public nsIXPCScriptable,
public nsIClassInfo
@ -2505,7 +2505,7 @@ nsXPCComponents_Constructor::HasInstance(nsIXPConnectWrappedNative *wrapper,
return NS_OK;
}
class nsXPCComponents_Utils :
class nsXPCComponents_Utils MOZ_FINAL :
public nsIXPCComponents_Utils,
public nsIXPCScriptable
{

View File

@ -34,7 +34,7 @@ class Selection;
}
//-----------------------------------------------------------------------------
class nsCaret : public nsISelectionListener
class nsCaret MOZ_FINAL : public nsISelectionListener
{
public:
nsCaret();

View File

@ -2336,7 +2336,7 @@ public:
/**
* 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)

View File

@ -56,10 +56,10 @@ class CSSStyleSheet;
// 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();

View File

@ -431,7 +431,7 @@ protected:
* 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:

View File

@ -360,7 +360,7 @@ nsComboboxControlFrame::ShowList(bool aShowList)
return weakFrame.IsAlive();
}
class nsResizeDropdownAtFinalPosition
class nsResizeDropdownAtFinalPosition MOZ_FINAL
: public nsIReflowCallback, public nsRunnable
{
public:

View File

@ -37,13 +37,13 @@ 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,

View File

@ -46,10 +46,10 @@ class HTMLOptionsCollection;
* 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,

View File

@ -24,10 +24,10 @@ 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

View File

@ -55,8 +55,8 @@ namespace layout {
* ActivityStarted().
*/
class ScrollbarActivity : public nsIDOMEventListener,
public nsARefreshObserver {
class ScrollbarActivity MOZ_FINAL : public nsIDOMEventListener,
public nsARefreshObserver {
public:
ScrollbarActivity(nsIScrollbarOwner* aScrollableFrame)
: mScrollableFrame(aScrollableFrame)

View File

@ -46,9 +46,9 @@ struct RangeData
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();

View File

@ -195,7 +195,7 @@ public:
int32_t mOrdinal;
};
class nsDisplayBullet : public nsDisplayItem {
class nsDisplayBullet MOZ_FINAL : public nsDisplayItem {
public:
nsDisplayBullet(nsDisplayListBuilder* aBuilder, nsBulletFrame* aFrame) :
nsDisplayItem(aBuilder, aFrame) {

View File

@ -18,7 +18,7 @@ class imgRequestProxy;
class nsBulletFrame;
class nsBulletListener : public imgINotificationObserver
class nsBulletListener MOZ_FINAL : public imgINotificationObserver
{
public:
nsBulletListener();
@ -38,7 +38,7 @@ private:
* 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

View File

@ -25,9 +25,9 @@ class nsRenderingContext;
* 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)

View File

@ -9,7 +9,7 @@
#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

View File

@ -767,10 +767,10 @@ private:
* 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;

View File

@ -21,8 +21,8 @@ class nsIFrame;
class nsIContent;
struct nsRect;
class nsImageMap : public nsStubMutationObserver,
public nsIDOMEventListener
class nsImageMap MOZ_FINAL : public nsStubMutationObserver,
public nsIDOMEventListener
{
public:
nsImageMap();

View File

@ -12,7 +12,7 @@
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

View File

@ -161,7 +161,7 @@ public:
}
};
class nsAutoScrollTimer : public nsITimerCallback
class nsAutoScrollTimer MOZ_FINAL : public nsITimerCallback
{
public:

View File

@ -79,7 +79,7 @@ protected:
* 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,

View File

@ -19,7 +19,7 @@ class nsIDOMCSSRuleList;
class nsIDOMCSSStyleRule;
class nsIURI;
class inCSSValueSearch : public inICSSValueSearch
class inCSSValueSearch MOZ_FINAL : public inICSSValueSearch
{
public:
NS_DECL_ISUPPORTS

View File

@ -17,7 +17,7 @@ class Element;
} // namespace dom
} // namespace mozilla
class inDOMUtils : public inIDOMUtils
class inDOMUtils MOZ_FINAL : public inIDOMUtils
{
public:
NS_DECL_ISUPPORTS

View File

@ -17,7 +17,7 @@ class nsRenderingContext;
#define DIR_VERTICAL 0
#define DIR_HORIZONTAL 1
class inFlasher : public inIFlasher
class inFlasher MOZ_FINAL : public inIFlasher
{
public:
NS_DECL_ISUPPORTS

View File

@ -13,7 +13,7 @@
// <mfenced> -- surround content with a pair of fences
//
class nsMathMLmfencedFrame : public nsMathMLContainerFrame {
class nsMathMLmfencedFrame MOZ_FINAL : public nsMathMLContainerFrame {
public:
NS_DECL_FRAMEARENA_HELPERS

View File

@ -50,7 +50,7 @@ using namespace mozilla::dom;
// -------------------------------
// Style Rule List for the DOM
//
class CSSRuleListImpl : public CSSRuleList
class CSSRuleListImpl MOZ_FINAL : public CSSRuleList
{
public:
CSSRuleListImpl(CSSStyleSheet *aStyleSheet);

View File

@ -282,7 +282,7 @@ class DOMCSSStyleRule;
class StyleRule;
class ImportantRule : public nsIStyleRule {
class ImportantRule MOZ_FINAL : public nsIStyleRule {
public:
explicit ImportantRule(Declaration *aDeclaration);

View File

@ -184,7 +184,7 @@ protected:
// 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

View File

@ -238,7 +238,7 @@ struct SVGTextContextPaint : public gfxTextContextPaint {
* 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);

View File

@ -164,7 +164,7 @@ protected:
*
* The nsSVGFilterProperty class manages a list of nsSVGFilterReferences.
*/
class nsSVGFilterReference :
class nsSVGFilterReference MOZ_FINAL :
public nsSVGIDRenderingObserver, public nsISVGFilterReference {
public:
nsSVGFilterReference(nsIURI *aURI, nsIFrame *aFilteredFrame)

View File

@ -18,8 +18,8 @@ class nsSVGForeignObjectFrame;
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);

View File

@ -287,7 +287,7 @@ inline void nsTableCellFrame::SetHasPctOverHeight(bool aValue)
}
// nsBCTableCellFrame
class nsBCTableCellFrame : public nsTableCellFrame
class nsBCTableCellFrame MOZ_FINAL : public nsTableCellFrame
{
public:
NS_DECL_FRAMEARENA_HELPERS

View File

@ -25,7 +25,7 @@ enum nsTableColGroupType {
*
* @author sclark
*/
class nsTableColGroupFrame : public nsContainerFrame
class nsTableColGroupFrame MOZ_FINAL : public nsContainerFrame
{
public:
NS_DECL_FRAMEARENA_HELPERS

View File

@ -51,7 +51,7 @@ struct nsRowGroupReflowState {
* @see nsTableFrame
* @see nsTableRowFrame
*/
class nsTableRowGroupFrame
class nsTableRowGroupFrame MOZ_FINAL
: public nsContainerFrame
, public nsILineIterator
{

View File

@ -23,8 +23,8 @@ class nsGridCell;
/**
* The nsBoxLayout implementation for a grid.
*/
class nsGridLayout2 : public nsStackLayout,
public nsIGridPart
class nsGridLayout2 MOZ_FINAL : public nsStackLayout,
public nsIGridPart
{
public:

View File

@ -22,7 +22,7 @@
*/
// 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:

View File

@ -19,8 +19,8 @@ class nsImageBoxFrame;
class nsDisplayXULImage;
class nsImageBoxListener : public imgINotificationObserver,
public imgIOnloadBlocker
class nsImageBoxListener MOZ_FINAL : public imgINotificationObserver,
public imgIOnloadBlocker
{
public:
nsImageBoxListener();
@ -37,7 +37,7 @@ private:
nsImageBoxFrame *mFrame;
};
class nsImageBoxFrame : public nsLeafBoxFrame
class nsImageBoxFrame MOZ_FINAL : public nsLeafBoxFrame
{
public:
typedef mozilla::layers::LayerManager LayerManager;

View File

@ -64,7 +64,7 @@ using namespace mozilla::dom;
// do we wait before checking again?
#define SMOOTH_INTERVAL 100
class nsListScrollSmoother : public nsITimerCallback
class nsListScrollSmoother MOZ_FINAL : public nsITimerCallback
{
private:
virtual ~nsListScrollSmoother();

View File

@ -21,9 +21,9 @@ 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);

View File

@ -15,7 +15,7 @@
#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

View File

@ -22,7 +22,7 @@ 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)

View File

@ -19,7 +19,7 @@ class nsIDOMKeyEvent;
/** editor Implementation of the DragListener interface
*/
class nsMenuBarListener : public nsIDOMEventListener
class nsMenuBarListener MOZ_FINAL : public nsIDOMEventListener
{
public:
/** default constructor

View File

@ -72,7 +72,7 @@ private:
nsMenuFrame* mFrame;
};
class nsMenuFrame : public nsBoxFrame
class nsMenuFrame MOZ_FINAL : public nsBoxFrame
{
public:
nsMenuFrame(nsIPresShell* aShell, nsStyleContext* aContext);

View File

@ -148,7 +148,7 @@ private:
nsRefPtr<nsPresContext> mPresContext;
};
class nsMenuPopupFrame : public nsBoxFrame, public nsMenuParent
class nsMenuPopupFrame MOZ_FINAL : public nsBoxFrame, public nsMenuParent
{
public:
NS_DECL_QUERYFRAME_TARGET(nsMenuPopupFrame)

View File

@ -22,7 +22,7 @@
class nsITimer;
class nsRepeatService : public nsITimerCallback
class nsRepeatService MOZ_FINAL : public nsITimerCallback
{
public:

View File

@ -15,7 +15,8 @@
using namespace mozilla;
class nsScrollBoxObject : public nsIScrollBoxObject, public nsBoxObject
class nsScrollBoxObject MOZ_FINAL : public nsIScrollBoxObject,
public nsBoxObject
{
public:
NS_DECL_ISUPPORTS_INHERITED

View File

@ -20,7 +20,7 @@ class nsSliderFrame;
nsIFrame* NS_NewSliderFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
class nsSliderMediator : public nsIDOMEventListener
class nsSliderMediator MOZ_FINAL : public nsIDOMEventListener
{
public:

View File

@ -50,7 +50,7 @@ public:
int32_t index;
};
class nsSplitterFrameInner : public nsIDOMEventListener
class nsSplitterFrameInner MOZ_FINAL : public nsIDOMEventListener
{
protected:
virtual ~nsSplitterFrameInner();

View File

@ -57,11 +57,11 @@ static const int32_t kDefaultTCPKeepCount =
//-----------------------------------------------------------------------------
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;

Some files were not shown because too many files have changed in this diff Show More