summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-CVE-2016-2831.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2016-2831.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2016-2831.patch120
1 files changed, 0 insertions, 120 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2016-2831.patch b/gnu/packages/patches/icecat-CVE-2016-2831.patch
deleted file mode 100644
index b99ecb6458..0000000000
--- a/gnu/packages/patches/icecat-CVE-2016-2831.patch
+++ /dev/null
@@ -1,120 +0,0 @@
- changeset: 312091:a3fff31b8b70
- user: Xidorn Quan <quanxunzhen@gmail.com>
- Date: Thu Apr 14 17:38:13 2016 +1000
- summary: Bug 1261933 - Continue unlocking pointer even if the widget has gone. r=smaug a=lizzard
-
- MozReview-Commit-ID: 1siQhemFf9O
-
-diff -r f5e862ea4a72 -r a3fff31b8b70 dom/base/nsDocument.cpp
---- a/dom/base/nsDocument.cpp Tue May 31 18:35:26 2016 -0700
-+++ b/dom/base/nsDocument.cpp Thu Apr 14 17:38:13 2016 +1000
-@@ -12315,49 +12315,37 @@
- bool
- nsDocument::SetPointerLock(Element* aElement, int aCursorStyle)
- {
-- // NOTE: aElement will be nullptr when unlocking.
-- nsCOMPtr<nsPIDOMWindow> window = GetWindow();
-- if (!window) {
-- NS_WARNING("SetPointerLock(): No Window");
-- return false;
-- }
--
-- nsIDocShell *docShell = window->GetDocShell();
-- if (!docShell) {
-- NS_WARNING("SetPointerLock(): No DocShell (window already closed?)");
-- return false;
-- }
--
-- nsRefPtr<nsPresContext> presContext;
-- docShell->GetPresContext(getter_AddRefs(presContext));
-- if (!presContext) {
-- NS_WARNING("SetPointerLock(): Unable to get presContext in \
-- domWindow->GetDocShell()->GetPresContext()");
-+ MOZ_ASSERT(!aElement || aElement->OwnerDoc() == this,
-+ "We should be either unlocking pointer (aElement is nullptr), "
-+ "or locking pointer to an element in this document");
-+#ifdef DEBUG
-+ if (!aElement) {
-+ nsCOMPtr<nsIDocument> pointerLockedDoc =
-+ do_QueryReferent(EventStateManager::sPointerLockedDoc);
-+ MOZ_ASSERT(pointerLockedDoc == this);
-+ }
-+#endif
-+
-+ nsIPresShell* shell = GetShell();
-+ if (!shell) {
-+ NS_WARNING("SetPointerLock(): No PresShell");
- return false;
- }
--
-- nsCOMPtr<nsIPresShell> shell = presContext->PresShell();
-- if (!shell) {
-- NS_WARNING("SetPointerLock(): Unable to find presContext->PresShell()");
-- return false;
-- }
--
-- nsIFrame* rootFrame = shell->GetRootFrame();
-- if (!rootFrame) {
-- NS_WARNING("SetPointerLock(): Unable to get root frame");
-+ nsPresContext* presContext = shell->GetPresContext();
-+ if (!presContext) {
-+ NS_WARNING("SetPointerLock(): Unable to get PresContext");
- return false;
- }
-
-- nsCOMPtr<nsIWidget> widget = rootFrame->GetNearestWidget();
-- if (!widget) {
-- NS_WARNING("SetPointerLock(): Unable to find widget in \
-- shell->GetRootFrame()->GetNearestWidget();");
-- return false;
-- }
--
-- if (aElement && (aElement->OwnerDoc() != this)) {
-- NS_WARNING("SetPointerLock(): Element not in this document.");
-- return false;
-+ nsCOMPtr<nsIWidget> widget;
-+ nsIFrame* rootFrame = shell->GetRootFrame();
-+ if (!NS_WARN_IF(!rootFrame)) {
-+ widget = rootFrame->GetNearestWidget();
-+ NS_WARN_IF_FALSE(widget, "SetPointerLock(): Unable to find widget "
-+ "in shell->GetRootFrame()->GetNearestWidget();");
-+ if (aElement && !widget) {
-+ return false;
-+ }
- }
-
- // Hide the cursor and set pointer lock for future mouse events
-diff -r f5e862ea4a72 -r a3fff31b8b70 dom/events/EventStateManager.cpp
---- a/dom/events/EventStateManager.cpp Tue May 31 18:35:26 2016 -0700
-+++ b/dom/events/EventStateManager.cpp Thu Apr 14 17:38:13 2016 +1000
-@@ -4128,10 +4128,6 @@
- // NOTE: aElement will be nullptr when unlocking.
- sIsPointerLocked = !!aElement;
-
-- if (!aWidget) {
-- return;
-- }
--
- // Reset mouse wheel transaction
- WheelTransaction::EndTransaction();
-
-@@ -4140,6 +4136,8 @@
- do_GetService("@mozilla.org/widget/dragservice;1");
-
- if (sIsPointerLocked) {
-+ MOZ_ASSERT(aWidget, "Locking pointer requires a widget");
-+
- // Store the last known ref point so we can reposition the pointer after unlock.
- mPreLockPoint = sLastRefPoint;
-
-@@ -4164,7 +4162,9 @@
- // pre-pointerlock position, so that the synthetic mouse event reports
- // no movement.
- sLastRefPoint = mPreLockPoint;
-- aWidget->SynthesizeNativeMouseMove(mPreLockPoint + aWidget->WidgetToScreenOffset());
-+ if (aWidget) {
-+ aWidget->SynthesizeNativeMouseMove(mPreLockPoint + aWidget->WidgetToScreenOffset());
-+ }
-
- // Don't retarget events to this element any more.
- nsIPresShell::SetCapturingContent(nullptr, CAPTURE_POINTERLOCK);