| 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 ||
|
| + !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());
|
| }
|
|
|
|
|