| OLD | NEW |
| 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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 ASSERT(animation()); | 170 ASSERT(animation()); |
| 171 if (!m_target || !m_model) | 171 if (!m_target || !m_model) |
| 172 return; | 172 return; |
| 173 | 173 |
| 174 if (hasIncompatibleStyle()) | 174 if (hasIncompatibleStyle()) |
| 175 animation()->cancelAnimationOnCompositor(); | 175 animation()->cancelAnimationOnCompositor(); |
| 176 | 176 |
| 177 double iteration = currentIteration(); | 177 double iteration = currentIteration(); |
| 178 ASSERT(iteration >= 0); | 178 ASSERT(iteration >= 0); |
| 179 OwnPtr<Vector<RefPtr<Interpolation>>> interpolations = m_sampledEffect ? m_s
ampledEffect->mutableInterpolations() : nullptr; | 179 OwnPtr<Vector<RefPtr<Interpolation>>> interpolations = m_sampledEffect ? m_s
ampledEffect->mutableInterpolations() : nullptr; |
| 180 // FIXME: Handle iteration values which overflow int. | 180 bool changed = m_model->sample(clampTo<int>(iteration, 0), timeFraction(), i
terationDuration(), interpolations); |
| 181 bool changed = m_model->sample(static_cast<int>(iteration), timeFraction(),
iterationDuration(), interpolations); | |
| 182 if (m_sampledEffect) { | 181 if (m_sampledEffect) { |
| 183 m_sampledEffect->setInterpolations(interpolations.release()); | 182 m_sampledEffect->setInterpolations(interpolations.release()); |
| 184 } else if (interpolations && !interpolations->isEmpty()) { | 183 } else if (interpolations && !interpolations->isEmpty()) { |
| 185 SampledEffect* sampledEffect = SampledEffect::create(this, interpolation
s.release()); | 184 SampledEffect* sampledEffect = SampledEffect::create(this, interpolation
s.release()); |
| 186 m_sampledEffect = sampledEffect; | 185 m_sampledEffect = sampledEffect; |
| 187 ensureAnimationStack(m_target).add(sampledEffect); | 186 ensureAnimationStack(m_target).add(sampledEffect); |
| 188 changed = true; | 187 changed = true; |
| 189 } else { | 188 } else { |
| 190 return; | 189 return; |
| 191 } | 190 } |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 | 367 |
| 369 DEFINE_TRACE(KeyframeEffect) | 368 DEFINE_TRACE(KeyframeEffect) |
| 370 { | 369 { |
| 371 visitor->trace(m_target); | 370 visitor->trace(m_target); |
| 372 visitor->trace(m_model); | 371 visitor->trace(m_model); |
| 373 visitor->trace(m_sampledEffect); | 372 visitor->trace(m_sampledEffect); |
| 374 AnimationEffect::trace(visitor); | 373 AnimationEffect::trace(visitor); |
| 375 } | 374 } |
| 376 | 375 |
| 377 } // namespace blink | 376 } // namespace blink |
| OLD | NEW |