OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010, Google Inc. All rights reserved. | 2 * Copyright (C) 2010, Google 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 |
(...skipping 10 matching lines...) Expand all Loading... |
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 */ | 23 */ |
24 | 24 |
25 #include "config.h" | 25 #include "config.h" |
26 | 26 |
27 #if ENABLE(WEB_AUDIO) | 27 #if ENABLE(WEB_AUDIO) |
28 | 28 |
29 #include "modules/webaudio/DelayNode.h" | 29 #include "modules/webaudio/DelayNode.h" |
30 | 30 |
| 31 #include "bindings/v8/ExceptionMessages.h" |
31 #include "bindings/v8/ExceptionState.h" | 32 #include "bindings/v8/ExceptionState.h" |
32 #include "core/dom/ExceptionCode.h" | 33 #include "core/dom/ExceptionCode.h" |
33 | 34 |
34 namespace WebCore { | 35 namespace WebCore { |
35 | 36 |
36 const double maximumAllowedDelayTime = 180; | 37 const double maximumAllowedDelayTime = 180; |
37 | 38 |
38 DelayNode::DelayNode(AudioContext* context, float sampleRate, double maxDelayTim
e, ExceptionState& es) | 39 DelayNode::DelayNode(AudioContext* context, float sampleRate, double maxDelayTim
e, ExceptionState& es) |
39 : AudioBasicProcessorNode(context, sampleRate) | 40 : AudioBasicProcessorNode(context, sampleRate) |
40 { | 41 { |
41 ScriptWrappable::init(this); | 42 ScriptWrappable::init(this); |
42 if (maxDelayTime <= 0 || maxDelayTime >= maximumAllowedDelayTime) { | 43 if (maxDelayTime <= 0 || maxDelayTime >= maximumAllowedDelayTime) { |
43 es.throwUninformativeAndGenericDOMException(NotSupportedError); | 44 es.throwDOMException( |
| 45 NotSupportedError, |
| 46 ExceptionMessages::failedToConstruct( |
| 47 "DelayNode", |
| 48 "max delay time (" + String::number(maxDelayTime) |
| 49 + ") must be between 0 and " + String::number(maximumAllowedDela
yTime) |
| 50 + ", exclusive.")); |
44 return; | 51 return; |
45 } | 52 } |
46 m_processor = adoptPtr(new DelayProcessor(context, sampleRate, 1, maxDelayTi
me)); | 53 m_processor = adoptPtr(new DelayProcessor(context, sampleRate, 1, maxDelayTi
me)); |
47 setNodeType(NodeTypeDelay); | 54 setNodeType(NodeTypeDelay); |
48 } | 55 } |
49 | 56 |
50 AudioParam* DelayNode::delayTime() | 57 AudioParam* DelayNode::delayTime() |
51 { | 58 { |
52 return delayProcessor()->delayTime(); | 59 return delayProcessor()->delayTime(); |
53 } | 60 } |
54 | 61 |
55 } // namespace WebCore | 62 } // namespace WebCore |
56 | 63 |
57 #endif // ENABLE(WEB_AUDIO) | 64 #endif // ENABLE(WEB_AUDIO) |
OLD | NEW |