| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> |
| 4 * Copyright (C) 2007 Rob Buis <buis@kde.org> | 4 * Copyright (C) 2007 Rob Buis <buis@kde.org> |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 } | 79 } |
| 80 | 80 |
| 81 LayoutSVGResourceContainer* SVGDocumentExtensions::resourceById(const AtomicStri
ng& id) const | 81 LayoutSVGResourceContainer* SVGDocumentExtensions::resourceById(const AtomicStri
ng& id) const |
| 82 { | 82 { |
| 83 if (id.isEmpty()) | 83 if (id.isEmpty()) |
| 84 return nullptr; | 84 return nullptr; |
| 85 | 85 |
| 86 return m_resources.get(id); | 86 return m_resources.get(id); |
| 87 } | 87 } |
| 88 | 88 |
| 89 void SVGDocumentExtensions::serviceOnAnimationFrame(Document& document, double m
onotonicAnimationStartTime) | 89 void SVGDocumentExtensions::serviceOnAnimationFrame(Document& document) |
| 90 { | 90 { |
| 91 if (!document.svgExtensions()) | 91 if (!document.svgExtensions()) |
| 92 return; | 92 return; |
| 93 document.accessSVGExtensions().serviceAnimations(monotonicAnimationStartTime
); | 93 document.accessSVGExtensions().serviceAnimations(); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void SVGDocumentExtensions::serviceAnimations(double monotonicAnimationStartTime
) | 96 void SVGDocumentExtensions::serviceAnimations() |
| 97 { | 97 { |
| 98 if (RuntimeEnabledFeatures::smilEnabled()) { | 98 if (RuntimeEnabledFeatures::smilEnabled()) { |
| 99 HeapVector<Member<SVGSVGElement>> timeContainers; | 99 HeapVector<Member<SVGSVGElement>> timeContainers; |
| 100 copyToVector(m_timeContainers, timeContainers); | 100 copyToVector(m_timeContainers, timeContainers); |
| 101 for (const auto& container : timeContainers) | 101 for (const auto& container : timeContainers) |
| 102 container->timeContainer()->serviceAnimations(monotonicAnimationStar
tTime); | 102 container->timeContainer()->serviceAnimations(); |
| 103 } | 103 } |
| 104 | 104 |
| 105 SVGElementSet webAnimationsPendingSVGElements; | 105 SVGElementSet webAnimationsPendingSVGElements; |
| 106 webAnimationsPendingSVGElements.swap(m_webAnimationsPendingSVGElements); | 106 webAnimationsPendingSVGElements.swap(m_webAnimationsPendingSVGElements); |
| 107 | 107 |
| 108 // TODO(alancutter): Make SVG animation effect application a separate docume
nt lifecycle phase from servicing animations to be responsive to Javascript mani
pulation of exposed animation objects. | 108 // TODO(alancutter): Make SVG animation effect application a separate docume
nt lifecycle phase from servicing animations to be responsive to Javascript mani
pulation of exposed animation objects. |
| 109 for (auto& svgElement : webAnimationsPendingSVGElements) | 109 for (auto& svgElement : webAnimationsPendingSVGElements) |
| 110 svgElement->applyActiveWebAnimations(); | 110 svgElement->applyActiveWebAnimations(); |
| 111 | 111 |
| 112 ASSERT(m_webAnimationsPendingSVGElements.isEmpty()); | 112 ASSERT(m_webAnimationsPendingSVGElements.isEmpty()); |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 { | 360 { |
| 361 visitor->trace(m_document); | 361 visitor->trace(m_document); |
| 362 visitor->trace(m_timeContainers); | 362 visitor->trace(m_timeContainers); |
| 363 visitor->trace(m_webAnimationsPendingSVGElements); | 363 visitor->trace(m_webAnimationsPendingSVGElements); |
| 364 visitor->trace(m_relativeLengthSVGRoots); | 364 visitor->trace(m_relativeLengthSVGRoots); |
| 365 visitor->trace(m_pendingResources); | 365 visitor->trace(m_pendingResources); |
| 366 visitor->trace(m_pendingResourcesForRemoval); | 366 visitor->trace(m_pendingResourcesForRemoval); |
| 367 } | 367 } |
| 368 | 368 |
| 369 } // namespace blink | 369 } // namespace blink |
| OLD | NEW |