| Index: third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp b/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
|
| index d8e5c2ed20de0550fcad33431d9c66c1cbb30e42..9aa79ff3d28e4348b354a7a73192aaac7737560a 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
|
| @@ -149,28 +149,40 @@ IIRProcessor* IIRFilterNode::iirProcessor() const {
|
| static_cast<AudioBasicProcessorHandler&>(handler()).processor());
|
| }
|
|
|
| -void IIRFilterNode::getFrequencyResponse(const DOMFloat32Array* frequencyHz,
|
| - DOMFloat32Array* magResponse,
|
| - DOMFloat32Array* phaseResponse,
|
| - ExceptionState& exceptionState) {
|
| - if (!frequencyHz) {
|
| +void IIRFilterNode::getFrequencyResponse(
|
| + const MaybeShared<const DOMFloat32Array>& maybeSharedFrequencyHz,
|
| + const MaybeShared<DOMFloat32Array>& maybeSharedMagResponse,
|
| + const MaybeShared<DOMFloat32Array>& maybeSharedPhaseResponse,
|
| + ExceptionState& exceptionState) {
|
| + if (!maybeSharedFrequencyHz) {
|
| exceptionState.throwDOMException(NotSupportedError,
|
| "frequencyHz array cannot be null");
|
| return;
|
| }
|
|
|
| - if (!magResponse) {
|
| + if (!maybeSharedMagResponse) {
|
| exceptionState.throwDOMException(NotSupportedError,
|
| "magResponse array cannot be null");
|
| return;
|
| }
|
|
|
| - if (!phaseResponse) {
|
| + if (!maybeSharedPhaseResponse) {
|
| exceptionState.throwDOMException(NotSupportedError,
|
| "phaseResponse array cannot be null");
|
| return;
|
| }
|
|
|
| + if (maybeSharedFrequencyHz.isShared() || maybeSharedMagResponse.isShared() ||
|
| + maybeSharedPhaseResponse.isShared()) {
|
| + exceptionState.throwTypeError(
|
| + "arrays cannot be backed by SharedArrayBuffer");
|
| + return;
|
| + }
|
| +
|
| + const DOMFloat32Array* frequencyHz = maybeSharedFrequencyHz.viewNotShared();
|
| + DOMFloat32Array* magResponse = maybeSharedMagResponse.viewNotShared();
|
| + DOMFloat32Array* phaseResponse = maybeSharedPhaseResponse.viewNotShared();
|
| +
|
| unsigned frequencyHzLength = frequencyHz->length();
|
|
|
| if (magResponse->length() < frequencyHzLength) {
|
|
|