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

Side by Side Diff: third_party/WebKit/Source/core/animation/KeyframeEffect.cpp

Issue 2398373002: Construct KeyframeEffectReadOnly objects (Closed)
Patch Set: Test tweaks in response to review Created 4 years, 1 month 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 return new KeyframeEffect(target, model, timing, priority, eventDelegate); 51 return new KeyframeEffect(target, model, timing, priority, eventDelegate);
52 } 52 }
53 53
54 KeyframeEffect* KeyframeEffect::create( 54 KeyframeEffect* KeyframeEffect::create(
55 ExecutionContext* executionContext, 55 ExecutionContext* executionContext,
56 Element* element, 56 Element* element,
57 const DictionarySequenceOrDictionary& effectInput, 57 const DictionarySequenceOrDictionary& effectInput,
58 double duration, 58 double duration,
59 ExceptionState& exceptionState) { 59 ExceptionState& exceptionState) {
60 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled()); 60 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled());
61 if (element) 61 if (element) {
62 UseCounter::count( 62 UseCounter::count(
63 element->document(), 63 element->document(),
64 UseCounter::AnimationConstructorKeyframeListEffectObjectTiming); 64 UseCounter::AnimationConstructorKeyframeListEffectObjectTiming);
65 }
65 Timing timing; 66 Timing timing;
66 if (!TimingInput::convert(duration, timing, exceptionState)) 67 if (!TimingInput::convert(duration, timing, exceptionState))
67 return nullptr; 68 return nullptr;
68 return create(element, EffectInput::convert(element, effectInput, 69 return create(element, EffectInput::convert(element, effectInput,
69 executionContext, exceptionState), 70 executionContext, exceptionState),
70 timing); 71 timing);
71 } 72 }
72 73
73 KeyframeEffect* KeyframeEffect::create( 74 KeyframeEffect* KeyframeEffect::create(
74 ExecutionContext* executionContext, 75 ExecutionContext* executionContext,
75 Element* element, 76 Element* element,
76 const DictionarySequenceOrDictionary& effectInput, 77 const DictionarySequenceOrDictionary& effectInput,
77 const KeyframeEffectOptions& timingInput, 78 const KeyframeEffectOptions& timingInput,
78 ExceptionState& exceptionState) { 79 ExceptionState& exceptionState) {
79 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled()); 80 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled());
80 if (element) 81 if (element) {
81 UseCounter::count( 82 UseCounter::count(
82 element->document(), 83 element->document(),
83 UseCounter::AnimationConstructorKeyframeListEffectObjectTiming); 84 UseCounter::AnimationConstructorKeyframeListEffectObjectTiming);
85 }
84 Timing timing; 86 Timing timing;
85 Document* document = element ? &element->document() : nullptr; 87 Document* document = element ? &element->document() : nullptr;
86 if (!TimingInput::convert(timingInput, timing, document, exceptionState)) 88 if (!TimingInput::convert(timingInput, timing, document, exceptionState))
87 return nullptr; 89 return nullptr;
88 return create(element, EffectInput::convert(element, effectInput, 90 return create(element, EffectInput::convert(element, effectInput,
89 executionContext, exceptionState), 91 executionContext, exceptionState),
90 timing); 92 timing);
91 } 93 }
92 94
93 KeyframeEffect* KeyframeEffect::create( 95 KeyframeEffect* KeyframeEffect::create(
94 ExecutionContext* executionContext, 96 ExecutionContext* executionContext,
95 Element* element, 97 Element* element,
96 const DictionarySequenceOrDictionary& effectInput, 98 const DictionarySequenceOrDictionary& effectInput,
97 ExceptionState& exceptionState) { 99 ExceptionState& exceptionState) {
98 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled()); 100 DCHECK(RuntimeEnabledFeatures::webAnimationsAPIEnabled());
99 if (element) 101 if (element) {
100 UseCounter::count( 102 UseCounter::count(
101 element->document(), 103 element->document(),
102 UseCounter::AnimationConstructorKeyframeListEffectNoTiming); 104 UseCounter::AnimationConstructorKeyframeListEffectNoTiming);
105 }
103 return create(element, EffectInput::convert(element, effectInput, 106 return create(element, EffectInput::convert(element, effectInput,
104 executionContext, exceptionState), 107 executionContext, exceptionState),
105 Timing()); 108 Timing());
106 } 109 }
107 110
108 KeyframeEffect::KeyframeEffect(Element* target, 111 KeyframeEffect::KeyframeEffect(Element* target,
109 EffectModel* model, 112 EffectModel* model,
110 const Timing& timing, 113 const Timing& timing,
111 KeyframeEffectReadOnly::Priority priority, 114 KeyframeEffectReadOnly::Priority priority,
112 EventDelegate* eventDelegate) 115 EventDelegate* eventDelegate)
113 : KeyframeEffectReadOnly(target, model, timing, priority, eventDelegate) {} 116 : KeyframeEffectReadOnly(target, model, timing, priority, eventDelegate) {}
114 117
115 KeyframeEffect::~KeyframeEffect() {} 118 KeyframeEffect::~KeyframeEffect() {}
116 119
117 AnimationEffectTiming* KeyframeEffect::timing() { 120 AnimationEffectTiming* KeyframeEffect::timing() {
118 return AnimationEffectTiming::create(this); 121 return AnimationEffectTiming::create(this);
119 } 122 }
120 123
121 } // namespace blink 124 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698