Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp |
| diff --git a/third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp b/third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp |
| index 8636b518f061a1cc7f443949e779d1e406b26e5c..81f9e1561f77d7afcca5064116450e32cfc43e59 100644 |
| --- a/third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp |
| +++ b/third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp |
| @@ -330,19 +330,26 @@ bool OscillatorHandler::propagatesSilence() const |
| // ---------------------------------------------------------------- |
| -OscillatorNode::OscillatorNode(AbstractAudioContext& context, float sampleRate) |
| +OscillatorNode::OscillatorNode(AbstractAudioContext& context) |
| : AudioScheduledSourceNode(context) |
| // Use musical pitch standard A440 as a default. |
| , m_frequency(AudioParam::create(context, ParamTypeOscillatorFrequency, 440)) |
| // Default to no detuning. |
| , m_detune(AudioParam::create(context, ParamTypeOscillatorDetune, 0)) |
| { |
| - setHandler(OscillatorHandler::create(*this, sampleRate, m_frequency->handler(), m_detune->handler())); |
| + setHandler(OscillatorHandler::create(*this, context.sampleRate(), m_frequency->handler(), m_detune->handler())); |
|
hongchan
2016/05/13 01:20:12
Over 80 cols. Let's wrap this!
|
| } |
| -OscillatorNode* OscillatorNode::create(AbstractAudioContext& context, float sampleRate) |
| +OscillatorNode* OscillatorNode::create(AbstractAudioContext& context, ExceptionState& exceptionState) |
|
hongchan
2016/05/13 01:20:12
Over 80 cols.
|
| { |
| - return new OscillatorNode(context, sampleRate); |
| + ASSERT(isMainThread()); |
|
hongchan
2016/05/13 01:20:12
DCHECK.
|
| + |
| + if (context.isContextClosed()) { |
| + context.throwExceptionForClosedState(exceptionState); |
| + return nullptr; |
| + } |
| + |
| + return new OscillatorNode(context); |
| } |
| DEFINE_TRACE(OscillatorNode) |