Index: Source/core/page/PageAnimator.cpp |
diff --git a/Source/core/page/PageAnimator.cpp b/Source/core/page/PageAnimator.cpp |
index 5f950cf1cef03e9368e8862437dd4b70277116eb..558b40d0ba5ba016cb267e37f510218e4b2284ac 100644 |
--- a/Source/core/page/PageAnimator.cpp |
+++ b/Source/core/page/PageAnimator.cpp |
@@ -29,26 +29,20 @@ void PageAnimator::serviceScriptedAnimations(double monotonicAnimationStartTime) |
m_animationFramePending = false; |
TemporaryChange<bool> servicing(m_servicingAnimations, true); |
- WillBeHeapVector<RefPtrWillBeMember<Document> > documents; |
for (RefPtr<Frame> frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
- if (frame->isLocalFrame()) |
- documents.append(toLocalFrame(frame.get())->document()); |
- } |
+ if (frame->isLocalFrame()) { |
+ RefPtr<LocalFrame> localFrame = toLocalFrame(frame.get()); |
+ localFrame->view()->serviceScrollAnimations(); |
- for (size_t i = 0; i < documents.size(); ++i) { |
- if (documents[i]->frame()) { |
- documents[i]->view()->serviceScrollAnimations(); |
- |
- if (const FrameView::ScrollableAreaSet* scrollableAreas = documents[i]->view()->scrollableAreas()) { |
- for (FrameView::ScrollableAreaSet::iterator it = scrollableAreas->begin(); it != scrollableAreas->end(); ++it) |
- (*it)->serviceScrollAnimations(); |
- } |
+ DocumentAnimations::updateAnimationTimingForAnimationFrame(*localFrame->document(), monotonicAnimationStartTime); |
+ SVGDocumentExtensions::serviceOnAnimationFrame(*localFrame->document(), monotonicAnimationStartTime); |
} |
} |
- for (size_t i = 0; i < documents.size(); ++i) { |
- DocumentAnimations::updateAnimationTimingForAnimationFrame(*documents[i], monotonicAnimationStartTime); |
- SVGDocumentExtensions::serviceOnAnimationFrame(*documents[i], monotonicAnimationStartTime); |
+ Vector<RefPtr<Document> > documents; |
+ for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
+ if (frame->isLocalFrame()) |
+ documents.append(toLocalFrame(frame)->document()); |
} |
for (size_t i = 0; i < documents.size(); ++i) |