Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/WebKit/Source/modules/speech/SpeechSynthesis.cpp

Issue 1481163002: Drop [LegacyInterfaceTypeChecking] for SpeechSynthesis.prototype.speak (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update tests Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2013 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "config.h" 26 #include "config.h"
27 #include "modules/speech/SpeechSynthesis.h" 27 #include "modules/speech/SpeechSynthesis.h"
28 28
29 #include "bindings/core/v8/ExceptionState.h"
30 #include "core/dom/ExecutionContext.h" 29 #include "core/dom/ExecutionContext.h"
31 #include "modules/speech/SpeechSynthesisEvent.h" 30 #include "modules/speech/SpeechSynthesisEvent.h"
32 #include "platform/speech/PlatformSpeechSynthesisVoice.h" 31 #include "platform/speech/PlatformSpeechSynthesisVoice.h"
33 #include "wtf/CurrentTime.h" 32 #include "wtf/CurrentTime.h"
34 33
35 namespace blink { 34 namespace blink {
36 35
37 SpeechSynthesis* SpeechSynthesis::create(ExecutionContext* context) 36 SpeechSynthesis* SpeechSynthesis::create(ExecutionContext* context)
38 { 37 {
39 return new SpeechSynthesis(context); 38 return new SpeechSynthesis(context);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 void SpeechSynthesis::startSpeakingImmediately() 98 void SpeechSynthesis::startSpeakingImmediately()
100 { 99 {
101 SpeechSynthesisUtterance* utterance = currentSpeechUtterance(); 100 SpeechSynthesisUtterance* utterance = currentSpeechUtterance();
102 ASSERT(utterance); 101 ASSERT(utterance);
103 102
104 utterance->setStartTime(monotonicallyIncreasingTime()); 103 utterance->setStartTime(monotonicallyIncreasingTime());
105 m_isPaused = false; 104 m_isPaused = false;
106 m_platformSpeechSynthesizer->speak(utterance->platformUtterance()); 105 m_platformSpeechSynthesizer->speak(utterance->platformUtterance());
107 } 106 }
108 107
109 void SpeechSynthesis::speak(SpeechSynthesisUtterance* utterance, ExceptionState& exceptionState) 108 void SpeechSynthesis::speak(SpeechSynthesisUtterance* utterance)
110 { 109 {
111 if (!utterance) { 110 ASSERT(utterance);
112 exceptionState.throwTypeError("Invalid utterance argument");
113 return;
114 }
115 111
116 m_utteranceQueue.append(utterance); 112 m_utteranceQueue.append(utterance);
117 113
118 // If the queue was empty, speak this immediately. 114 // If the queue was empty, speak this immediately.
119 if (m_utteranceQueue.size() == 1) 115 if (m_utteranceQueue.size() == 1)
120 startSpeakingImmediately(); 116 startSpeakingImmediately();
121 } 117 }
122 118
123 void SpeechSynthesis::cancel() 119 void SpeechSynthesis::cancel()
124 { 120 {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 { 233 {
238 visitor->trace(m_platformSpeechSynthesizer); 234 visitor->trace(m_platformSpeechSynthesizer);
239 visitor->trace(m_voiceList); 235 visitor->trace(m_voiceList);
240 visitor->trace(m_utteranceQueue); 236 visitor->trace(m_utteranceQueue);
241 PlatformSpeechSynthesizerClient::trace(visitor); 237 PlatformSpeechSynthesizerClient::trace(visitor);
242 RefCountedGarbageCollectedEventTargetWithInlineData<SpeechSynthesis>::trace( visitor); 238 RefCountedGarbageCollectedEventTargetWithInlineData<SpeechSynthesis>::trace( visitor);
243 ContextLifecycleObserver::trace(visitor); 239 ContextLifecycleObserver::trace(visitor);
244 } 240 }
245 241
246 } // namespace blink 242 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698