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

Unified Diff: third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp

Issue 2102133002: Add constructors for WebAudio nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and prefix use counter names with WebAudio Created 4 years, 3 months 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 side-by-side diff with in-line comments
Download patch
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 38bf3bcb481863a13eeaa88f52b683381e95f858..d82e5297ef2488d2cd4e94c9e9dddafa18673d5d 100644
--- a/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
+++ b/third_party/WebKit/Source/modules/webaudio/IIRFilterNode.cpp
@@ -9,6 +9,7 @@
#include "core/dom/ExceptionCode.h"
#include "modules/webaudio/AudioBasicProcessorHandler.h"
#include "modules/webaudio/BaseAudioContext.h"
+#include "modules/webaudio/IIRFilterOptions.h"
#include "platform/Histogram.h"
#include "wtf/PtrUtil.h"
@@ -117,6 +118,35 @@ IIRFilterNode* IIRFilterNode::create(
return new IIRFilterNode(context, feedforwardCoef, feedbackCoef);
}
+IIRFilterNode* IIRFilterNode::create(
+ BaseAudioContext* context,
+ const IIRFilterOptions& options,
+ ExceptionState& exceptionState)
+{
+ if (!options.hasFeedforward()) {
+ exceptionState.throwDOMException(
+ NotFoundError,
+ "IIRFilterOptions: feedforward is required.");
+ return nullptr;
+ }
+
+ if (!options.hasFeedback()) {
+ exceptionState.throwDOMException(
+ NotFoundError,
+ "IIRFilterOptions: feedback is required.");
+ return nullptr;
+ }
+
+ IIRFilterNode* node = create(*context, options.feedforward(), options.feedback(), exceptionState);
+
+ if (!node)
+ return nullptr;
+
+ node->handleChannelOptions(options, exceptionState);
+
+ return node;
+}
+
DEFINE_TRACE(IIRFilterNode)
{
AudioNode::trace(visitor);

Powered by Google App Engine
This is Rietveld 408576698