Bug 774087 - Mark SVG filter primitive frame classes as NS_STATE_SVG_NONDISPLAY_CHILD. r=dholbert.
authorJonathan Watt <jwatt@jwatt.org>
Sun, 15 Jul 2012 20:42:50 -0400
changeset 102116 b2a1fa5d8c3683f76b07bc1461143e205af731a6
parent 102115 5f0d8860ca63d5bdac4636d663b9eeb586935d07
child 102117 2cdd7ca5a5883d23c1227b6cea7fef7dc3f5c783
push idunknown
push userunknown
push dateunknown
reviewersdholbert
bugs774087
milestone16.0a1
Bug 774087 - Mark SVG filter primitive frame classes as NS_STATE_SVG_NONDISPLAY_CHILD. r=dholbert.
layout/svg/base/src/SVGFEContainerFrame.cpp
layout/svg/base/src/SVGFEImageFrame.cpp
layout/svg/base/src/SVGFELeafFrame.cpp
layout/svg/base/src/SVGFEUnstyledLeafFrame.cpp
--- a/layout/svg/base/src/SVGFEContainerFrame.cpp
+++ b/layout/svg/base/src/SVGFEContainerFrame.cpp
@@ -17,17 +17,21 @@ typedef nsContainerFrame SVGFEContainerF
  * This frame is used by filter primitive elements that
  * have special child elements that provide parameters.
  */
 class SVGFEContainerFrame : public SVGFEContainerFrameBase
 {
   friend nsIFrame*
   NS_NewSVGFEContainerFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
 protected:
-  SVGFEContainerFrame(nsStyleContext* aContext) : SVGFEContainerFrameBase(aContext) {}
+  SVGFEContainerFrame(nsStyleContext* aContext)
+    : SVGFEContainerFrameBase(aContext)
+  {
+    AddStateBits(NS_STATE_SVG_NONDISPLAY_CHILD);
+  }
 
 public:
   NS_DECL_FRAMEARENA_HELPERS
 
   virtual bool IsFrameOfType(PRUint32 aFlags) const
   {
     return SVGFEContainerFrameBase::IsFrameOfType(
             aFlags & ~(nsIFrame::eSVG | nsIFrame::eSVGContainer));
--- a/layout/svg/base/src/SVGFEImageFrame.cpp
+++ b/layout/svg/base/src/SVGFEImageFrame.cpp
@@ -15,17 +15,21 @@ using namespace mozilla;
 
 typedef nsFrame SVGFEImageFrameBase;
 
 class SVGFEImageFrame : public SVGFEImageFrameBase
 {
   friend nsIFrame*
   NS_NewSVGFEImageFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
 protected:
-  SVGFEImageFrame(nsStyleContext* aContext) : SVGFEImageFrameBase(aContext) {}
+  SVGFEImageFrame(nsStyleContext* aContext)
+    : SVGFEImageFrameBase(aContext)
+  {
+    AddStateBits(NS_STATE_SVG_NONDISPLAY_CHILD);
+  }
 
 public:
   NS_DECL_FRAMEARENA_HELPERS
 
   NS_IMETHOD Init(nsIContent* aContent,
                   nsIFrame*   aParent,
                   nsIFrame*   aPrevInFlow);
   virtual void DestroyFrom(nsIFrame* aDestructRoot);
--- a/layout/svg/base/src/SVGFELeafFrame.cpp
+++ b/layout/svg/base/src/SVGFELeafFrame.cpp
@@ -15,17 +15,21 @@ typedef nsFrame SVGFELeafFrameBase;
  * This frame is used by filter primitive elements that don't
  * have special child elements that provide parameters.
  */
 class SVGFELeafFrame : public SVGFELeafFrameBase
 {
   friend nsIFrame*
   NS_NewSVGFELeafFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
 protected:
-  SVGFELeafFrame(nsStyleContext* aContext) : SVGFELeafFrameBase(aContext) {}
+  SVGFELeafFrame(nsStyleContext* aContext)
+    : SVGFELeafFrameBase(aContext)
+  {
+    AddStateBits(NS_STATE_SVG_NONDISPLAY_CHILD);
+  }
 
 public:
   NS_DECL_FRAMEARENA_HELPERS
 
 #ifdef DEBUG
   NS_IMETHOD Init(nsIContent* aContent,
                   nsIFrame*   aParent,
                   nsIFrame*   aPrevInFlow);
--- a/layout/svg/base/src/SVGFEUnstyledLeafFrame.cpp
+++ b/layout/svg/base/src/SVGFEUnstyledLeafFrame.cpp
@@ -11,17 +11,21 @@
 
 typedef nsFrame SVGFEUnstyledLeafFrameBase;
 
 class SVGFEUnstyledLeafFrame : public SVGFEUnstyledLeafFrameBase
 {
   friend nsIFrame*
   NS_NewSVGFEUnstyledLeafFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
 protected:
-  SVGFEUnstyledLeafFrame(nsStyleContext* aContext) : SVGFEUnstyledLeafFrameBase(aContext) {}
+  SVGFEUnstyledLeafFrame(nsStyleContext* aContext)
+    : SVGFEUnstyledLeafFrameBase(aContext)
+  {
+    AddStateBits(NS_STATE_SVG_NONDISPLAY_CHILD);
+  }
 
 public:
   NS_DECL_FRAMEARENA_HELPERS
 
   virtual bool IsFrameOfType(PRUint32 aFlags) const
   {
     return SVGFEUnstyledLeafFrameBase::IsFrameOfType(aFlags & ~(nsIFrame::eSVG));
   }