diff options
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch')
-rw-r--r-- | gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch new file mode 100644 index 0000000000..4f86629068 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch @@ -0,0 +1,48 @@ +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 + |