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

Side by Side Diff: Source/core/animation/InterpolableValuePromise.h

Issue 273683005: Web Animations API: Deferred computation of interpolated values (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix crashing shadow animation tests Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef InterpolableValuePromise_h
6 #define InterpolableValuePromise_h
7
8 #include "CSSPropertyNames.h"
9 #include "core/animation/InterpolableValue.h"
10
11 namespace WebCore {
12
13 class CSSPrimitiveValue;
14 class Element;
15 class StyleResolverState;
16
17 class InterpolableValuePromise : public RefCountedWillBeGarbageCollected<Interpo lableValuePromise> {
18 DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(InterpolableValuePromise);
19 public:
20 // FIXME: remove element reference
21 static PassRefPtrWillBeRawPtr<InterpolableValuePromise> create(Element& elem ent, CSSPropertyID id, PassRefPtrWillBeRawPtr<CSSValue> value)
22 {
23 return adoptRefWillBeNoop(new InterpolableValuePromise(element, id, valu e));
24 }
25
26 virtual void trace(Visitor*);
27
28 PassOwnPtrWillBeRawPtr<InterpolableValue> extract(StyleResolverState&, CSSPr opertyID);
29 PassRefPtrWillBeRawPtr<AnimatableValue> extractAnimatableValue();
30
31 static bool requiresLateBinding(const CSSValue&);
32 static bool requiresLateBinding(const CSSPrimitiveValue&);
33
34 private:
35 InterpolableValuePromise(Element&, CSSPropertyID, PassRefPtrWillBeRawPtr<CSS Value>);
36
37 RefPtrWillBeMember<CSSValue> m_cssValue;
38 OwnPtrWillBeMember<InterpolableAnimatableValue> m_interpolableAnimatableValu e;
39 };
40
41 }
42
43 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698