Bug 674922 - make frame id lists reusable by other parts of the browser; r=roc

This commit is contained in:
Nathan Froyd 2012-06-05 11:10:28 -04:00
parent 1aa688bab1
commit 10c29a5783
3 changed files with 179 additions and 171 deletions

View File

@ -19,6 +19,7 @@ LIBXUL_LIBRARY = 1
EXPORTS = \
nsQueryFrame.h \
nsFrameIdList.h \
nsFrameList.h \
nsCanvasFrame.h \
nsHTMLParts.h \

View File

@ -0,0 +1,175 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
FRAME_ID(BRFrame)
FRAME_ID(nsAutoRepeatBoxFrame)
FRAME_ID(nsBCTableCellFrame)
FRAME_ID(nsBlockFrame)
FRAME_ID(nsBox)
FRAME_ID(nsBoxFrame)
FRAME_ID(nsBulletFrame)
FRAME_ID(nsButtonBoxFrame)
FRAME_ID(nsCanvasFrame)
FRAME_ID(nsColumnSetFrame)
FRAME_ID(nsComboboxControlFrame)
FRAME_ID(nsComboboxDisplayFrame)
FRAME_ID(nsContainerFrame)
FRAME_ID(nsContinuingTextFrame)
FRAME_ID(nsDeckFrame)
FRAME_ID(nsDocElementBoxFrame)
FRAME_ID(nsFieldSetFrame)
FRAME_ID(nsFileControlFrame)
FRAME_ID(nsFirstLetterFrame)
FRAME_ID(nsFirstLineFrame)
FRAME_ID(nsFormControlFrame)
FRAME_ID(nsFrame)
FRAME_ID(nsGfxButtonControlFrame)
FRAME_ID(nsGfxCheckboxControlFrame)
FRAME_ID(nsGfxRadioControlFrame)
FRAME_ID(nsGridRowGroupFrame)
FRAME_ID(nsGridRowLeafFrame)
FRAME_ID(nsGroupBoxFrame)
FRAME_ID(nsHTMLButtonControlFrame)
FRAME_ID(nsHTMLCanvasFrame)
FRAME_ID(nsHTMLFramesetBlankFrame)
FRAME_ID(nsHTMLFramesetBorderFrame)
FRAME_ID(nsHTMLFramesetFrame)
FRAME_ID(nsHTMLScrollFrame)
FRAME_ID(nsIAnonymousContentCreator)
FRAME_ID(nsIComboboxControlFrame)
FRAME_ID(nsIFormControlFrame)
FRAME_ID(nsIFrame)
FRAME_ID(nsIFrameFrame)
FRAME_ID(nsIListControlFrame)
FRAME_ID(nsIMathMLFrame)
FRAME_ID(nsIMenuFrame)
FRAME_ID(nsIObjectFrame)
FRAME_ID(nsIPageSequenceFrame)
FRAME_ID(nsIPercentHeightObserver)
FRAME_ID(nsIRootBox)
FRAME_ID(nsISVGChildFrame)
FRAME_ID(nsISVGGlyphFragmentLeaf)
FRAME_ID(nsISVGGlyphFragmentNode)
FRAME_ID(nsISVGSVGFrame)
FRAME_ID(nsIScrollableFrame)
FRAME_ID(nsIScrollbarMediator)
FRAME_ID(nsISelectControlFrame)
FRAME_ID(nsIStatefulFrame)
FRAME_ID(nsITableCellLayout)
FRAME_ID(nsITableLayout)
FRAME_ID(nsITextControlFrame)
FRAME_ID(nsITreeBoxObject)
FRAME_ID(nsImageBoxFrame)
FRAME_ID(nsImageControlFrame)
FRAME_ID(nsImageFrame)
FRAME_ID(nsInlineFrame)
FRAME_ID(nsLeafBoxFrame)
FRAME_ID(nsLeafFrame)
FRAME_ID(nsLegendFrame)
FRAME_ID(nsListBoxBodyFrame)
FRAME_ID(nsListControlFrame)
FRAME_ID(nsListItemFrame)
FRAME_ID(nsMathMLContainerFrame)
FRAME_ID(nsMathMLFrame)
FRAME_ID(nsMathMLmactionFrame)
FRAME_ID(nsMathMLmathBlockFrame)
FRAME_ID(nsMathMLmathInlineFrame)
FRAME_ID(nsMathMLmencloseFrame)
FRAME_ID(nsMathMLmfencedFrame)
FRAME_ID(nsMathMLmfracFrame)
FRAME_ID(nsMathMLmmultiscriptsFrame)
FRAME_ID(nsMathMLmoFrame)
FRAME_ID(nsMathMLmoverFrame)
FRAME_ID(nsMathMLmpaddedFrame)
FRAME_ID(nsMathMLmphantomFrame)
FRAME_ID(nsMathMLmrootFrame)
FRAME_ID(nsMathMLmrowFrame)
FRAME_ID(nsMathMLmspaceFrame)
FRAME_ID(nsMathMLmsqrtFrame)
FRAME_ID(nsMathMLmstyleFrame)
FRAME_ID(nsMathMLmsubFrame)
FRAME_ID(nsMathMLmsubsupFrame)
FRAME_ID(nsMathMLmsupFrame)
FRAME_ID(nsMathMLmtableFrame)
FRAME_ID(nsMathMLmtableOuterFrame)
FRAME_ID(nsMathMLmtdFrame)
FRAME_ID(nsMathMLmtdInnerFrame)
FRAME_ID(nsMathMLmtrFrame)
FRAME_ID(nsMathMLmunderFrame)
FRAME_ID(nsMathMLmunderoverFrame)
FRAME_ID(nsMathMLsemanticsFrame)
FRAME_ID(nsMathMLTokenFrame)
FRAME_ID(nsMenuBarFrame)
FRAME_ID(nsMenuFrame)
FRAME_ID(nsMenuPopupFrame)
FRAME_ID(nsMeterFrame)
FRAME_ID(nsObjectFrame)
FRAME_ID(nsPageBreakFrame)
FRAME_ID(nsPageContentFrame)
FRAME_ID(nsPageFrame)
FRAME_ID(nsPlaceholderFrame)
FRAME_ID(nsPopupSetFrame)
FRAME_ID(nsProgressFrame)
FRAME_ID(nsProgressMeterFrame)
FRAME_ID(nsResizerFrame)
FRAME_ID(nsRootBoxFrame)
FRAME_ID(nsScrollbarButtonFrame)
FRAME_ID(nsScrollbarFrame)
FRAME_ID(nsSelectsAreaFrame)
FRAME_ID(nsSimplePageSequenceFrame)
FRAME_ID(nsSliderFrame)
FRAME_ID(nsSplittableFrame)
FRAME_ID(nsSplitterFrame)
FRAME_ID(nsStackFrame)
FRAME_ID(nsSubDocumentFrame)
FRAME_ID(nsSVGAFrame)
FRAME_ID(nsSVGClipPathFrame)
FRAME_ID(nsSVGContainerFrame)
FRAME_ID(nsSVGDisplayContainerFrame)
FRAME_ID(SVGFEContainerFrame)
FRAME_ID(SVGFEImageFrame)
FRAME_ID(SVGFELeafFrame)
FRAME_ID(SVGFEUnstyledLeafFrame)
FRAME_ID(nsSVGFilterFrame)
FRAME_ID(nsSVGForeignObjectFrame)
FRAME_ID(nsSVGGenericContainerFrame)
FRAME_ID(nsSVGGeometryFrame)
FRAME_ID(nsSVGGFrame)
FRAME_ID(nsSVGGlyphFrame)
FRAME_ID(nsSVGGradientFrame)
FRAME_ID(nsSVGImageFrame)
FRAME_ID(nsSVGInnerSVGFrame)
FRAME_ID(nsSVGLinearGradientFrame)
FRAME_ID(nsSVGMarkerFrame)
FRAME_ID(nsSVGMaskFrame)
FRAME_ID(nsSVGOuterSVGFrame)
FRAME_ID(nsSVGPaintServerFrame)
FRAME_ID(nsSVGPathGeometryFrame)
FRAME_ID(nsSVGPatternFrame)
FRAME_ID(nsSVGRadialGradientFrame)
FRAME_ID(nsSVGStopFrame)
FRAME_ID(nsSVGSwitchFrame)
FRAME_ID(nsSVGTextContainerFrame)
FRAME_ID(nsSVGTextFrame)
FRAME_ID(nsSVGTextPathFrame)
FRAME_ID(nsSVGTSpanFrame)
FRAME_ID(nsSVGUseFrame)
FRAME_ID(nsTableCaptionFrame)
FRAME_ID(nsTableCellFrame)
FRAME_ID(nsTableColFrame)
FRAME_ID(nsTableColGroupFrame)
FRAME_ID(nsTableFrame)
FRAME_ID(nsTableOuterFrame)
FRAME_ID(nsTableRowFrame)
FRAME_ID(nsTableRowGroupFrame)
FRAME_ID(nsTextBoxFrame)
FRAME_ID(nsTextControlFrame)
FRAME_ID(nsTextFrame)
FRAME_ID(nsTitleBarFrame)
FRAME_ID(nsTreeBodyFrame)
FRAME_ID(nsTreeColFrame)
FRAME_ID(nsVideoFrame)
FRAME_ID(nsXULLabelFrame)
FRAME_ID(nsXULScrollFrame)
FRAME_ID(ViewportFrame)

