Bug 316764 - implement <mask> and fix <clipPath> for multiple

overlapping children.  r=scootermorris


git-svn-id: svn://10.0.0.236/trunk@187897 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
tor%cs.brown.edu
2006-01-20 17:00:43 +00:00
parent b5bf49f861
commit fe2017034e
35 changed files with 1494 additions and 134 deletions

View File

@@ -229,6 +229,8 @@ nsIFrame*
NS_NewSVGFilterFrame(nsIPresShell *aPresShell, nsIContent *aContent);
nsIFrame*
NS_NewSVGPatternFrame(nsIPresShell* aPresShell, nsIContent* aContent);
nsIFrame*
NS_NewSVGMaskFrame(nsIPresShell* aPresShell, nsIContent* aContent);
#endif
#include "nsIDocument.h"
@@ -3469,7 +3471,8 @@ IsSpecialContent(nsIContent* aContent,
aTag == nsSVGAtoms::clipPath ||
aTag == nsSVGAtoms::textPath ||
aTag == nsSVGAtoms::filter ||
aTag == nsSVGAtoms::pattern;
aTag == nsSVGAtoms::pattern ||
aTag == nsSVGAtoms::mask;
#endif
#ifdef MOZ_MATHML
@@ -7800,6 +7803,9 @@ nsCSSFrameConstructor::ConstructSVGFrame(nsFrameConstructorState& aState,
else if (aTag == nsSVGAtoms::pattern) {
newFrame = NS_NewSVGPatternFrame(mPresShell, aContent);
}
else if (aTag == nsSVGAtoms::mask) {
newFrame = NS_NewSVGMaskFrame(mPresShell, aContent);
}
if (newFrame == nsnull) {
// Either we have an unknown tag, or construction of a frame