Bug 867089 - Validate the playbackRate before using it. r=ehsan
[gecko.git] / layout / svg / nsSVGGFrame.h
blobeabb4310792ee09e8456721a51e4f53d45798d0f
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef NSSVGGFRAME_H
7 #define NSSVGGFRAME_H
9 #include "gfxMatrix.h"
10 #include "nsSVGContainerFrame.h"
12 typedef nsSVGDisplayContainerFrame nsSVGGFrameBase;
14 class nsSVGGFrame : public nsSVGGFrameBase
16 friend nsIFrame*
17 NS_NewSVGGFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
18 protected:
19 nsSVGGFrame(nsStyleContext* aContext) :
20 nsSVGGFrameBase(aContext) {}
22 public:
23 NS_DECL_FRAMEARENA_HELPERS
25 #ifdef DEBUG
26 virtual void Init(nsIContent* aContent,
27 nsIFrame* aParent,
28 nsIFrame* aPrevInFlow) MOZ_OVERRIDE;
29 #endif
31 /**
32 * Get the "type" of the frame
34 * @see nsGkAtoms::svgGFrame
36 virtual nsIAtom* GetType() const;
38 #ifdef DEBUG
39 NS_IMETHOD GetFrameName(nsAString& aResult) const
41 return MakeFrameName(NS_LITERAL_STRING("SVGG"), aResult);
43 #endif
45 // nsIFrame interface:
46 NS_IMETHOD AttributeChanged(int32_t aNameSpaceID,
47 nsIAtom* aAttribute,
48 int32_t aModType);
50 // nsISVGChildFrame interface:
51 virtual void NotifySVGChanged(uint32_t aFlags);
53 // nsSVGContainerFrame methods:
54 virtual gfxMatrix GetCanvasTM(uint32_t aFor);
56 nsAutoPtr<gfxMatrix> mCanvasTM;
59 #endif