| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 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 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1147 connectSyncBaseConditions(); | 1147 connectSyncBaseConditions(); |
| 1148 | 1148 |
| 1149 if (!m_interval.begin.isFinite()) { | 1149 if (!m_interval.begin.isFinite()) { |
| 1150 ASSERT(m_activeState == Inactive); | 1150 ASSERT(m_activeState == Inactive); |
| 1151 m_nextProgressTime = SMILTime::unresolved(); | 1151 m_nextProgressTime = SMILTime::unresolved(); |
| 1152 return false; | 1152 return false; |
| 1153 } | 1153 } |
| 1154 | 1154 |
| 1155 if (elapsed < m_interval.begin) { | 1155 if (elapsed < m_interval.begin) { |
| 1156 ASSERT(m_activeState != Active); | 1156 ASSERT(m_activeState != Active); |
| 1157 if (m_activeState == Frozen) { | 1157 bool isFrozen = (m_activeState == Frozen); |
| 1158 if (isFrozen) { |
| 1158 if (this == resultElement) | 1159 if (this == resultElement) |
| 1159 resetAnimatedType(); | 1160 resetAnimatedType(); |
| 1160 updateAnimation(m_lastPercent, m_lastRepeat, resultElement); | 1161 updateAnimation(m_lastPercent, m_lastRepeat, resultElement); |
| 1161 } | 1162 } |
| 1162 m_nextProgressTime = m_interval.begin; | 1163 m_nextProgressTime = m_interval.begin; |
| 1163 return false; | 1164 // If the animation is frozen, it's still contributing. |
| 1165 return isFrozen; |
| 1164 } | 1166 } |
| 1165 | 1167 |
| 1166 m_previousIntervalBegin = m_interval.begin; | 1168 m_previousIntervalBegin = m_interval.begin; |
| 1167 | 1169 |
| 1168 if (m_isWaitingForFirstInterval) { | 1170 if (m_isWaitingForFirstInterval) { |
| 1169 m_isWaitingForFirstInterval = false; | 1171 m_isWaitingForFirstInterval = false; |
| 1170 resolveFirstInterval(); | 1172 resolveFirstInterval(); |
| 1171 } | 1173 } |
| 1172 | 1174 |
| 1173 // This call may obtain a new interval -- never call calculateAnimationPerce
ntAndRepeat() before! | 1175 // This call may obtain a new interval -- never call calculateAnimationPerce
ntAndRepeat() before! |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1344 void SVGSMILElement::trace(Visitor* visitor) | 1346 void SVGSMILElement::trace(Visitor* visitor) |
| 1345 { | 1347 { |
| 1346 visitor->trace(m_targetElement); | 1348 visitor->trace(m_targetElement); |
| 1347 visitor->trace(m_timeContainer); | 1349 visitor->trace(m_timeContainer); |
| 1348 visitor->trace(m_conditions); | 1350 visitor->trace(m_conditions); |
| 1349 visitor->trace(m_syncBaseDependents); | 1351 visitor->trace(m_syncBaseDependents); |
| 1350 SVGElement::trace(visitor); | 1352 SVGElement::trace(visitor); |
| 1351 } | 1353 } |
| 1352 | 1354 |
| 1353 } | 1355 } |
| OLD | NEW |