{
ASSERT(utterance);
+ // Keep the utterance around long enough to fire an event on it in case m_utteranceQueue
+ // is holding the last reference to it.
+ RefPtrWillBeRawPtr<SpeechSynthesisUtterance> protect(utterance);
+
bool didJustFinishCurrentUtterance = false;
// If the utterance that completed was the one we're currently speaking,
// remove it from the queue and start speaking the next one.