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

Side by Side Diff: Source/core/css/PropertySetCSSStyleDeclaration.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 + Address comments Created 5 years, 10 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) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 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
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #ifndef PropertySetCSSStyleDeclaration_h 26 #ifndef PropertySetCSSStyleDeclaration_h
27 #define PropertySetCSSStyleDeclaration_h 27 #define PropertySetCSSStyleDeclaration_h
28 28
29 #include "core/css/CSSKeyframeRule.h"
29 #include "core/css/CSSStyleDeclaration.h" 30 #include "core/css/CSSStyleDeclaration.h"
30 #include "wtf/HashMap.h" 31 #include "wtf/HashMap.h"
31 #include "wtf/OwnPtr.h" 32 #include "wtf/OwnPtr.h"
32 33
33 namespace blink { 34 namespace blink {
34 35
35 class CSSRule; 36 class CSSRule;
36 class CSSValue; 37 class CSSValue;
37 class Element; 38 class Element;
38 class ExceptionState; 39 class ExceptionState;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 #endif 83 #endif
83 84
84 virtual void trace(Visitor*) override; 85 virtual void trace(Visitor*) override;
85 86
86 protected: 87 protected:
87 virtual MutableStylePropertySet& propertySet() const override final { ASSERT (m_propertySet); return *m_propertySet; } 88 virtual MutableStylePropertySet& propertySet() const override final { ASSERT (m_propertySet); return *m_propertySet; }
88 89
89 RawPtrWillBeMember<MutableStylePropertySet> m_propertySet; // Cannot be null 90 RawPtrWillBeMember<MutableStylePropertySet> m_propertySet; // Cannot be null
90 }; 91 };
91 92
92 class StyleRuleCSSStyleDeclaration final : public PropertySetCSSStyleDeclaration 93 class StyleRuleCSSStyleDeclaration : public PropertySetCSSStyleDeclaration
93 { 94 {
94 public: 95 public:
95 static PassRefPtrWillBeRawPtr<StyleRuleCSSStyleDeclaration> create(MutableSt ylePropertySet& propertySet, CSSRule* parentRule) 96 static PassRefPtrWillBeRawPtr<StyleRuleCSSStyleDeclaration> create(MutableSt ylePropertySet& propertySet, CSSRule* parentRule)
96 { 97 {
97 return adoptRefWillBeNoop(new StyleRuleCSSStyleDeclaration(propertySet, parentRule)); 98 return adoptRefWillBeNoop(new StyleRuleCSSStyleDeclaration(propertySet, parentRule));
98 } 99 }
99 100
100 #if !ENABLE(OILPAN) 101 #if !ENABLE(OILPAN)
101 void clearParentRule() { m_parentRule = nullptr; } 102 void clearParentRule() { m_parentRule = nullptr; }
102 103
103 virtual void ref() override; 104 virtual void ref() override;
104 virtual void deref() override; 105 virtual void deref() override;
105 #endif 106 #endif
106 107
107 void reattach(MutableStylePropertySet&); 108 void reattach(MutableStylePropertySet&);
108 109
109 virtual void trace(Visitor*) override; 110 virtual void trace(Visitor*) override;
110 111
111 private: 112 protected:
112 StyleRuleCSSStyleDeclaration(MutableStylePropertySet&, CSSRule*); 113 StyleRuleCSSStyleDeclaration(MutableStylePropertySet&, CSSRule*);
113 virtual ~StyleRuleCSSStyleDeclaration(); 114 virtual ~StyleRuleCSSStyleDeclaration();
114 115
115 virtual CSSStyleSheet* parentStyleSheet() const override; 116 virtual CSSStyleSheet* parentStyleSheet() const override;
116 117
117 virtual CSSRule* parentRule() const override { return m_parentRule; } 118 virtual CSSRule* parentRule() const override { return m_parentRule; }
118 119
119 virtual void willMutate() override; 120 virtual void willMutate() override;
120 virtual void didMutate(MutationType) override; 121 virtual void didMutate(MutationType) override;
121 122
(...skipping 23 matching lines...) Expand all
145 virtual Element* parentElement() const override { return m_parentElement; } 146 virtual Element* parentElement() const override { return m_parentElement; }
146 147
147 virtual void didMutate(MutationType) override; 148 virtual void didMutate(MutationType) override;
148 149
149 RawPtrWillBeMember<Element> m_parentElement; 150 RawPtrWillBeMember<Element> m_parentElement;
150 }; 151 };
151 152
152 } // namespace blink 153 } // namespace blink
153 154
154 #endif 155 #endif
OLDNEW
« no previous file with comments | « Source/core/css/KeyframeStyleRuleCSSStyleDeclaration.cpp ('k') | Source/core/css/PropertySetCSSStyleDeclaration.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698