Chromium Code Reviews| Index: third_party/WebKit/Source/core/page/PageAnimator.cpp |
| diff --git a/third_party/WebKit/Source/core/page/PageAnimator.cpp b/third_party/WebKit/Source/core/page/PageAnimator.cpp |
| index b1a1f1daa2ffbed00cf4c0e51f36a9a9e80897b8..d2adf5f01178aa26730125c04b37e6bfec826d53 100644 |
| --- a/third_party/WebKit/Source/core/page/PageAnimator.cpp |
| +++ b/third_party/WebKit/Source/core/page/PageAnimator.cpp |
| @@ -73,10 +73,21 @@ void PageAnimator::serviceScriptedAnimations( |
| } |
| } |
| +void PageAnimator::setSuppressFrameRequestsWorkaroundFor704763Only( |
| + bool suppressFrameRequests) { |
| + // If we are enabling the suppression and it was already enabled then we must |
| + // have missed disabling it at the end of a previous frame. |
| + DCHECK(!m_suppressFrameRequestsWorkaroundFor704763Only || |
|
esprehn
2017/04/05 08:33:02
This could be != Instead of the or I think?
alancutter (OOO until 2018)
2017/04/05 10:04:18
It used to be but some tests call UpdateVisualStat
|
| + !suppressFrameRequests); |
| + m_suppressFrameRequestsWorkaroundFor704763Only = suppressFrameRequests; |
| +} |
| + |
| DISABLE_CFI_PERF |
| void PageAnimator::scheduleVisualUpdate(LocalFrame* frame) { |
| - if (m_servicingAnimations || m_updatingLayoutAndStyleForPainting) |
| + if (m_servicingAnimations || m_updatingLayoutAndStyleForPainting || |
| + m_suppressFrameRequestsWorkaroundFor704763Only) { |
| return; |
| + } |
| m_page->chromeClient().scheduleAnimation(frame->view()); |
| } |