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

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: Move change counters to CSSAnimations 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
67 bool operator== (const StyleRuleKeyframes& other) const { return keyframes() == other.keyframes(); }
68
64 private: 69 private:
65 StyleRuleKeyframes(); 70 StyleRuleKeyframes();
66 explicit StyleRuleKeyframes(const StyleRuleKeyframes&); 71 explicit StyleRuleKeyframes(const StyleRuleKeyframes&);
67 72
68 WillBeHeapVector<RefPtrWillBeMember<StyleKeyframe> > m_keyframes; 73 WillBeHeapVector<RefPtrWillBeMember<StyleKeyframe> > m_keyframes;
69 AtomicString m_name; 74 AtomicString m_name;
70 bool m_isPrefixed; 75 bool m_isPrefixed;
76 unsigned m_styleChangeCounter;
71 }; 77 };
72 78
73 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes); 79 DEFINE_STYLE_RULE_TYPE_CASTS(Keyframes);
74 80
75 class CSSKeyframesRule final : public CSSRule { 81 class CSSKeyframesRule final : public CSSRule {
76 DEFINE_WRAPPERTYPEINFO(); 82 DEFINE_WRAPPERTYPEINFO();
77 public: 83 public:
78 static PassRefPtrWillBeRawPtr<CSSKeyframesRule> create(StyleRuleKeyframes* r ule, CSSStyleSheet* sheet) 84 static PassRefPtrWillBeRawPtr<CSSKeyframesRule> create(StyleRuleKeyframes* r ule, CSSStyleSheet* sheet)
79 { 85 {
80 return adoptRefWillBeNoop(new CSSKeyframesRule(rule, sheet)); 86 return adoptRefWillBeNoop(new CSSKeyframesRule(rule, sheet));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 mutable WillBeHeapVector<RefPtrWillBeMember<CSSKeyframeRule> > m_childRuleCS SOMWrappers; 118 mutable WillBeHeapVector<RefPtrWillBeMember<CSSKeyframeRule> > m_childRuleCS SOMWrappers;
113 mutable OwnPtrWillBeMember<CSSRuleList> m_ruleListCSSOMWrapper; 119 mutable OwnPtrWillBeMember<CSSRuleList> m_ruleListCSSOMWrapper;
114 bool m_isPrefixed; 120 bool m_isPrefixed;
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