diff options
author | Job Bautista <jobbautista9@protonmail.com> | 2022-07-30 13:24:40 +0800 |
---|---|---|
committer | Job Bautista <jobbautista9@protonmail.com> | 2022-07-30 13:24:40 +0800 |
commit | fad8235ad2a02f3cd1cd50ec677377990642b47b (patch) | |
tree | fb3d74cd51928dd9c22a3f38669488d4f1a07ac3 | |
parent | 32c8246e1615dcf1dbcf775141ee044def649ae7 (diff) | |
download | uxp-fad8235ad2a02f3cd1cd50ec677377990642b47b.tar.gz |
Issue #1980 - Fix build bustage for applications where WebRTC building is enabled.
Turns out we have a duplicate VoidFunction callback in the WebIDLs. Per
Mozilla bug 1324169, we should remove this callback from
RTCPeerConnection.webidl and let Function.webidl handle it instead.
The AttributeError faced by the new Basilisk dev wasn't helpful at all;
and turns out Mozilla had this exact same issue on bug 1505504. We're
also backporting that just in case we encounter another case of
callback duplication.
Also doing a minor fix in the MicroTaskRunnable class which Moonchild
forgot to do while working on Issue #1895.
-rw-r--r-- | dom/bindings/parser/WebIDL.py | 10 | ||||
-rw-r--r-- | dom/webidl/RTCPeerConnection.webidl | 1 | ||||
-rw-r--r-- | xpcom/base/CycleCollectedJSContext.h | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/dom/bindings/parser/WebIDL.py b/dom/bindings/parser/WebIDL.py index ce8862c02b..59db43f6bd 100644 --- a/dom/bindings/parser/WebIDL.py +++ b/dom/bindings/parser/WebIDL.py @@ -248,8 +248,14 @@ class IDLScope(IDLObject): return self.QName() def QName(self): - if self._name: - return self._name.QName() + "::" + # It's possible for us to be called before __init__ has been called, for + # the IDLObjectWithScope case. In that case, self._name won't be set yet. + if hasattr(self, "_name"): + name = self._name + else: + name = None + if name: + return name.QName() + "::" return "::" def ensureUnique(self, identifier, object): diff --git a/dom/webidl/RTCPeerConnection.webidl b/dom/webidl/RTCPeerConnection.webidl index 510957056f..6fb4194c36 100644 --- a/dom/webidl/RTCPeerConnection.webidl +++ b/dom/webidl/RTCPeerConnection.webidl @@ -9,7 +9,6 @@ callback RTCSessionDescriptionCallback = void (RTCSessionDescription sdp); callback RTCPeerConnectionErrorCallback = void (DOMError error); -callback VoidFunction = void (); callback RTCStatsCallback = void (RTCStatsReport report); enum RTCSignalingState { diff --git a/xpcom/base/CycleCollectedJSContext.h b/xpcom/base/CycleCollectedJSContext.h index 914bb95d30..366a1ea3bb 100644 --- a/xpcom/base/CycleCollectedJSContext.h +++ b/xpcom/base/CycleCollectedJSContext.h @@ -142,7 +142,7 @@ public: virtual void Run(AutoSlowOperation& aAso) = 0; virtual bool Suppressed() { return false; } protected: - virtual ~MicroTaskRunnable() {} + virtual ~MicroTaskRunnable() = default; }; class CycleCollectedJSContext |