Bumping manifests a=b2g-bump
[gecko.git] / layout / style / nsDOMCSSAttrDeclaration.h
blob4fe49daf40144da99a1ebf331f3514476f832624
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 /* DOM object for element.style */
8 #ifndef nsDOMCSSAttributeDeclaration_h
9 #define nsDOMCSSAttributeDeclaration_h
11 #include "mozilla/Attributes.h"
12 #include "nsDOMCSSDeclaration.h"
14 #include "nsAutoPtr.h"
16 namespace mozilla {
17 namespace dom {
18 class Element;
22 class nsDOMCSSAttributeDeclaration MOZ_FINAL : public nsDOMCSSDeclaration
24 public:
25 typedef mozilla::dom::Element Element;
26 nsDOMCSSAttributeDeclaration(Element* aContent, bool aIsSMILOverride);
28 NS_DECL_CYCLE_COLLECTING_ISUPPORTS
29 NS_DECL_CYCLE_COLLECTION_SKIPPABLE_SCRIPT_HOLDER_CLASS_AMBIGUOUS(nsDOMCSSAttributeDeclaration,
30 nsICSSDeclaration)
32 // If GetCSSDeclaration returns non-null, then the decl it returns
33 // is owned by our current style rule.
34 virtual mozilla::css::Declaration* GetCSSDeclaration(bool aAllocate) MOZ_OVERRIDE;
35 virtual void GetCSSParsingEnvironment(CSSParsingEnvironment& aCSSParseEnv) MOZ_OVERRIDE;
36 NS_IMETHOD GetParentRule(nsIDOMCSSRule **aParent) MOZ_OVERRIDE;
38 virtual nsINode* GetParentObject() MOZ_OVERRIDE;
40 NS_IMETHOD SetPropertyValue(const nsCSSProperty aPropID,
41 const nsAString& aValue) MOZ_OVERRIDE;
43 protected:
44 ~nsDOMCSSAttributeDeclaration();
46 virtual nsresult SetCSSDeclaration(mozilla::css::Declaration* aDecl) MOZ_OVERRIDE;
47 virtual nsIDocument* DocToUpdate() MOZ_OVERRIDE;
49 nsRefPtr<Element> mElement;
51 /* If true, this indicates that this nsDOMCSSAttributeDeclaration
52 * should interact with mContent's SMIL override style rule (rather
53 * than the inline style rule).
55 const bool mIsSMILOverride;
58 #endif /* nsDOMCSSAttributeDeclaration_h */