svn commit: r474052 - in branches/2018Q3/www/waterfox: . files
Jan Beich
jbeich at FreeBSD.org
Sat Jul 7 00:53:46 UTC 2018
Author: jbeich
Date: Sat Jul 7 00:53:44 2018
New Revision: 474052
URL: https://svnweb.freebsd.org/changeset/ports/474052
Log:
MFH: r474046
www/waterfox: apply some FF62 fixes
Approved by: ports-secteam blanket
Added:
branches/2018Q3/www/waterfox/files/patch-bug1469309
- copied unchanged from r474046, head/www/waterfox/files/patch-bug1469309
branches/2018Q3/www/waterfox/files/patch-bug1469914
- copied unchanged from r474046, head/www/waterfox/files/patch-bug1469914
Modified:
branches/2018Q3/www/waterfox/Makefile
Directory Properties:
branches/2018Q3/ (props changed)
Modified: branches/2018Q3/www/waterfox/Makefile
==============================================================================
--- branches/2018Q3/www/waterfox/Makefile Sat Jul 7 00:48:29 2018 (r474051)
+++ branches/2018Q3/www/waterfox/Makefile Sat Jul 7 00:53:44 2018 (r474052)
@@ -3,7 +3,7 @@
PORTNAME= waterfox
DISTVERSION= 56.2.1-55
DISTVERSIONSUFFIX= -g6395bf177f76a
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www ipv6
MAINTAINER= jbeich at FreeBSD.org
Copied: branches/2018Q3/www/waterfox/files/patch-bug1469309 (from r474046, head/www/waterfox/files/patch-bug1469309)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q3/www/waterfox/files/patch-bug1469309 Sat Jul 7 00:53:44 2018 (r474052, copy of r474046, head/www/waterfox/files/patch-bug1469309)
@@ -0,0 +1,72 @@
+commit ff627ab4afeb
+Author: Gabriele Svelto <gsvelto at mozilla.com>
+Date: Tue Jun 19 09:18:09 2018 +0200
+
+ Bug 1469309 - Remove an unused sensor type; r=agaynor a=lizzard
+
+ --HG--
+ extra : source : 12d7dd36b8ccb80e866d0da7fcb7e44fcb690b0b
+ extra : intermediate-source : 3dd88f4a8884fe4327fc08588dce1fe221c45bcb
+---
+ hal/Hal.cpp | 1 +
+ hal/HalSensor.h | 3 +--
+ hal/sandbox/SandboxHal.cpp | 6 +++---
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git hal/Hal.cpp hal/Hal.cpp
+index e03b7fdfab2f6..7845d5072ee53 100644
+--- hal/Hal.cpp
++++ hal/Hal.cpp
+@@ -426,6 +426,7 @@ UnregisterSensorObserver(SensorType aSensor, ISensorObserver *aObserver) {
+ AssertMainThread();
+
+ if (!gSensorObservers) {
++ HAL_ERR("Un-registering a sensor when none have been registered");
+ return;
+ }
+
+diff --git hal/HalSensor.h hal/HalSensor.h
+index 551c4271d5395..5175629c9ab33 100644
+--- hal/HalSensor.h
++++ hal/HalSensor.h
+@@ -18,7 +18,6 @@ namespace hal {
+ * If you add or change any here, do the same in GeckoHalDefines.java.
+ */
+ enum SensorType {
+- SENSOR_UNKNOWN = -1,
+ SENSOR_ORIENTATION = 0,
+ SENSOR_ACCELERATION = 1,
+ SENSOR_PROXIMITY = 2,
+@@ -63,7 +62,7 @@ namespace IPC {
+ struct ParamTraits<mozilla::hal::SensorType>:
+ public ContiguousEnumSerializer<
+ mozilla::hal::SensorType,
+- mozilla::hal::SENSOR_UNKNOWN,
++ mozilla::hal::SENSOR_ORIENTATION,
+ mozilla::hal::NUM_SENSOR_TYPE> {
+ };
+
+diff --git hal/sandbox/SandboxHal.cpp hal/sandbox/SandboxHal.cpp
+index 73b106da73d0a..cf0ccb483ed57 100644
+--- hal/sandbox/SandboxHal.cpp
++++ hal/sandbox/SandboxHal.cpp
+@@ -16,6 +16,7 @@
+ #include "mozilla/dom/network/Types.h"
+ #include "mozilla/dom/ScreenOrientation.h"
+ #include "mozilla/fallback/FallbackScreenConfiguration.h"
++#include "mozilla/EnumeratedRange.h"
+ #include "mozilla/Observer.h"
+ #include "mozilla/Unused.h"
+ #include "nsAutoPtr.h"
+@@ -232,9 +233,8 @@ public:
+ hal::UnregisterBatteryObserver(this);
+ hal::UnregisterNetworkObserver(this);
+ hal::UnregisterScreenConfigurationObserver(this);
+- for (int32_t sensor = SENSOR_UNKNOWN + 1;
+- sensor < NUM_SENSOR_TYPE; ++sensor) {
+- hal::UnregisterSensorObserver(SensorType(sensor), this);
++ for (auto sensor : MakeEnumeratedRange(NUM_SENSOR_TYPE)) {
++ hal::UnregisterSensorObserver(sensor, this);
+ }
+ hal::UnregisterWakeLockObserver(this);
+ }
Copied: branches/2018Q3/www/waterfox/files/patch-bug1469914 (from r474046, head/www/waterfox/files/patch-bug1469914)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q3/www/waterfox/files/patch-bug1469914 Sat Jul 7 00:53:44 2018 (r474052, copy of r474046, head/www/waterfox/files/patch-bug1469914)
@@ -0,0 +1,118 @@
+commit 051d1b6a48a7
+Author: Gabriele Svelto <gsvelto at mozilla.com>
+Date: Fri Jun 22 00:35:08 2018 +0200
+
+ Bug 1469914 - Prevent the HAL from registering duplicate observers; r=froydnj a=lizzard
+
+ This also replaces the custom logic in ObserverList with an nsTObserverArray
+ which has all the necessary logic for stable iteration over a potentially
+ changing list of items. Unused dependencies were also removed.
+
+ --HG--
+ extra : source : 303478f7f248470a1c747f42dad9cb85c3129f0a
+ extra : intermediate-source : 8e6dea408b0ee63ec1c675b8b0293c0ee2d100dd
+---
+ hal/Hal.cpp | 3 ---
+ hal/Hal.h | 1 -
+ xpcom/ds/Observer.h | 33 ++++++++-------------------------
+ 3 files changed, 8 insertions(+), 29 deletions(-)
+
+diff --git hal/Hal.cpp hal/Hal.cpp
+index 1b32db73e2508..e03b7fdfab2f6 100644
+--- hal/Hal.cpp
++++ hal/Hal.cpp
+@@ -20,10 +20,7 @@
+ #include "nsJSUtils.h"
+ #include "mozilla/ClearOnShutdown.h"
+ #include "mozilla/Observer.h"
+-#include "mozilla/Services.h"
+-#include "mozilla/StaticPtr.h"
+ #include "mozilla/dom/ContentChild.h"
+-#include "mozilla/dom/ContentParent.h"
+ #include "mozilla/dom/ScreenOrientation.h"
+ #include "WindowIdentifier.h"
+
+diff --git hal/Hal.h hal/Hal.h
+index 787b7ed5f3890..311c5c8b50118 100644
+--- hal/Hal.h
++++ hal/Hal.h
+@@ -17,7 +17,6 @@
+ #include "mozilla/hal_sandbox/PHal.h"
+ #include "mozilla/HalScreenConfiguration.h"
+ #include "mozilla/HalTypes.h"
+-#include "mozilla/Observer.h"
+ #include "mozilla/Types.h"
+
+ /*
+diff --git xpcom/ds/Observer.h xpcom/ds/Observer.h
+index 83d650a936ccc..9e782949c8e5e 100644
+--- xpcom/ds/Observer.h
++++ xpcom/ds/Observer.h
+@@ -7,7 +7,7 @@
+ #ifndef mozilla_Observer_h
+ #define mozilla_Observer_h
+
+-#include "nsTArray.h"
++#include "nsTObserverArray.h"
+
+ namespace mozilla {
+
+@@ -48,7 +48,7 @@ public:
+ */
+ void AddObserver(Observer<T>* aObserver)
+ {
+- mObservers.AppendElement(aObserver);
++ mObservers.AppendElementUnlessExists(aObserver);
+ }
+
+ /**
+@@ -57,17 +57,7 @@ public:
+ */
+ bool RemoveObserver(Observer<T>* aObserver)
+ {
+- if (mObservers.RemoveElement(aObserver)) {
+- if (!mBroadcastCopy.IsEmpty()) {
+- // Annoyingly, someone could RemoveObserver() an item on the list
+- // while we're in a Broadcast()'s Notify() call.
+- auto i = mBroadcastCopy.IndexOf(aObserver);
+- MOZ_ASSERT(i != mBroadcastCopy.NoIndex);
+- mBroadcastCopy[i] = nullptr;
+- }
+- return true;
+- }
+- return false;
++ return mObservers.RemoveElement(aObserver);
+ }
+
+ uint32_t Length()
+@@ -77,25 +67,18 @@ public:
+
+ /**
+ * Call Notify() on each item in the list.
+- * Handles the case of Notify() calling RemoveObserver()
+ */
+ void Broadcast(const T& aParam)
+ {
+- MOZ_ASSERT(mBroadcastCopy.IsEmpty());
+- mBroadcastCopy = mObservers;
+- uint32_t size = mBroadcastCopy.Length();
+- for (uint32_t i = 0; i < size; ++i) {
+- // nulled if Removed during Broadcast
+- if (mBroadcastCopy[i]) {
+- mBroadcastCopy[i]->Notify(aParam);
+- }
++ typename nsTObserverArray<Observer<T>*>::ForwardIterator iter(mObservers);
++ while (iter.HasMore()) {
++ Observer<T>* obs = iter.GetNext();
++ obs->Notify(aParam);
+ }
+- mBroadcastCopy.Clear();
+ }
+
+ protected:
+- nsTArray<Observer<T>*> mObservers;
+- nsTArray<Observer<T>*> mBroadcastCopy;
++ nsTObserverArray<Observer<T>*> mObservers;
+ };
+
+ } // namespace mozilla
More information about the svn-ports-all
mailing list