Bug 1260612 - Cancel speech entirely (including queue) when window is destroyed. r?smaug
MozReview-Commit-ID: LTlllc97qly
--- 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;