1# This Source Code Form is subject to the terms of the Mozilla Public 2# License, v. 2.0. If a copy of the MPL was not distributed with this 3# file, You can obtain one at http://mozilla.org/MPL/2.0/. 4# Frame class definitions, used to generate FrameIdList.h and FrameTypeList.h 5 6from FrameClass import Frame, AbstractFrame, LEAF, NOT_LEAF, DYNAMIC_LEAF 7 8FRAME_CLASSES = [ 9 Frame("BRFrame", "Br", LEAF), 10 Frame("DetailsFrame", "Details", NOT_LEAF), 11 Frame("nsBCTableCellFrame", "TableCell", NOT_LEAF), 12 Frame("nsBackdropFrame", "Backdrop", LEAF), 13 Frame("nsBlockFrame", "Block", NOT_LEAF), 14 Frame("nsBox", "None", NOT_LEAF), 15 Frame("nsBoxFrame", "Box", NOT_LEAF), 16 Frame("nsBulletFrame", "Bullet", LEAF), 17 Frame("nsButtonBoxFrame", "Box", NOT_LEAF), 18 Frame("nsCanvasFrame", "Canvas", NOT_LEAF), 19 Frame("nsCheckboxRadioFrame", "CheckboxRadio", LEAF), 20 Frame("nsColorControlFrame", "ColorControl", LEAF), 21 Frame("nsColumnSetFrame", "ColumnSet", NOT_LEAF), 22 Frame("ColumnSetWrapperFrame", "ColumnSetWrapper", NOT_LEAF), 23 Frame("nsComboboxControlFrame", "ComboboxControl", NOT_LEAF), 24 Frame("nsComboboxDisplayFrame", "ComboboxDisplay", NOT_LEAF), 25 Frame("nsContinuingTextFrame", "Text", LEAF), 26 Frame("nsDateTimeControlFrame", "DateTimeControl", NOT_LEAF), 27 Frame("nsDeckFrame", "Deck", NOT_LEAF), 28 Frame("nsDocElementBoxFrame", "DocElementBox", NOT_LEAF), 29 Frame("nsFieldSetFrame", "FieldSet", NOT_LEAF), 30 Frame("nsFileControlFrame", "Block", LEAF), 31 Frame("nsFirstLetterFrame", "Letter", NOT_LEAF), 32 Frame("nsFirstLineFrame", "Line", NOT_LEAF), 33 Frame("nsFlexContainerFrame", "FlexContainer", NOT_LEAF), 34 Frame("nsFrame", "None", NOT_LEAF), 35 Frame("nsGfxButtonControlFrame", "GfxButtonControl", LEAF), 36 Frame("nsGridContainerFrame", "GridContainer", NOT_LEAF), 37 Frame("nsGridRowGroupFrame", "Box", NOT_LEAF), 38 Frame("nsGridRowLeafFrame", "Box", NOT_LEAF), 39 Frame("nsHTMLButtonControlFrame", "HTMLButtonControl", NOT_LEAF), 40 Frame("nsHTMLCanvasFrame", "HTMLCanvas", NOT_LEAF), 41 Frame("nsHTMLFramesetBlankFrame", "None", LEAF), 42 Frame("nsHTMLFramesetBorderFrame", "None", LEAF), 43 Frame("nsHTMLFramesetFrame", "FrameSet", LEAF), 44 Frame("nsHTMLScrollFrame", "Scroll", NOT_LEAF), 45 Frame("nsImageBoxFrame", "ImageBox", LEAF), 46 Frame("nsImageControlFrame", "ImageControl", LEAF), 47 Frame("nsImageFrame", "Image", LEAF), 48 Frame("nsInlineFrame", "Inline", NOT_LEAF), 49 Frame("nsLeafBoxFrame", "LeafBox", LEAF), 50 Frame("nsLegendFrame", "Legend", NOT_LEAF), 51 Frame("nsListControlFrame", "ListControl", NOT_LEAF), 52 Frame("nsMathMLFrame", "None", NOT_LEAF), 53 Frame("nsMathMLmactionFrame", "None", NOT_LEAF), 54 Frame("nsMathMLmathBlockFrame", "Block", NOT_LEAF), 55 Frame("nsMathMLmathInlineFrame", "Inline", NOT_LEAF), 56 Frame("nsMathMLmencloseFrame", "None", NOT_LEAF), 57 Frame("nsMathMLmfencedFrame", "None", NOT_LEAF), 58 Frame("nsMathMLmfracFrame", "None", NOT_LEAF), 59 Frame("nsMathMLmmultiscriptsFrame", "None", NOT_LEAF), 60 Frame("nsMathMLmoFrame", "None", NOT_LEAF), 61 Frame("nsMathMLmpaddedFrame", "None", NOT_LEAF), 62 Frame("nsMathMLmrootFrame", "None", NOT_LEAF), 63 Frame("nsMathMLmrowFrame", "None", NOT_LEAF), 64 Frame("nsMathMLmspaceFrame", "None", LEAF), 65 Frame("nsMathMLmsqrtFrame", "None", NOT_LEAF), 66 Frame("nsMathMLmtableFrame", "Table", NOT_LEAF), 67 Frame("nsMathMLmtableWrapperFrame", "TableWrapper", NOT_LEAF), 68 Frame("nsMathMLmtdFrame", "TableCell", NOT_LEAF), 69 Frame("nsMathMLmtdInnerFrame", "Block", NOT_LEAF), 70 Frame("nsMathMLmtrFrame", "TableRow", NOT_LEAF), 71 Frame("nsMathMLmunderoverFrame", "None", NOT_LEAF), 72 Frame("nsMathMLsemanticsFrame", "None", NOT_LEAF), 73 Frame("nsMathMLTokenFrame", "None", NOT_LEAF), 74 Frame("nsMenuBarFrame", "Box", NOT_LEAF), 75 Frame("nsMenuFrame", "Menu", NOT_LEAF), 76 Frame("nsMenuPopupFrame", "MenuPopup", DYNAMIC_LEAF), 77 Frame("nsMeterFrame", "Meter", LEAF), 78 Frame("nsNumberControlFrame", "TextInput", LEAF), 79 Frame("nsPluginFrame", "Object", LEAF), 80 Frame("nsPageBreakFrame", "PageBreak", LEAF), 81 Frame("nsPageContentFrame", "PageContent", NOT_LEAF), 82 Frame("nsPageFrame", "Page", NOT_LEAF), 83 Frame("nsPlaceholderFrame", "Placeholder", LEAF), 84 Frame("nsPopupSetFrame", "PopupSet", NOT_LEAF), 85 Frame("nsProgressFrame", "Progress", LEAF), 86 Frame("nsRangeFrame", "Range", LEAF), 87 Frame("nsResizerFrame", "Box", NOT_LEAF), 88 Frame("nsRootBoxFrame", "Root", NOT_LEAF), 89 Frame("nsRubyBaseContainerFrame", "RubyBaseContainer", NOT_LEAF), 90 Frame("nsRubyBaseFrame", "RubyBase", NOT_LEAF), 91 Frame("nsRubyFrame", "Ruby", NOT_LEAF), 92 Frame("nsRubyTextContainerFrame", "RubyTextContainer", NOT_LEAF), 93 Frame("nsRubyTextFrame", "RubyText", NOT_LEAF), 94 Frame("nsScrollbarButtonFrame", "Box", NOT_LEAF), 95 Frame("nsScrollbarFrame", "Scrollbar", NOT_LEAF), 96 Frame("nsSelectsAreaFrame", "Block", NOT_LEAF), 97 Frame("nsPageSequenceFrame", "PageSequence", NOT_LEAF), 98 Frame("nsSliderFrame", "Slider", NOT_LEAF), 99 Frame("nsSplitterFrame", "Box", NOT_LEAF), 100 Frame("nsStackFrame", "Box", NOT_LEAF), 101 Frame("nsSubDocumentFrame", "SubDocument", LEAF), 102 Frame("nsSVGAFrame", "SVGA", NOT_LEAF), 103 Frame("nsSVGClipPathFrame", "SVGClipPath", NOT_LEAF), 104 Frame("nsSVGContainerFrame", "None", NOT_LEAF), 105 Frame("SVGFEContainerFrame", "SVGFEContainer", NOT_LEAF), 106 Frame("SVGFEImageFrame", "SVGFEImage", LEAF), 107 Frame("SVGFELeafFrame", "SVGFELeaf", LEAF), 108 Frame("SVGFEUnstyledLeafFrame", "SVGFEUnstyledLeaf", LEAF), 109 Frame("nsSVGFilterFrame", "SVGFilter", NOT_LEAF), 110 Frame("nsSVGForeignObjectFrame", "SVGForeignObject", NOT_LEAF), 111 Frame("nsSVGGenericContainerFrame", "SVGGenericContainer", NOT_LEAF), 112 Frame("nsSVGGFrame", "SVGG", NOT_LEAF), 113 Frame("nsSVGImageFrame", "SVGImage", LEAF), 114 Frame("nsSVGInnerSVGFrame", "SVGInnerSVG", NOT_LEAF), 115 Frame("nsSVGLinearGradientFrame", "SVGLinearGradient", NOT_LEAF), 116 Frame("nsSVGMarkerFrame", "SVGMarker", NOT_LEAF), 117 Frame("nsSVGMarkerAnonChildFrame", "SVGMarkerAnonChild", NOT_LEAF), 118 Frame("nsSVGMaskFrame", "SVGMask", NOT_LEAF), 119 Frame("nsSVGOuterSVGFrame", "SVGOuterSVG", NOT_LEAF), 120 Frame("nsSVGOuterSVGAnonChildFrame", "SVGOuterSVGAnonChild", NOT_LEAF), 121 Frame("SVGGeometryFrame", "SVGGeometry", LEAF), 122 Frame("nsSVGPatternFrame", "SVGPattern", NOT_LEAF), 123 Frame("nsSVGRadialGradientFrame", "SVGRadialGradient", NOT_LEAF), 124 Frame("nsSVGStopFrame", "SVGStop", LEAF), 125 Frame("nsSVGSwitchFrame", "SVGSwitch", NOT_LEAF), 126 Frame("nsSVGSymbolFrame", "SVGSymbol", NOT_LEAF), 127 Frame("SVGTextFrame", "SVGText", NOT_LEAF), 128 # Not a leaf, though it always has a ShadowRoot, so in practice light DOM 129 # children never render. 130 Frame("nsSVGUseFrame", "SVGUse", NOT_LEAF), 131 Frame("SVGViewFrame", "SVGView", LEAF), 132 Frame("nsTableCellFrame", "TableCell", NOT_LEAF), 133 Frame("nsTableColFrame", "TableCol", LEAF), 134 Frame("nsTableColGroupFrame", "TableColGroup", NOT_LEAF), 135 Frame("nsTableFrame", "Table", NOT_LEAF), 136 Frame("nsTableWrapperFrame", "TableWrapper", NOT_LEAF), 137 Frame("nsTableRowFrame", "TableRow", NOT_LEAF), 138 Frame("nsTableRowGroupFrame", "TableRowGroup", NOT_LEAF), 139 Frame("nsTextBoxFrame", "LeafBox", LEAF), 140 Frame("nsTextControlFrame", "TextInput", LEAF), 141 Frame("nsTextFrame", "Text", LEAF), 142 Frame("nsTitleBarFrame", "Box", NOT_LEAF), 143 Frame("nsTreeBodyFrame", "LeafBox", LEAF), 144 Frame("nsTreeColFrame", "Box", NOT_LEAF), 145 Frame("nsVideoFrame", "HTMLVideo", NOT_LEAF), 146 Frame("nsXULLabelFrame", "XULLabel", NOT_LEAF), 147 Frame("nsXULScrollFrame", "Scroll", NOT_LEAF), 148 Frame("ViewportFrame", "Viewport", NOT_LEAF), 149 Frame("WBRFrame", "Wbr", LEAF), 150 151 # Non-concrete classes (for FrameIID use) 152 AbstractFrame("nsContainerFrame"), 153 AbstractFrame("nsIFrame"), 154 AbstractFrame("nsLeafFrame"), 155 AbstractFrame("nsMathMLContainerFrame"), 156 AbstractFrame("nsRubyContentFrame"), 157 AbstractFrame("nsSplittableFrame"), 158 AbstractFrame("nsSVGDisplayContainerFrame"), 159 AbstractFrame("nsSVGGradientFrame"), 160 AbstractFrame("nsSVGPaintServerFrame"), 161 162 # Interfaces (for FrameIID use) 163 AbstractFrame("nsIAnonymousContentCreator"), 164 AbstractFrame("nsIComboboxControlFrame"), 165 AbstractFrame("nsIFormControlFrame"), 166 AbstractFrame("nsIFrameFrame"), 167 AbstractFrame("nsIListControlFrame"), 168 AbstractFrame("nsIMathMLFrame"), 169 AbstractFrame("nsIMenuFrame"), 170 AbstractFrame("nsIObjectFrame"), 171 AbstractFrame("nsIPercentBSizeObserver"), 172 AbstractFrame("nsIPopupContainer"), 173 AbstractFrame("nsIScrollableFrame"), 174 AbstractFrame("nsIScrollbarMediator"), 175 AbstractFrame("nsISelectControlFrame"), 176 AbstractFrame("nsISVGSVGFrame"), 177 AbstractFrame("nsIStatefulFrame"), 178 AbstractFrame("nsITableCellLayout"), 179 AbstractFrame("nsITableLayout"), 180 AbstractFrame("nsITextControlFrame"), 181 AbstractFrame("nsSVGDisplayableFrame"), 182] 183