summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-4513-pt03.patch48
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
+