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 99401 b2a1fa5d8c3683f76b07bc1461143e205af731a6
parent 99400 5f0d8860ca63d5bdac4636d663b9eeb586935d07
child 99402 2cdd7ca5a5883d23c1227b6cea7fef7dc3f5c783
push id23128
push useremorley@mozilla.com
push dateMon, 16 Jul 2012 14:01:04 +0000
treeherdermozilla-central@00405b1daf05 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdholbert
bugs774087
milestone16.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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));
   }