Chromium Code Reviews| Index: Source/modules/speech/SpeechSynthesis.cpp |
| diff --git a/Source/modules/speech/SpeechSynthesis.cpp b/Source/modules/speech/SpeechSynthesis.cpp |
| index fb7ee0e39025f474d06301f4d402610f4d04ae66..e4f7c2980f656a36fa3dbc256956314f8735b896 100644 |
| --- a/Source/modules/speech/SpeechSynthesis.cpp |
| +++ b/Source/modules/speech/SpeechSynthesis.cpp |
| @@ -34,13 +34,14 @@ |
| namespace WebCore { |
| -PassRefPtr<SpeechSynthesis> SpeechSynthesis::create() |
| +PassRefPtr<SpeechSynthesis> SpeechSynthesis::create(ExecutionContext* context) |
| { |
| - return adoptRef(new SpeechSynthesis()); |
| + return adoptRef(new SpeechSynthesis(context)); |
| } |
| -SpeechSynthesis::SpeechSynthesis() |
| - : m_platformSpeechSynthesizer(PlatformSpeechSynthesizer::create(this)) |
| +SpeechSynthesis::SpeechSynthesis(ExecutionContext* context) |
| + : ContextLifecycleObserver(context) |
| + , m_platformSpeechSynthesizer(PlatformSpeechSynthesizer::create(this)) |
| , m_currentSpeechUtterance(0) |
| , m_isPaused(false) |
| { |
| @@ -52,9 +53,15 @@ void SpeechSynthesis::setPlatformSynthesizer(PassOwnPtr<PlatformSpeechSynthesize |
| m_platformSpeechSynthesizer = synthesizer; |
| } |
| +ExecutionContext* SpeechSynthesis::executionContext() const |
| +{ |
| + return ContextLifecycleObserver::executionContext(); |
| +} |
| + |
| void SpeechSynthesis::voicesDidChange() |
|
abarth-chromium
2013/10/16 19:25:06
When can this function be called? Why don't we ne
dmazzoni
2013/10/16 22:09:06
Good question.
This function is only called from
abarth-chromium
2013/10/17 02:00:53
I should write a design doc that explains how all
dmazzoni
2013/10/17 15:28:59
Got it, that makes sense.
I made the same change
|
| { |
| m_voiceList.clear(); |
| + dispatchEvent(Event::create(EventTypeNames::voiceschanged)); |
|
eseidel
2013/10/16 06:44:53
This will cause synchronous event dispatch, right?
dmazzoni
2013/10/16 07:08:00
That's only a problem if the user is triggering th
|
| } |
| const Vector<RefPtr<SpeechSynthesisVoice> >& SpeechSynthesis::getVoices() |
| @@ -208,4 +215,9 @@ void SpeechSynthesis::speakingErrorOccurred(PassRefPtr<PlatformSpeechSynthesisUt |
| handleSpeakingCompleted(static_cast<SpeechSynthesisUtterance*>(utterance->client()), true); |
| } |
| +const AtomicString& SpeechSynthesis::interfaceName() const |
| +{ |
| + return EventTargetNames::SpeechSynthesisUtterance; |
| +} |
| + |
| } // namespace WebCore |