Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / css / CSSKeyframeRule.h
index 5e7fbee..eae56a6 100644 (file)
@@ -28,7 +28,7 @@
 
 #include "core/css/CSSRule.h"
 
-namespace WebCore {
+namespace blink {
 
 class CSSKeyframesRule;
 class CSSParserValueList;
@@ -37,12 +37,12 @@ class MutableStylePropertySet;
 class StylePropertySet;
 class StyleRuleCSSStyleDeclaration;
 
-class StyleKeyframe FINAL : public RefCounted<StyleKeyframe> {
-    WTF_MAKE_FAST_ALLOCATED;
+class StyleKeyframe FINAL : public RefCountedWillBeGarbageCollectedFinalized<StyleKeyframe> {
+    WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
 public:
-    static PassRefPtr<StyleKeyframe> create()
+    static PassRefPtrWillBeRawPtr<StyleKeyframe> create()
     {
-        return adoptRef(new StyleKeyframe());
+        return adoptRefWillBeNoop(new StyleKeyframe());
     }
     ~StyleKeyframe();
 
@@ -55,18 +55,20 @@ public:
     // Used by BisonCSSParser when constructing a new StyleKeyframe.
     void setKeys(PassOwnPtr<Vector<double> >);
 
-    const StylePropertySet* properties() const { return m_properties.get(); }
-    MutableStylePropertySet* mutableProperties();
-    void setProperties(PassRefPtr<StylePropertySet>);
+    const StylePropertySet& properties() const { return *m_properties; }
+    MutableStylePropertySet& mutableProperties();
+    void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>);
 
     String cssText() const;
 
+    void trace(Visitor*);
+
     static PassOwnPtr<Vector<double> > createKeyList(CSSParserValueList*);
 
 private:
     StyleKeyframe();
 
-    RefPtr<StylePropertySet> m_properties;
+    RefPtrWillBeMember<StylePropertySet> m_properties;
     // These are both calculated lazily. Either one can be set, which invalidates the other.
     mutable String m_keyText;
     mutable OwnPtr<Vector<double> > m_keys;
@@ -85,17 +87,19 @@ public:
 
     CSSStyleDeclaration* style() const;
 
+    virtual void trace(Visitor*) OVERRIDE;
+
 private:
     CSSKeyframeRule(StyleKeyframe*, CSSKeyframesRule* parent);
 
-    RefPtr<StyleKeyframe> m_keyframe;
-    mutable RefPtr<StyleRuleCSSStyleDeclaration> m_propertiesCSSOMWrapper;
+    RefPtrWillBeMember<StyleKeyframe> m_keyframe;
+    mutable RefPtrWillBeMember<StyleRuleCSSStyleDeclaration> m_propertiesCSSOMWrapper;
 
     friend class CSSKeyframesRule;
 };
 
 DEFINE_CSS_RULE_TYPE_CASTS(CSSKeyframeRule, KEYFRAME_RULE);
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // CSSKeyframeRule_h