Chromium Code Reviews

Unified Diff: third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.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.
Jump to:
View side-by-side diff with in-line comments
Index: third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
diff --git a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
index 7b7765e9544039323b1b4cc5f394dbb2222f19df..327fcb12f533a08de1a2c7a12a2c510e0a15ea2b 100644
--- a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
+++ b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
@@ -25,6 +25,7 @@
#include "modules/webaudio/BiquadFilterNode.h"
#include "modules/webaudio/AudioBasicProcessorHandler.h"
+#include "modules/webaudio/BiquadFilterOptions.h"
#include "platform/Histogram.h"
#include "wtf/PtrUtil.h"
@@ -66,6 +67,29 @@ BiquadFilterNode* BiquadFilterNode::create(BaseAudioContext& context, ExceptionS
return new BiquadFilterNode(context);
}
+BiquadFilterNode* BiquadFilterNode::create(BaseAudioContext* context, const BiquadFilterOptions& options, ExceptionState& exceptionState)
+{
+ BiquadFilterNode* node = create(*context, exceptionState);
+
+ if (!node)
+ return nullptr;
+
+ node->handleChannelOptions(options, exceptionState);
+
+ if (options.hasType())
+ node->setType(options.type());
+ if (options.hasQ())
+ node->q()->setValue(options.Q());
+ if (options.hasDetune())
+ node->detune()->setValue(options.detune());
+ if (options.hasFrequency())
+ node->frequency()->setValue(options.frequency());
+ if (options.hasGain())
+ node->gain()->setValue(options.gain());
+
+ return node;
+}
+
DEFINE_TRACE(BiquadFilterNode)
{
visitor->trace(m_frequency);

Powered by Google App Engine