diff --git a/layout/svg/base/src/nsISVGChildFrame.h b/layout/svg/base/src/nsISVGChildFrame.h index 38c73eec57e..bc145493850 100644 --- a/layout/svg/base/src/nsISVGChildFrame.h +++ b/layout/svg/base/src/nsISVGChildFrame.h @@ -57,6 +57,13 @@ class SVGLengthList; class SVGUserUnitList; } +/** + * This class is not particularly well named. It is inherited by some, but + * not all SVG frame classes that can be descendants of an + * nsSVGOuterSVGFrame in the frame tree. Note specifically that SVG container + * frames that do not inherit nsSVGDisplayContainerFrame do not inherit this + * class (so that's classes that only inherit nsSVGContainerFrame). + */ class nsISVGChildFrame : public nsQueryFrame { public: diff --git a/layout/svg/base/src/nsSVGContainerFrame.h b/layout/svg/base/src/nsSVGContainerFrame.h index 0f53d34945f..7ebdb740626 100644 --- a/layout/svg/base/src/nsSVGContainerFrame.h +++ b/layout/svg/base/src/nsSVGContainerFrame.h @@ -47,6 +47,13 @@ class nsRenderingContext; typedef nsContainerFrame nsSVGContainerFrameBase; +/** + * Base class for SVG container frames. Frame sub-classes that do not + * display their contents directly (such as the frames for or + * ) just inherit this class. Frame sub-classes that do or can + * display their contents directly (such as the frames for inner- or + * ) inherit our nsDisplayContainerFrame sub-class. + */ class nsSVGContainerFrame : public nsSVGContainerFrameBase { friend nsIFrame* NS_NewSVGContainerFrame(nsIPresShell* aPresShell, @@ -79,6 +86,10 @@ public: } }; +/** + * Frame class or base-class for SVG containers that can or do display their + * contents directly. + */ class nsSVGDisplayContainerFrame : public nsSVGContainerFrame, public nsISVGChildFrame {