Index: third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp |
diff --git a/third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp b/third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp |
index f0f81e36c5b54f28701d0cc15214eb6d20f55e11..9844675d7d7dfadd90a7cd0859b0f160a1720f2c 100644 |
--- a/third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp |
+++ b/third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp |
@@ -139,8 +139,10 @@ void SpeechSynthesis::resume() |
void SpeechSynthesis::fireEvent(const AtomicString& type, SpeechSynthesisUtterance* utterance, unsigned long charIndex, const String& name) |
{ |
- if (getExecutionContext() && !getExecutionContext()->activeDOMObjectsAreStopped()) |
- utterance->dispatchEvent(SpeechSynthesisEvent::create(type, utterance, charIndex, (currentTime() - utterance->startTime()), name)); |
+ if (getExecutionContext() && !getExecutionContext()->activeDOMObjectsAreStopped()) { |
+ double elapsedTimeMillis = (monotonicallyIncreasingTime() - utterance->startTime()) * 1000.0; |
+ utterance->dispatchEvent(SpeechSynthesisEvent::create(type, utterance, charIndex, elapsedTimeMillis, name)); |
+ } |
} |
void SpeechSynthesis::handleSpeakingCompleted(SpeechSynthesisUtterance* utterance, bool errorOccurred) |