Bug 1401366. P2 - bail out Observe() if not subcribed per comment 2.
MozReview-Commit-ID: 4LEBD3g0OwX
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -3768,17 +3768,21 @@ class HTMLMediaElement::ShutdownObserver
Unsubscribed
};
public:
NS_DECL_ISUPPORTS
NS_IMETHOD Observe(nsISupports*, const char* aTopic, const char16_t*) override
{
- MOZ_DIAGNOSTIC_ASSERT(mPhase == Phase::Subscribed);
+ if (mPhase != Phase::Subscribed) {
+ // Bail out if we are not subscribed for this might be called even after
+ // |nsContentUtils::UnregisterShutdownObserver(this)|.
+ return NS_OK;
+ }
MOZ_DIAGNOSTIC_ASSERT(mWeak);
if (strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID) == 0) {
mWeak->NotifyShutdownEvent();
}
return NS_OK;
}
void Subscribe(HTMLMediaElement* aPtr)
{