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/. */
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"
26 class SVGAttrAnimationRuleProcessor MOZ_FINAL
: public nsIStyleRuleProcessor
29 SVGAttrAnimationRuleProcessor();
32 ~SVGAttrAnimationRuleProcessor();
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
;
42 virtual void RulesMatching(XULTreeRuleProcessorData
* aData
) MOZ_OVERRIDE
;
44 virtual nsRestyleHint
HasStateDependentStyle(StateRuleProcessorData
* aData
) MOZ_OVERRIDE
;
45 virtual nsRestyleHint
HasStateDependentStyle(PseudoElementStateRuleProcessorData
* aData
) MOZ_OVERRIDE
;
46 virtual bool HasDocumentStateDependentStyle(StateRuleProcessorData
* aData
) MOZ_OVERRIDE
;
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
);
62 SVGAttrAnimationRuleProcessor(const SVGAttrAnimationRuleProcessor
& aCopy
) = delete;
63 SVGAttrAnimationRuleProcessor
& operator=(const SVGAttrAnimationRuleProcessor
& aCopy
) = delete;
66 } // namespace mozilla
68 #endif /* !defined(mozilla_SVGAttrAnimationRuleProcessor_h_) */