| Index: Source/modules/speech/SpeechSynthesis.cpp | 
| diff --git a/Source/modules/speech/SpeechSynthesis.cpp b/Source/modules/speech/SpeechSynthesis.cpp | 
| index 9ff4ae7bb65d32ec5e94459084e5c16a25bf0309..61800b42f1a993c431869ca8a057bcfe0c89a177 100644 | 
| --- a/Source/modules/speech/SpeechSynthesis.cpp | 
| +++ b/Source/modules/speech/SpeechSynthesis.cpp | 
| @@ -34,9 +34,9 @@ | 
|  | 
| namespace WebCore { | 
|  | 
| -PassRefPtrWillBeRawPtr<SpeechSynthesis> SpeechSynthesis::create(ExecutionContext* context) | 
| +SpeechSynthesis* SpeechSynthesis::create(ExecutionContext* context) | 
| { | 
| -    return adoptRefWillBeNoop(new SpeechSynthesis(context)); | 
| +    return adoptRefCountedGarbageCollectedWillBeNoop(new SpeechSynthesis(context)); | 
| } | 
|  | 
| SpeechSynthesis::SpeechSynthesis(ExecutionContext* context) | 
| @@ -64,7 +64,7 @@ void SpeechSynthesis::voicesDidChange() | 
| dispatchEvent(Event::create(EventTypeNames::voiceschanged)); | 
| } | 
|  | 
| -const WillBeHeapVector<RefPtrWillBeMember<SpeechSynthesisVoice> >& SpeechSynthesis::getVoices() | 
| +const HeapVector<Member<SpeechSynthesisVoice> >& SpeechSynthesis::getVoices() | 
| { | 
| if (m_voiceList.size()) | 
| return m_voiceList; | 
| @@ -153,10 +153,6 @@ void SpeechSynthesis::handleSpeakingCompleted(SpeechSynthesisUtterance* utteranc | 
| { | 
| 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. | 
|  |