Bumping manifests a=b2g-bump
[gecko.git] / layout / style / SVGAttrAnimationRuleProcessor.h
blobcd7858204c9b73990a51f737b6c2cb836560a0de
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 /*
8 * style rule processor for rules from SMIL Animation of SVG mapped
9 * attributes (attributes whose values are mapped into style)
12 #ifndef mozilla_SVGAttrAnimationRuleProcessor_h_
13 #define mozilla_SVGAttrAnimationRuleProcessor_h_
15 #include "nsIStyleRuleProcessor.h"
17 class nsIDocument;
18 class nsRuleWalker;
20 namespace mozilla {
22 namespace dom {
23 class Element;
26 class SVGAttrAnimationRuleProcessor MOZ_FINAL : public nsIStyleRuleProcessor
28 public:
29 SVGAttrAnimationRuleProcessor();
31 private:
32 ~SVGAttrAnimationRuleProcessor();
34 public:
35 NS_DECL_ISUPPORTS
37 // nsIStyleRuleProcessor API
38 virtual void RulesMatching(ElementRuleProcessorData* aData) MOZ_OVERRIDE;
39 virtual void RulesMatching(PseudoElementRuleProcessorData* aData) MOZ_OVERRIDE;
40 virtual void RulesMatching(AnonBoxRuleProcessorData* aData) MOZ_OVERRIDE;
41 #ifdef MOZ_XUL
42 virtual void RulesMatching(XULTreeRuleProcessorData* aData) MOZ_OVERRIDE;
43 #endif
44 virtual nsRestyleHint HasStateDependentStyle(StateRuleProcessorData* aData) MOZ_OVERRIDE;
45 virtual nsRestyleHint HasStateDependentStyle(PseudoElementStateRuleProcessorData* aData) MOZ_OVERRIDE;
46 virtual bool HasDocumentStateDependentStyle(StateRuleProcessorData* aData) MOZ_OVERRIDE;
47 virtual nsRestyleHint
48 HasAttributeDependentStyle(AttributeRuleProcessorData* aData) MOZ_OVERRIDE;
49 virtual bool MediumFeaturesChanged(nsPresContext* aPresContext) MOZ_OVERRIDE;
50 virtual size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf)
51 const MOZ_MUST_OVERRIDE MOZ_OVERRIDE;
52 virtual size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf)
53 const MOZ_MUST_OVERRIDE MOZ_OVERRIDE;
55 size_t DOMSizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
57 // A shortcut for nsStyleSet to call RulesMatching with less setup.
58 void ElementRulesMatching(mozilla::dom::Element* aElement,
59 nsRuleWalker* aRuleWalker);
61 private:
62 SVGAttrAnimationRuleProcessor(const SVGAttrAnimationRuleProcessor& aCopy) = delete;
63 SVGAttrAnimationRuleProcessor& operator=(const SVGAttrAnimationRuleProcessor& aCopy) = delete;
66 } // namespace mozilla
68 #endif /* !defined(mozilla_SVGAttrAnimationRuleProcessor_h_) */