| 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);
 | 
| 
 |