summary refs log tree commit diff
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
+