View File

@ -40,177 +40,9 @@ class nsQueryFrame
{
public:
enum FrameIID {
BRFrame_id,
nsAutoRepeatBoxFrame_id,
nsBCTableCellFrame_id,
nsBlockFrame_id,
nsBox_id,
nsBoxFrame_id,
nsBulletFrame_id,
nsButtonBoxFrame_id,
nsCanvasFrame_id,
nsColumnSetFrame_id,
nsComboboxControlFrame_id,
nsComboboxDisplayFrame_id,
nsContainerFrame_id,
nsContinuingTextFrame_id,
nsDeckFrame_id,
nsDocElementBoxFrame_id,
nsFieldSetFrame_id,
nsFileControlFrame_id,
nsFirstLetterFrame_id,
nsFirstLineFrame_id,
nsFormControlFrame_id,
nsFrame_id,
nsGfxButtonControlFrame_id,
nsGfxCheckboxControlFrame_id,
nsGfxRadioControlFrame_id,
nsGridRowGroupFrame_id,
nsGridRowLeafFrame_id,
nsGroupBoxFrame_id,
nsHTMLButtonControlFrame_id,
nsHTMLCanvasFrame_id,
nsHTMLFramesetBlankFrame_id,
nsHTMLFramesetBorderFrame_id,
nsHTMLFramesetFrame_id,
nsHTMLScrollFrame_id,
nsIAnonymousContentCreator_id,
nsIComboboxControlFrame_id,
nsIFormControlFrame_id,
nsIFrame_id,
nsIFrameFrame_id,
nsIListControlFrame_id,
nsIMathMLFrame_id,
nsIMenuFrame_id,
nsIObjectFrame_id,
nsIPageSequenceFrame_id,
nsIPercentHeightObserver_id,
nsIRootBox_id,
nsISVGChildFrame_id,
nsISVGGlyphFragmentLeaf_id,
nsISVGGlyphFragmentNode_id,
nsISVGSVGFrame_id,
nsIScrollableFrame_id,
nsIScrollbarMediator_id,
nsISelectControlFrame_id,
nsIStatefulFrame_id,
nsITableCellLayout_id,
nsITableLayout_id,
nsITextControlFrame_id,
nsITreeBoxObject_id,
nsImageBoxFrame_id,
nsImageControlFrame_id,
nsImageFrame_id,
nsInlineFrame_id,
nsLeafBoxFrame_id,
nsLeafFrame_id,
nsLegendFrame_id,
nsListBoxBodyFrame_id,
nsListControlFrame_id,
nsListItemFrame_id,
nsMathMLContainerFrame_id,
nsMathMLFrame_id,
nsMathMLmactionFrame_id,
nsMathMLmathBlockFrame_id,
nsMathMLmathInlineFrame_id,
nsMathMLmencloseFrame_id,
nsMathMLmfencedFrame_id,
nsMathMLmfracFrame_id,
nsMathMLmmultiscriptsFrame_id,
nsMathMLmoFrame_id,
nsMathMLmoverFrame_id,
nsMathMLmpaddedFrame_id,
nsMathMLmphantomFrame_id,
nsMathMLmrootFrame_id,
nsMathMLmrowFrame_id,
nsMathMLmspaceFrame_id,
nsMathMLmsqrtFrame_id,
nsMathMLmstyleFrame_id,
nsMathMLmsubFrame_id,
nsMathMLmsubsupFrame_id,
nsMathMLmsupFrame_id,
nsMathMLmtableFrame_id,
nsMathMLmtableOuterFrame_id,
nsMathMLmtdFrame_id,
nsMathMLmtdInnerFrame_id,
nsMathMLmtrFrame_id,
nsMathMLmunderFrame_id,
nsMathMLmunderoverFrame_id,
nsMathMLsemanticsFrame_id,
nsMathMLTokenFrame_id,
nsMenuBarFrame_id,
nsMenuFrame_id,
nsMenuPopupFrame_id,
nsMeterFrame_id,
nsObjectFrame_id,
nsPageBreakFrame_id,
nsPageContentFrame_id,
nsPageFrame_id,
nsPlaceholderFrame_id,
nsPopupSetFrame_id,
nsProgressFrame_id,
nsProgressMeterFrame_id,
nsResizerFrame_id,
nsRootBoxFrame_id,
nsScrollbarButtonFrame_id,
nsScrollbarFrame_id,
nsSelectsAreaFrame_id,
nsSimplePageSequenceFrame_id,
nsSliderFrame_id,
nsSplittableFrame_id,
nsSplitterFrame_id,
nsStackFrame_id,
nsSubDocumentFrame_id,
nsSVGAFrame_id,
nsSVGClipPathFrame_id,
nsSVGContainerFrame_id,
nsSVGDisplayContainerFrame_id,
SVGFEContainerFrame_id,
SVGFEImageFrame_id,
SVGFELeafFrame_id,
SVGFEUnstyledLeafFrame_id,
nsSVGFilterFrame_id,
nsSVGForeignObjectFrame_id,
nsSVGGenericContainerFrame_id,
nsSVGGeometryFrame_id,
nsSVGGFrame_id,
nsSVGGlyphFrame_id,
nsSVGGradientFrame_id,
nsSVGImageFrame_id,
nsSVGInnerSVGFrame_id,
nsSVGLinearGradientFrame_id,
nsSVGMarkerFrame_id,
nsSVGMaskFrame_id,
nsSVGOuterSVGFrame_id,
nsSVGPaintServerFrame_id,
nsSVGPathGeometryFrame_id,
nsSVGPatternFrame_id,
nsSVGRadialGradientFrame_id,
nsSVGStopFrame_id,
nsSVGSwitchFrame_id,
nsSVGTextContainerFrame_id,
nsSVGTextFrame_id,
nsSVGTextPathFrame_id,
nsSVGTSpanFrame_id,
nsSVGUseFrame_id,
nsTableCaptionFrame_id,
nsTableCellFrame_id,
nsTableColFrame_id,
nsTableColGroupFrame_id,
nsTableFrame_id,
nsTableOuterFrame_id,
nsTableRowFrame_id,
nsTableRowGroupFrame_id,
nsTextBoxFrame_id,
nsTextControlFrame_id,
nsTextFrame_id,
nsTitleBarFrame_id,
nsTreeBodyFrame_id,
nsTreeColFrame_id,
nsVideoFrame_id,
nsXULLabelFrame_id,
nsXULScrollFrame_id,
ViewportFrame_id,
#define FRAME_ID(classname) classname##_id,
#include "nsFrameIdList.h"
#undef FRAME_ID
// The PresArena implementation uses this bit to distinguish objects
// allocated by size from objects allocated by type ID (that is, frames