Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: Source/core/css/CSSKeyframesRule.h

Issue 814083003: Update animation when changes in animation keyframes are detected. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 PassRefPtrWillBeRawPtr<StyleRuleKeyframes> copy() const { return adoptRefWil lBeNoop(new StyleRuleKeyframes(*this)); } 60 PassRefPtrWillBeRawPtr<StyleRuleKeyframes> copy() const { return adoptRefWil lBeNoop(new StyleRuleKeyframes(*this)); }
61 61
62 void traceAfterDispatch(Visitor*); 62 void traceAfterDispatch(Visitor*);
63 63
64 void styleChanged() { m_styleChangeCounter++; }
65 unsigned styleChangeCounter() const { return m_styleChangeCounter; }
66
64 private: 67 private:
65 StyleRuleKeyframes(); 68 StyleRuleKeyframes();
66 explicit StyleRuleKeyframes(const StyleRuleKeyframes&); 69 explicit StyleRuleKeyframes(const StyleRuleKeyframes&);
67 70
68 WillBeHeapVector<RefPtrWillBeMember<StyleRuleKeyframe> > m_keyframes; 71 WillBeHeapVector<RefPtrWillBeMember<StyleRuleKeyframe> > m_keyframes;
69 AtomicString m_name; 72 AtomicString m_name;
70 bool m_isPrefixed; 73 bool m_isPrefixed;
74 unsigned m_styleChangeCounter;
71 }; 75 };
72 76
73 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes); 77 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes);
74 78
75 class CSSKeyframesRule final : public CSSRule { 79 class CSSKeyframesRule final : public CSSRule {
76 DEFINE_WRAPPERTYPEINFO(); 80 DEFINE_WRAPPERTYPEINFO();
77 public: 81 public:
78 static PassRefPtrWillBeRawPtr<CSSKeyframesRule> create(StyleRuleKeyframes* r ule, CSSStyleSheet* sheet) 82 static PassRefPtrWillBeRawPtr<CSSKeyframesRule> create(StyleRuleKeyframes* r ule, CSSStyleSheet* sheet)
79 { 83 {
80 return adoptRefWillBeNoop(new CSSKeyframesRule(rule, sheet)); 84 return adoptRefWillBeNoop(new CSSKeyframesRule(rule, sheet));
(...skipping 24 matching lines...) Expand all
105 109
106 private: 110 private:
107 CSSKeyframesRule(StyleRuleKeyframes*, CSSStyleSheet* parent); 111 CSSKeyframesRule(StyleRuleKeyframes*, CSSStyleSheet* parent);
108 112
109 virtual CSSRule::Type type() const override { return KEYFRAMES_RULE; } 113 virtual CSSRule::Type type() const override { return KEYFRAMES_RULE; }
110 114
111 RefPtrWillBeMember<StyleRuleKeyframes> m_keyframesRule; 115 RefPtrWillBeMember<StyleRuleKeyframes> m_keyframesRule;
112 mutable WillBeHeapVector<RefPtrWillBeMember<CSSKeyframeRule> > m_childRuleCS SOMWrappers; 116 mutable WillBeHeapVector<RefPtrWillBeMember<CSSKeyframeRule> > m_childRuleCS SOMWrappers;
113 mutable OwnPtrWillBeMember<CSSRuleList> m_ruleListCSSOMWrapper; 117 mutable OwnPtrWillBeMember<CSSRuleList> m_ruleListCSSOMWrapper;
114 bool m_isPrefixed; 118 bool m_isPrefixed;
119
120 friend class CSSKeyframeRule;
115 }; 121 };
116 122
117 DEFINE_CSS_RULE_TYPE_CASTS(CSSKeyframesRule, KEYFRAMES_RULE); 123 DEFINE_CSS_RULE_TYPE_CASTS(CSSKeyframesRule, KEYFRAMES_RULE);
118 124
119 } // namespace blink 125 } // namespace blink
120 126
121 #endif // CSSKeyframesRule_h 127 #endif // CSSKeyframesRule_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698