| Index: Source/modules/speech/SpeechSynthesis.cpp
|
| diff --git a/Source/modules/speech/SpeechSynthesis.cpp b/Source/modules/speech/SpeechSynthesis.cpp
|
| index 61800b42f1a993c431869ca8a057bcfe0c89a177..64f72974c9d8f44742cabf29884b8d81acbc8c93 100644
|
| --- a/Source/modules/speech/SpeechSynthesis.cpp
|
| +++ b/Source/modules/speech/SpeechSynthesis.cpp
|
| @@ -47,7 +47,7 @@ SpeechSynthesis::SpeechSynthesis(ExecutionContext* context)
|
| ScriptWrappable::init(this);
|
| }
|
|
|
| -void SpeechSynthesis::setPlatformSynthesizer(PassOwnPtr<PlatformSpeechSynthesizer> synthesizer)
|
| +void SpeechSynthesis::setPlatformSynthesizer(PlatformSpeechSynthesizer* synthesizer)
|
| {
|
| m_platformSpeechSynthesizer = synthesizer;
|
| }
|
| @@ -70,10 +70,10 @@ const HeapVector<Member<SpeechSynthesisVoice> >& SpeechSynthesis::getVoices()
|
| return m_voiceList;
|
|
|
| // If the voiceList is empty, that's the cue to get the voices from the platform again.
|
| - const Vector<RefPtr<PlatformSpeechSynthesisVoice> >& platformVoices = m_platformSpeechSynthesizer->voiceList();
|
| + const HeapVector<Member<PlatformSpeechSynthesisVoice> >& platformVoices = m_platformSpeechSynthesizer->voiceList();
|
| size_t voiceCount = platformVoices.size();
|
| for (size_t k = 0; k < voiceCount; k++)
|
| - m_voiceList.append(SpeechSynthesisVoice::create(platformVoices[k]));
|
| + m_voiceList.append(SpeechSynthesisVoice::create(platformVoices[k].get()));
|
|
|
| return m_voiceList;
|
| }
|
| @@ -172,7 +172,7 @@ void SpeechSynthesis::handleSpeakingCompleted(SpeechSynthesisUtterance* utteranc
|
| startSpeakingImmediately();
|
| }
|
|
|
| -void SpeechSynthesis::boundaryEventOccurred(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance, SpeechBoundary boundary, unsigned charIndex)
|
| +void SpeechSynthesis::boundaryEventOccurred(PlatformSpeechSynthesisUtterance* utterance, SpeechBoundary boundary, unsigned charIndex)
|
| {
|
| DEFINE_STATIC_LOCAL(const String, wordBoundaryString, ("word"));
|
| DEFINE_STATIC_LOCAL(const String, sentenceBoundaryString, ("sentence"));
|
| @@ -189,33 +189,33 @@ void SpeechSynthesis::boundaryEventOccurred(PassRefPtr<PlatformSpeechSynthesisUt
|
| }
|
| }
|
|
|
| -void SpeechSynthesis::didStartSpeaking(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance)
|
| +void SpeechSynthesis::didStartSpeaking(PlatformSpeechSynthesisUtterance* utterance)
|
| {
|
| if (utterance->client())
|
| fireEvent(EventTypeNames::start, static_cast<SpeechSynthesisUtterance*>(utterance->client()), 0, String());
|
| }
|
|
|
| -void SpeechSynthesis::didPauseSpeaking(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance)
|
| +void SpeechSynthesis::didPauseSpeaking(PlatformSpeechSynthesisUtterance* utterance)
|
| {
|
| m_isPaused = true;
|
| if (utterance->client())
|
| fireEvent(EventTypeNames::pause, static_cast<SpeechSynthesisUtterance*>(utterance->client()), 0, String());
|
| }
|
|
|
| -void SpeechSynthesis::didResumeSpeaking(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance)
|
| +void SpeechSynthesis::didResumeSpeaking(PlatformSpeechSynthesisUtterance* utterance)
|
| {
|
| m_isPaused = false;
|
| if (utterance->client())
|
| fireEvent(EventTypeNames::resume, static_cast<SpeechSynthesisUtterance*>(utterance->client()), 0, String());
|
| }
|
|
|
| -void SpeechSynthesis::didFinishSpeaking(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance)
|
| +void SpeechSynthesis::didFinishSpeaking(PlatformSpeechSynthesisUtterance* utterance)
|
| {
|
| if (utterance->client())
|
| handleSpeakingCompleted(static_cast<SpeechSynthesisUtterance*>(utterance->client()), false);
|
| }
|
|
|
| -void SpeechSynthesis::speakingErrorOccurred(PassRefPtr<PlatformSpeechSynthesisUtterance> utterance)
|
| +void SpeechSynthesis::speakingErrorOccurred(PlatformSpeechSynthesisUtterance* utterance)
|
| {
|
| if (utterance->client())
|
| handleSpeakingCompleted(static_cast<SpeechSynthesisUtterance*>(utterance->client()), true);
|
| @@ -235,8 +235,10 @@ const AtomicString& SpeechSynthesis::interfaceName() const
|
|
|
| void SpeechSynthesis::trace(Visitor* visitor)
|
| {
|
| + visitor->trace(m_platformSpeechSynthesizer);
|
| visitor->trace(m_voiceList);
|
| visitor->trace(m_utteranceQueue);
|
| + PlatformSpeechSynthesizerClient::trace(visitor);
|
| EventTargetWithInlineData::trace(visitor);
|
| }
|
|
|
|
|