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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 | 104 |
105 void SVGDocumentExtensions::startAnimations() | 105 void SVGDocumentExtensions::startAnimations() |
106 { | 106 { |
107 // FIXME: Eventually every "Time Container" will need a way to latch on to s
ome global timer | 107 // FIXME: Eventually every "Time Container" will need a way to latch on to s
ome global timer |
108 // starting animations for a document will do this "latching" | 108 // starting animations for a document will do this "latching" |
109 // FIXME: We hold a ref pointers to prevent a shadow tree from getting remov
ed out from underneath us. | 109 // FIXME: We hold a ref pointers to prevent a shadow tree from getting remov
ed out from underneath us. |
110 // In the future we should refactor the use-element to avoid this. See https
://webkit.org/b/53704 | 110 // In the future we should refactor the use-element to avoid this. See https
://webkit.org/b/53704 |
111 WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> > timeContainers; | 111 WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> > timeContainers; |
112 timeContainers.appendRange(m_timeContainers.begin(), m_timeContainers.end())
; | 112 timeContainers.appendRange(m_timeContainers.begin(), m_timeContainers.end())
; |
113 WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator end = timeCon
tainers.end(); | 113 WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator end = timeCon
tainers.end(); |
114 for (WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator itr = ti
meContainers.begin(); itr != end; ++itr) | 114 for (WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator itr = ti
meContainers.begin(); itr != end; ++itr) { |
115 (*itr)->timeContainer()->begin(); | 115 SMILTimeContainer* timeContainer = (*itr)->timeContainer(); |
| 116 if (!timeContainer->isStarted()) |
| 117 timeContainer->begin(); |
| 118 } |
116 } | 119 } |
117 | 120 |
118 void SVGDocumentExtensions::pauseAnimations() | 121 void SVGDocumentExtensions::pauseAnimations() |
119 { | 122 { |
120 WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement> >::iterator end = m_time
Containers.end(); | 123 WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement> >::iterator end = m_time
Containers.end(); |
121 for (WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement> >::iterator itr = m
_timeContainers.begin(); itr != end; ++itr) | 124 for (WillBeHeapHashSet<RawPtrWillBeMember<SVGSVGElement> >::iterator itr = m
_timeContainers.begin(); itr != end; ++itr) |
122 (*itr)->pauseAnimations(); | 125 (*itr)->pauseAnimations(); |
123 } | 126 } |
124 | 127 |
125 void SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements() | 128 void SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements() |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 } | 479 } |
477 | 480 |
478 void SVGDocumentExtensions::trace(Visitor* visitor) | 481 void SVGDocumentExtensions::trace(Visitor* visitor) |
479 { | 482 { |
480 visitor->trace(m_timeContainers); | 483 visitor->trace(m_timeContainers); |
481 visitor->trace(m_svgFontFaceElements); | 484 visitor->trace(m_svgFontFaceElements); |
482 visitor->trace(m_pendingSVGFontFaceElementsForRemoval); | 485 visitor->trace(m_pendingSVGFontFaceElementsForRemoval); |
483 } | 486 } |
484 | 487 |
485 } | 488 } |
OLD | NEW |