Bug 572697 - Add frame types eSVGGeometry and eSVGPaintServer. r=roc

--HG--
extra : rebase_source : c4f39637b2e251d851cbbd3dadc91a516fd93e4b
This commit is contained in:
Markus Stange 2010-07-01 18:40:19 +02:00
parent 4f2270ce12
commit 5a166a073b
3 changed files with 17 additions and 9 deletions

View File

@ -1731,22 +1731,24 @@ public:
eSVG = 1 << 1,
eSVGForeignObject = 1 << 2,
eSVGContainer = 1 << 3,
eBidiInlineContainer = 1 << 4,
eSVGGeometry = 1 << 4,
eSVGPaintServer = 1 << 5,
eBidiInlineContainer = 1 << 6,
// the frame is for a replaced element, such as an image
eReplaced = 1 << 5,
eReplaced = 1 << 7,
// Frame that contains a block but looks like a replaced element
// from the outside
eReplacedContainsBlock = 1 << 6,
eReplacedContainsBlock = 1 << 8,
// A frame that participates in inline reflow, i.e., one that
// requires nsHTMLReflowState::mLineLayout.
eLineParticipant = 1 << 7,
eXULBox = 1 << 8,
eCanContainOverflowContainers = 1 << 9,
eBlockFrame = 1 << 10,
eLineParticipant = 1 << 9,
eXULBox = 1 << 10,
eCanContainOverflowContainers = 1 << 11,
eBlockFrame = 1 << 12,
// If this bit is set, the frame doesn't allow ignorable whitespace as
// children. For example, the whitespace between <table>\n<tr>\n<td>
// will be excluded during the construction of children.
eExcludesIgnorableWhitespace = 1 << 11,
eExcludesIgnorableWhitespace = 1 << 13,
// These are to allow nsFrame::Init to assert that IsFrameOfType
// implementations all call the base class method. They are only

View File

@ -1,3 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
@ -66,7 +67,7 @@ public:
virtual PRBool IsFrameOfType(PRUint32 aFlags) const
{
return nsSVGGeometryFrameBase::IsFrameOfType(aFlags & ~(nsIFrame::eSVG));
return nsSVGGeometryFrameBase::IsFrameOfType(aFlags & ~(nsIFrame::eSVG | nsIFrame::eSVGGeometry));
}
// nsSVGGeometryFrame methods:

View File

@ -60,6 +60,11 @@ public:
virtual PRBool SetupPaintServer(gfxContext *aContext,
nsSVGGeometryFrame *aSource,
float aOpacity) = 0;
virtual PRBool IsFrameOfType(PRUint32 aFlags) const
{
return nsSVGPaintServerFrameBase::IsFrameOfType(aFlags & ~nsIFrame::eSVGPaintServer);
}
};
#endif // __NS_SVGPAINTSERVERFRAME_H__