summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch103
1 files changed, 0 insertions, 103 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch b/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch
deleted file mode 100644
index 9a77ed908b..0000000000
--- a/gnu/packages/patches/icecat-CVE-2015-4513-pt02.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From d463cb5f0374bfc7c62ae5f1c89edd3ca35084e5 Mon Sep 17 00:00:00 2001
-From: Olli Pettay <Olli.Pettay@helsinki.fi>
-Date: Thu, 24 Sep 2015 03:53:31 +0300
-Subject: [PATCH] Bug 1204669 - optimize out hashtable lookups caused by extra
- GetPrototypeBinding call, r=bz,waldo, a=al
-
---HG--
-extra : source : 91657db26f49f885f2338cb8c9302cdf18999f1f
----
- dom/xbl/nsXBLPrototypeBinding.h | 9 +++++++--
- dom/xbl/nsXBLService.cpp | 6 +++---
- mfbt/WeakPtr.h | 8 +++++++-
- 3 files changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/dom/xbl/nsXBLPrototypeBinding.h b/dom/xbl/nsXBLPrototypeBinding.h
-index be2cb5a..1aaa07f 100644
---- a/dom/xbl/nsXBLPrototypeBinding.h
-+++ b/dom/xbl/nsXBLPrototypeBinding.h
-@@ -17,6 +17,7 @@
- #include "nsXBLProtoImplMethod.h"
- #include "nsXBLPrototypeHandler.h"
- #include "nsXBLPrototypeResources.h"
-+#include "mozilla/WeakPtr.h"
-
- class nsIAtom;
- class nsIContent;
-@@ -35,9 +36,12 @@ class CSSStyleSheet;
- // Instances of this class are owned by the nsXBLDocumentInfo object returned
- // by XBLDocumentInfo(). Consumers who want to refcount things should refcount
- // that.
--class nsXBLPrototypeBinding final
-+class nsXBLPrototypeBinding final :
-+ public mozilla::SupportsWeakPtr<nsXBLPrototypeBinding>
- {
- public:
-+ MOZ_DECLARE_WEAKREFERENCE_TYPENAME(nsXBLPrototypeBinding)
-+
- nsIContent* GetBindingElement() const { return mBinding; }
- void SetBindingElement(nsIContent* aElement);
-
-@@ -289,7 +293,8 @@ protected:
- nsXBLProtoImpl* mImplementation; // Our prototype implementation (includes methods, properties, fields,
- // the constructor, and the destructor).
-
-- nsXBLPrototypeBinding* mBaseBinding; // Weak. The docinfo will own our base binding.
-+ // Weak. The docinfo will own our base binding.
-+ mozilla::WeakPtr<nsXBLPrototypeBinding> mBaseBinding;
- bool mInheritStyle;
- bool mCheckedBaseProto;
- bool mKeyHandlersRegistered;
-diff --git a/dom/xbl/nsXBLService.cpp b/dom/xbl/nsXBLService.cpp
-index 2204520..978c6fc 100644
---- a/dom/xbl/nsXBLService.cpp
-+++ b/dom/xbl/nsXBLService.cpp
-@@ -732,7 +732,8 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI,
- if (!docInfo)
- return NS_ERROR_FAILURE;
-
-- nsXBLPrototypeBinding* protoBinding = docInfo->GetPrototypeBinding(ref);
-+ WeakPtr<nsXBLPrototypeBinding> protoBinding =
-+ docInfo->GetPrototypeBinding(ref);
-
- if (!protoBinding) {
- #ifdef DEBUG
-@@ -783,7 +784,7 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI,
- NS_ENSURE_SUCCESS(rv, rv);
-
- nsCOMPtr<nsIURI> baseBindingURI;
-- nsXBLPrototypeBinding* baseProto = protoBinding->GetBasePrototype();
-+ WeakPtr<nsXBLPrototypeBinding> baseProto = protoBinding->GetBasePrototype();
- if (baseProto) {
- baseBindingURI = baseProto->BindingURI();
- }
-@@ -828,7 +829,6 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI,
-
- if (!aPeekOnly) {
- // Make a new binding
-- protoBinding = docInfo->GetPrototypeBinding(ref);
- NS_ENSURE_STATE(protoBinding);
- nsXBLBinding *newBinding = new nsXBLBinding(protoBinding);
-
-diff --git a/mfbt/WeakPtr.h b/mfbt/WeakPtr.h
-index 6e5de43..22ba20e 100644
---- a/mfbt/WeakPtr.h
-+++ b/mfbt/WeakPtr.h
-@@ -172,7 +172,13 @@ public:
-
- WeakPtr& operator=(T* aOther)
- {
-- return *this = aOther->SelfReferencingWeakPtr();
-+ if (aOther) {
-+ *this = aOther->SelfReferencingWeakPtr();
-+ } else if (!mRef || mRef->get()) {
-+ // Ensure that mRef is dereferenceable in the uninitialized state.
-+ mRef = new WeakReference(nullptr);
-+ }
-+ return *this;
- }
-
- MOZ_IMPLICIT WeakPtr(T* aOther)
---
-2.5.0
-