| Index: Source/core/rendering/RenderObject.h
|
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h
|
| index 1d9cfb9435200a383c05047e25dc1acda28374c0..7f1f8b5a75d2bd21ec1e6efa5ae523cbc6555fb1 100644
|
| --- a/Source/core/rendering/RenderObject.h
|
| +++ b/Source/core/rendering/RenderObject.h
|
| @@ -333,59 +333,62 @@ public:
|
| bool isPseudoElement() const { return node() && node()->isPseudoElement(); }
|
|
|
| virtual bool isBoxModelObject() const { return false; }
|
| - virtual bool isBR() const { return false; }
|
| - virtual bool isCanvas() const { return false; }
|
| - virtual bool isCounter() const { return false; }
|
| - virtual bool isDetailsMarker() const { return false; }
|
| - virtual bool isEmbeddedObject() const { return false; }
|
| - virtual bool isFieldset() const { return false; }
|
| - virtual bool isFileUploadControl() const { return false; }
|
| - virtual bool isFrame() const { return false; }
|
| - virtual bool isFrameSet() const { return false; }
|
| + bool isBR() const { return isOfType(RenderObjectBr); }
|
| + bool isCanvas() const { return isOfType(RenderObjectCanvas); }
|
| + bool isCounter() const { return isOfType(RenderObjectCounter); }
|
| + bool isDetailsMarker() const { return isOfType(RenderObjectDetailsMarker); }
|
| + bool isEmbeddedObject() const { return isOfType(RenderObjectEmbeddedObject); }
|
| + bool isFieldset() const { return isOfType(RenderObjectFieldset); }
|
| + bool isFileUploadControl() const { return isOfType(RenderObjectFileUploadControl); }
|
| + bool isFrame() const { return isOfType(RenderObjectFrame); }
|
| + bool isFrameSet() const { return isOfType(RenderObjectFrameSet); }
|
| + bool isListBox() const { return isOfType(RenderObjectListBox); }
|
| + bool isListItem() const { return isOfType(RenderObjectListItem); }
|
| + bool isListMarker() const { return isOfType(RenderObjectListMarker); }
|
| + bool isMarquee() const { return isOfType(RenderObjectMarquee); }
|
| + bool isMedia() const { return isOfType(RenderObjectMedia); }
|
| + bool isMenuList() const { return isOfType(RenderObjectMenuList); }
|
| + bool isMeter() const { return isOfType(RenderObjectMeter); }
|
| + bool isProgress() const { return isOfType(RenderObjectProgress); }
|
| + bool isQuote() const { return isOfType(RenderObjectQuote); }
|
| + bool isRenderButton() const { return isOfType(RenderObjectRenderButton); }
|
| + bool isRenderFullScreen() const { return isOfType(RenderObjectRenderFullScreen); }
|
| + bool isRenderFullScreenPlaceholder() const { return isOfType(RenderObjectRenderFullScreenPlaceholder); }
|
| + bool isRenderGrid() const { return isOfType(RenderObjectRenderGrid); }
|
| + bool isRenderIFrame() const { return isOfType(RenderObjectRenderIFrame); }
|
| + bool isRenderImage() const { return isOfType(RenderObjectRenderImage); }
|
| + bool isRenderMultiColumnSet() const { return isOfType(RenderObjectRenderMultiColumnSet); }
|
| + bool isRenderRegion() const { return isOfType(RenderObjectRenderRegion); }
|
| + bool isRenderScrollbarPart() const { return isOfType(RenderObjectRenderScrollbarPart); }
|
| + bool isRenderTableCol() const { return isOfType(RenderObjectRenderTableCol); }
|
| + bool isRenderView() const { return isOfType(RenderObjectRenderView); }
|
| + bool isReplica() const { return isOfType(RenderObjectReplica); }
|
| + bool isRuby() const { return isOfType(RenderObjectRuby); }
|
| + bool isRubyBase() const { return isOfType(RenderObjectRubyBase); }
|
| + bool isRubyRun() const { return isOfType(RenderObjectRubyRun); }
|
| + bool isRubyText() const { return isOfType(RenderObjectRubyText); }
|
| + bool isSlider() const { return isOfType(RenderObjectSlider); }
|
| + bool isSliderThumb() const { return isOfType(RenderObjectSliderThumb); }
|
| + bool isTable() const { return isOfType(RenderObjectTable); }
|
| + bool isTableCaption() const { return isOfType(RenderObjectTableCaption); }
|
| + bool isTableCell() const { return isOfType(RenderObjectTableCell); }
|
| + bool isTableRow() const { return isOfType(RenderObjectTableRow); }
|
| + bool isTableSection() const { return isOfType(RenderObjectTableSection); }
|
| + bool isTextArea() const { return isOfType(RenderObjectTextArea); }
|
| + bool isTextControl() const { return isOfType(RenderObjectTextControl); }
|
| + bool isTextField() const { return isOfType(RenderObjectTextField); }
|
| + bool isVideo() const { return isOfType(RenderObjectVideo); }
|
| + bool isWidget() const { return isOfType(RenderObjectWidget); }
|
| +
|
| virtual bool isImage() const { return false; }
|
| +
|
| virtual bool isInlineBlockOrInlineTable() const { return false; }
|
| virtual bool isLayerModelObject() const { return false; }
|
| - virtual bool isListBox() const { return false; }
|
| - virtual bool isListItem() const { return false; }
|
| - virtual bool isListMarker() const { return false; }
|
| - virtual bool isMarquee() const { return false; }
|
| - virtual bool isMedia() const { return false; }
|
| - virtual bool isMenuList() const { return false; }
|
| - virtual bool isMeter() const { return false; }
|
| - virtual bool isProgress() const { return false; }
|
| - virtual bool isQuote() const { return false; }
|
| virtual bool isRenderBlock() const { return false; }
|
| virtual bool isRenderBlockFlow() const { return false; }
|
| - virtual bool isRenderButton() const { return false; }
|
| virtual bool isRenderFlowThread() const { return false; }
|
| - virtual bool isRenderFullScreen() const { return false; }
|
| - virtual bool isRenderFullScreenPlaceholder() const { return false; }
|
| - virtual bool isRenderGrid() const { return false; }
|
| - virtual bool isRenderIFrame() const { return false; }
|
| - virtual bool isRenderImage() const { return false; }
|
| virtual bool isRenderInline() const { return false; }
|
| - virtual bool isRenderMultiColumnSet() const { return false; }
|
| virtual bool isRenderPart() const { return false; }
|
| - virtual bool isRenderRegion() const { return false; }
|
| - virtual bool isRenderScrollbarPart() const { return false; }
|
| - virtual bool isRenderTableCol() const { return false; }
|
| - virtual bool isRenderView() const { return false; }
|
| - virtual bool isReplica() const { return false; }
|
| - virtual bool isRuby() const { return false; }
|
| - virtual bool isRubyBase() const { return false; }
|
| - virtual bool isRubyRun() const { return false; }
|
| - virtual bool isRubyText() const { return false; }
|
| - virtual bool isSlider() const { return false; }
|
| - virtual bool isSliderThumb() const { return false; }
|
| - virtual bool isTable() const { return false; }
|
| - virtual bool isTableCaption() const { return false; }
|
| - virtual bool isTableCell() const { return false; }
|
| - virtual bool isTableRow() const { return false; }
|
| - virtual bool isTableSection() const { return false; }
|
| - virtual bool isTextArea() const { return false; }
|
| - virtual bool isTextControl() const { return false; }
|
| - virtual bool isTextField() const { return false; }
|
| - virtual bool isVideo() const { return false; }
|
|
|
| bool isDocumentElement() const { return document().documentElement() == m_node; }
|
| // isBody is called from RenderBox::styleWillChange and is thus quite hot.
|
| @@ -441,23 +444,23 @@ public:
|
|
|
| // FIXME: Until all SVG renders can be subclasses of RenderSVGModelObject we have
|
| // to add SVG renderer methods to RenderObject with an ASSERT_NOT_REACHED() default implementation.
|
| - virtual bool isSVG() const { return false; }
|
| - virtual bool isSVGRoot() const { return false; }
|
| - virtual bool isSVGContainer() const { return false; }
|
| - virtual bool isSVGTransformableContainer() const { return false; }
|
| - virtual bool isSVGViewportContainer() const { return false; }
|
| - virtual bool isSVGGradientStop() const { return false; }
|
| - virtual bool isSVGHiddenContainer() const { return false; }
|
| - virtual bool isSVGShape() const { return false; }
|
| - virtual bool isSVGText() const { return false; }
|
| - virtual bool isSVGTextPath() const { return false; }
|
| - virtual bool isSVGInline() const { return false; }
|
| - virtual bool isSVGInlineText() const { return false; }
|
| - virtual bool isSVGImage() const { return false; }
|
| - virtual bool isSVGForeignObject() const { return false; }
|
| - virtual bool isSVGResourceContainer() const { return false; }
|
| - virtual bool isSVGResourceFilter() const { return false; }
|
| - virtual bool isSVGResourceFilterPrimitive() const { return false; }
|
| + bool isSVG() const { return isOfType(RenderObjectSVG); }
|
| + bool isSVGRoot() const { return isOfType(RenderObjectSVGRoot); }
|
| + bool isSVGContainer() const { return isOfType(RenderObjectSVGContainer); }
|
| + bool isSVGTransformableContainer() const { return isOfType(RenderObjectSVGTransformableContainer); }
|
| + bool isSVGViewportContainer() const { return isOfType(RenderObjectSVGViewportContainer); }
|
| + bool isSVGGradientStop() const { return isOfType(RenderObjectSVGGradientStop); }
|
| + bool isSVGHiddenContainer() const { return isOfType(RenderObjectSVGHiddenContainer); }
|
| + bool isSVGShape() const { return isOfType(RenderObjectSVGShape); }
|
| + bool isSVGText() const { return isOfType(RenderObjectSVGText); }
|
| + bool isSVGTextPath() const { return isOfType(RenderObjectSVGTextPath); }
|
| + bool isSVGInline() const { return isOfType(RenderObjectSVGInline); }
|
| + bool isSVGInlineText() const { return isOfType(RenderObjectSVGInlineText); }
|
| + bool isSVGImage() const { return isOfType(RenderObjectSVGImage); }
|
| + bool isSVGForeignObject() const { return isOfType(RenderObjectSVGForeignObject); }
|
| + bool isSVGResourceContainer() const { return isOfType(RenderObjectSVGResourceContainer); }
|
| + bool isSVGResourceFilter() const { return isOfType(RenderObjectSVGResourceFilter); }
|
| + bool isSVGResourceFilterPrimitive() const { return isOfType(RenderObjectSVGResourceFilterPrimitive); }
|
|
|
| // FIXME: Those belong into a SVG specific base-class for all renderers (see above)
|
| // Unfortunately we don't have such a class yet, because it's not possible for all renderers
|
| @@ -1049,6 +1052,77 @@ public:
|
| virtual LayoutRect viewRect() const;
|
|
|
| protected:
|
| + enum RenderObjectType {
|
| + RenderObjectBr,
|
| + RenderObjectCanvas,
|
| + RenderObjectFieldset,
|
| + RenderObjectCounter,
|
| + RenderObjectDetailsMarker,
|
| + RenderObjectEmbeddedObject,
|
| + RenderObjectFileUploadControl,
|
| + RenderObjectFrame,
|
| + RenderObjectFrameSet,
|
| + RenderObjectListBox,
|
| + RenderObjectListItem,
|
| + RenderObjectListMarker,
|
| + RenderObjectMarquee,
|
| + RenderObjectMedia,
|
| + RenderObjectMenuList,
|
| + RenderObjectMeter,
|
| + RenderObjectProgress,
|
| + RenderObjectQuote,
|
| + RenderObjectRenderButton,
|
| + RenderObjectRenderFlowThread,
|
| + RenderObjectRenderFullScreen,
|
| + RenderObjectRenderFullScreenPlaceholder,
|
| + RenderObjectRenderGrid,
|
| + RenderObjectRenderIFrame,
|
| + RenderObjectRenderImage,
|
| + RenderObjectRenderInline,
|
| + RenderObjectRenderMultiColumnSet,
|
| + RenderObjectRenderPart,
|
| + RenderObjectRenderRegion,
|
| + RenderObjectRenderScrollbarPart,
|
| + RenderObjectRenderTableCol,
|
| + RenderObjectRenderView,
|
| + RenderObjectReplica,
|
| + RenderObjectRuby,
|
| + RenderObjectRubyBase,
|
| + RenderObjectRubyRun,
|
| + RenderObjectRubyText,
|
| + RenderObjectSlider,
|
| + RenderObjectSliderThumb,
|
| + RenderObjectTable,
|
| + RenderObjectTableCaption,
|
| + RenderObjectTableCell,
|
| + RenderObjectTableRow,
|
| + RenderObjectTableSection,
|
| + RenderObjectTextArea,
|
| + RenderObjectTextControl,
|
| + RenderObjectTextField,
|
| + RenderObjectVideo,
|
| + RenderObjectWidget,
|
| +
|
| + RenderObjectSVG, /* Keep by itself? */
|
| + RenderObjectSVGRoot,
|
| + RenderObjectSVGContainer,
|
| + RenderObjectSVGTransformableContainer,
|
| + RenderObjectSVGViewportContainer,
|
| + RenderObjectSVGHiddenContainer,
|
| + RenderObjectSVGGradientStop,
|
| + RenderObjectSVGShape,
|
| + RenderObjectSVGText,
|
| + RenderObjectSVGTextPath,
|
| + RenderObjectSVGInline,
|
| + RenderObjectSVGInlineText,
|
| + RenderObjectSVGImage,
|
| + RenderObjectSVGForeignObject,
|
| + RenderObjectSVGResourceContainer,
|
| + RenderObjectSVGResourceFilter,
|
| + RenderObjectSVGResourceFilterPrimitive,
|
| + };
|
| + virtual bool isOfType(RenderObjectType type) const { return false; }
|
| +
|
| inline bool layerCreationAllowedForSubtree() const;
|
|
|
| // Overrides should call the superclass at the end. m_style will be 0 the first time
|
|
|