Index: third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp |
diff --git a/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp b/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp |
index c4700f0921381d9658f2fff559b5dce1aa4f4078..de19944e4c82238c7ad3681e8df27840507b261e 100644 |
--- a/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp |
+++ b/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp |
@@ -92,10 +92,17 @@ void WaveShaperNode::setCurveImpl(const float* curveData, |
getWaveShaperProcessor()->setCurve(curveData, curveLength); |
} |
-void WaveShaperNode::setCurve(DOMFloat32Array* curve, |
+void WaveShaperNode::setCurve(const MaybeShared<DOMFloat32Array>& maybeShared, |
ExceptionState& exceptionState) { |
DCHECK(isMainThread()); |
+ if (maybeShared.isShared()) { |
+ exceptionState.throwTypeError( |
+ "curve should not be backed by a SharedArrayBuffer."); |
+ return; |
+ } |
+ DOMFloat32Array* curve = maybeShared.viewNotShared(); |
+ |
if (curve) |
setCurveImpl(curve->data(), curve->length(), exceptionState); |
else |