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 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 break; | 353 break; |
354 /* fall through */ | 354 /* fall through */ |
355 case RestartOnceTimer: | 355 case RestartOnceTimer: |
356 scheduleAnimationPolicyTimer(); | 356 scheduleAnimationPolicyTimer(); |
357 break; | 357 break; |
358 case CancelOnceTimer: | 358 case CancelOnceTimer: |
359 cancelAnimationPolicyTimer(); | 359 cancelAnimationPolicyTimer(); |
360 break; | 360 break; |
361 } | 361 } |
362 } | 362 } |
| 363 if (policy == ImageAnimationPolicyAllowed) { |
| 364 // When the SVG owner element becomes detached from its document, |
| 365 // the policy defaults to ImageAnimationPolicyAllowed; there's |
| 366 // no way back. If the policy had been "once" prior to that, |
| 367 // ensure cancellation of its timer. |
| 368 if (onceAction == CancelOnceTimer) |
| 369 cancelAnimationPolicyTimer(); |
| 370 } |
363 return true; | 371 return true; |
364 } | 372 } |
365 | 373 |
366 void SMILTimeContainer::updateDocumentOrderIndexes() | 374 void SMILTimeContainer::updateDocumentOrderIndexes() |
367 { | 375 { |
368 unsigned timingElementCount = 0; | 376 unsigned timingElementCount = 0; |
369 for (SVGSMILElement& element : Traversal<SVGSMILElement>::descendantsOf(m_ow
nerSVGElement)) | 377 for (SVGSMILElement& element : Traversal<SVGSMILElement>::descendantsOf(m_ow
nerSVGElement)) |
370 element.setDocumentOrderIndex(timingElementCount++); | 378 element.setDocumentOrderIndex(timingElementCount++); |
371 m_documentOrderIndexesDirty = false; | 379 m_documentOrderIndexesDirty = false; |
372 } | 380 } |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 } | 541 } |
534 | 542 |
535 void SMILTimeContainer::trace(Visitor* visitor) | 543 void SMILTimeContainer::trace(Visitor* visitor) |
536 { | 544 { |
537 #if ENABLE(OILPAN) | 545 #if ENABLE(OILPAN) |
538 visitor->trace(m_scheduledAnimations); | 546 visitor->trace(m_scheduledAnimations); |
539 #endif | 547 #endif |
540 } | 548 } |
541 | 549 |
542 } | 550 } |
OLD | NEW |