OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "wtf/text/AtomicString.h" | 32 #include "wtf/text/AtomicString.h" |
33 | 33 |
34 namespace blink { | 34 namespace blink { |
35 | 35 |
36 class CSSRuleList; | 36 class CSSRuleList; |
37 class CSSKeyframeRule; | 37 class CSSKeyframeRule; |
38 class StyleRuleKeyframe; | 38 class StyleRuleKeyframe; |
39 | 39 |
40 class StyleRuleKeyframes final : public StyleRuleBase { | 40 class StyleRuleKeyframes final : public StyleRuleBase { |
41 public: | 41 public: |
42 static RawPtr<StyleRuleKeyframes> create() { return new StyleRuleKeyframes()
; } | 42 static StyleRuleKeyframes* create() { return new StyleRuleKeyframes(); } |
43 | 43 |
44 ~StyleRuleKeyframes(); | 44 ~StyleRuleKeyframes(); |
45 | 45 |
46 const HeapVector<Member<StyleRuleKeyframe>>& keyframes() const { return m_ke
yframes; } | 46 const HeapVector<Member<StyleRuleKeyframe>>& keyframes() const { return m_ke
yframes; } |
47 | 47 |
48 void parserAppendKeyframe(RawPtr<StyleRuleKeyframe>); | 48 void parserAppendKeyframe(StyleRuleKeyframe*); |
49 void wrapperAppendKeyframe(RawPtr<StyleRuleKeyframe>); | 49 void wrapperAppendKeyframe(StyleRuleKeyframe*); |
50 void wrapperRemoveKeyframe(unsigned); | 50 void wrapperRemoveKeyframe(unsigned); |
51 | 51 |
52 String name() const { return m_name; } | 52 String name() const { return m_name; } |
53 void setName(const String& name) { m_name = AtomicString(name); } | 53 void setName(const String& name) { m_name = AtomicString(name); } |
54 | 54 |
55 bool isVendorPrefixed() const { return m_isPrefixed; } | 55 bool isVendorPrefixed() const { return m_isPrefixed; } |
56 void setVendorPrefixed(bool isPrefixed) { m_isPrefixed = isPrefixed; } | 56 void setVendorPrefixed(bool isPrefixed) { m_isPrefixed = isPrefixed; } |
57 | 57 |
58 int findKeyframeIndex(const String& key) const; | 58 int findKeyframeIndex(const String& key) const; |
59 | 59 |
60 RawPtr<StyleRuleKeyframes> copy() const { return new StyleRuleKeyframes(*thi
s); } | 60 StyleRuleKeyframes* copy() const { return new StyleRuleKeyframes(*this); } |
61 | 61 |
62 DECLARE_TRACE_AFTER_DISPATCH(); | 62 DECLARE_TRACE_AFTER_DISPATCH(); |
63 | 63 |
64 void styleChanged() { m_version++; } | 64 void styleChanged() { m_version++; } |
65 unsigned version() const { return m_version; } | 65 unsigned version() const { return m_version; } |
66 | 66 |
67 private: | 67 private: |
68 StyleRuleKeyframes(); | 68 StyleRuleKeyframes(); |
69 explicit StyleRuleKeyframes(const StyleRuleKeyframes&); | 69 explicit StyleRuleKeyframes(const StyleRuleKeyframes&); |
70 | 70 |
71 HeapVector<Member<StyleRuleKeyframe>> m_keyframes; | 71 HeapVector<Member<StyleRuleKeyframe>> m_keyframes; |
72 AtomicString m_name; | 72 AtomicString m_name; |
73 unsigned m_version : 31; | 73 unsigned m_version : 31; |
74 unsigned m_isPrefixed : 1; | 74 unsigned m_isPrefixed : 1; |
75 }; | 75 }; |
76 | 76 |
77 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes); | 77 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes); |
78 | 78 |
79 class CSSKeyframesRule final : public CSSRule { | 79 class CSSKeyframesRule final : public CSSRule { |
80 DEFINE_WRAPPERTYPEINFO(); | 80 DEFINE_WRAPPERTYPEINFO(); |
81 public: | 81 public: |
82 static RawPtr<CSSKeyframesRule> create(StyleRuleKeyframes* rule, CSSStyleShe
et* sheet) | 82 static CSSKeyframesRule* create(StyleRuleKeyframes* rule, CSSStyleSheet* she
et) |
83 { | 83 { |
84 return new CSSKeyframesRule(rule, sheet); | 84 return new CSSKeyframesRule(rule, sheet); |
85 } | 85 } |
86 | 86 |
87 ~CSSKeyframesRule() override; | 87 ~CSSKeyframesRule() override; |
88 | 88 |
89 StyleRuleKeyframes* keyframes() { return m_keyframesRule.get(); } | 89 StyleRuleKeyframes* keyframes() { return m_keyframesRule.get(); } |
90 | 90 |
91 String cssText() const override; | 91 String cssText() const override; |
92 void reattach(StyleRuleBase*) override; | 92 void reattach(StyleRuleBase*) override; |
(...skipping 28 matching lines...) Expand all Loading... |
121 mutable HeapVector<Member<CSSKeyframeRule>> m_childRuleCSSOMWrappers; | 121 mutable HeapVector<Member<CSSKeyframeRule>> m_childRuleCSSOMWrappers; |
122 mutable Member<CSSRuleList> m_ruleListCSSOMWrapper; | 122 mutable Member<CSSRuleList> m_ruleListCSSOMWrapper; |
123 bool m_isPrefixed; | 123 bool m_isPrefixed; |
124 }; | 124 }; |
125 | 125 |
126 DEFINE_CSS_RULE_TYPE_CASTS(CSSKeyframesRule, KEYFRAMES_RULE); | 126 DEFINE_CSS_RULE_TYPE_CASTS(CSSKeyframesRule, KEYFRAMES_RULE); |
127 | 127 |
128 } // namespace blink | 128 } // namespace blink |
129 | 129 |
130 #endif // CSSKeyframesRule_h | 130 #endif // CSSKeyframesRule_h |
OLD | NEW |