Bug 1260612 - Cancel speech entirely (including queue) when window is destroyed. r?smaug draft
authorEitan Isaacson <eitan@monotonous.org>
Wed, 30 Mar 2016 13:40:06 -0700
changeset 346072 015c3e712244867254e84ddb222e271665d1c09a
parent 343962 6202ade0e6d688ffb67932398e56cfc6fa04ceb3
child 517314 c50c28d50a3842359392e3117fbb61a67ed04434
push id14229
push userbmo:eitan@monotonous.org
push dateWed, 30 Mar 2016 20:40:53 +0000
reviewerssmaug
bugs1260612
milestone48.0a1
Bug 1260612 - Cancel speech entirely (including queue) when window is destroyed. r?smaug MozReview-Commit-ID: LTlllc97qly
dom/media/webspeech/synth/SpeechSynthesis.cpp
--- a/dom/media/webspeech/synth/SpeechSynthesis.cpp
+++ b/dom/media/webspeech/synth/SpeechSynthesis.cpp
@@ -306,19 +306,17 @@ SpeechSynthesis::Observe(nsISupports* aS
   nsCOMPtr<nsISupportsPRUint64> wrapper = do_QueryInterface(aSubject);
   NS_ENSURE_TRUE(wrapper, NS_ERROR_FAILURE);
 
   uint64_t innerID;
   nsresult rv = wrapper->GetData(&innerID);
   NS_ENSURE_SUCCESS(rv, rv);
 
   if (innerID == mInnerID) {
-    if (mCurrentTask) {
-      mCurrentTask->Cancel();
-    }
+    Cancel();
 
     nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
     if (obs) {
       obs->RemoveObserver(this, "inner-window-destroyed");
     }
   }
 
   return NS_OK;