guix-devel/gnu/packages/patches/icecat-CVE-2015-4513-pt03.p...

49 lines
1.8 KiB
Diff

From 88312d4d167aba886fdbd563afcfd5cc96a9d813 Mon Sep 17 00:00:00 2001
From: Boris Zbarsky <bzbarsky@mit.edu>
Date: Fri, 11 Sep 2015 21:59:43 -0400
Subject: [PATCH] Bug 1191942 - Make sure to not schedule
requestAnimationFrame callbacks if animations are paused. r=roc, a=ritu
--HG--
extra : source : ed8a6af1508ac68a28d017e26935e7a12dbda864
extra : intermediate-source : 254e3cb723ed279f68b0c88ad30dc35b6a93ce84
---
dom/base/nsDocument.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp
index 47f611e..087501c 100644
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -3928,7 +3928,7 @@ void
nsDocument::DeleteShell()
{
mExternalResourceMap.HideViewers();
- if (IsEventHandlingEnabled()) {
+ if (IsEventHandlingEnabled() && !AnimationsPaused()) {
RevokeAnimationFrameNotifications();
}
@@ -4687,7 +4687,7 @@ nsDocument::SetScriptGlobalObject(nsIScriptGlobalObject *aScriptGlobalObject)
// our layout history state now.
mLayoutHistoryState = GetLayoutHistoryState();
- if (mPresShell && !EventHandlingSuppressed()) {
+ if (mPresShell && !EventHandlingSuppressed() && !AnimationsPaused()) {
RevokeAnimationFrameNotifications();
}
@@ -10276,7 +10276,8 @@ nsIDocument::ScheduleFrameRequestCallback(const FrameRequestCallbackHolder& aCal
DebugOnly<FrameRequest*> request =
mFrameRequestCallbacks.AppendElement(FrameRequest(aCallback, newHandle));
NS_ASSERTION(request, "This is supposed to be infallible!");
- if (!alreadyRegistered && mPresShell && IsEventHandlingEnabled()) {
+ if (!alreadyRegistered && mPresShell && IsEventHandlingEnabled() &&
+ !AnimationsPaused()) {
mPresShell->GetPresContext()->RefreshDriver()->
ScheduleFrameRequestCallbacks(this);
}
--
2.5.0