Chromium Code Reviews| Index: Source/core/page/PageAnimator.cpp |
| diff --git a/Source/core/page/PageAnimator.cpp b/Source/core/page/PageAnimator.cpp |
| index 0d429bae2ab329236e0351c91e2c33213606c226..a746d08d250338dd151dc18884f482b36baecfb2 100644 |
| --- a/Source/core/page/PageAnimator.cpp |
| +++ b/Source/core/page/PageAnimator.cpp |
| @@ -66,12 +66,20 @@ void PageAnimator::serviceScriptedAnimations(double monotonicAnimationStartTime) |
| documents[i]->serviceScriptedAnimations(monotonicAnimationStartTime); |
| } |
| -void PageAnimator::scheduleVisualUpdate() |
| +void PageAnimator::scheduleVisualUpdate(LocalFrame* rootFrame) |
|
dcheng
2014/11/26 18:20:00
And then just call this frame--it's a bit confusin
dcheng
2014/11/26 18:20:00
And then just call this frame--it's a bit confusin
kenrb
2014/12/02 17:49:43
Done.
|
| { |
| // FIXME: also include m_animationFramePending here. It is currently not there due to crbug.com/353756. |
| if (m_servicingAnimations || m_updatingLayoutAndStyleForPainting) |
| return; |
| - m_page->chrome().scheduleAnimation(); |
| + // FIXME: The frame-specific version of scheduleAnimation() is for |
| + // out-of-process iframes. Passing 0 or the top-level frame to this method |
| + // causes scheduleAnimation() to be called for the page, which still uses |
| + // a page-level WebWidget (the WebViewImpl). |
| + if (rootFrame && !rootFrame->isMainFrame() && rootFrame->isLocalRoot()) { |
| + m_page->chrome().scheduleAnimationForFrame(rootFrame); |
| + } else { |
| + m_page->chrome().scheduleAnimation(); |
| + } |
| } |
| void PageAnimator::updateLayoutAndStyleForPainting(LocalFrame* rootFrame) |