// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://webaudio.github.io/web-audio-api/#AudioWorkletNode

enum AudioWorkletProcessorState {
    "pending",
    "running",
    "stopped",
    "error"
};

[
    ActiveScriptWrappable,
    Constructor(BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options),
    Global=(Worklet,AudioWorklet),
    MeasureAs=AudioWorkletNodeConstructor,
    OriginTrialEnabled=AudioWorklet,
    RaisesException=Constructor
] interface AudioWorkletNode : AudioNode {
    readonly attribute AudioParamMap parameters;
    readonly attribute MessagePort port;
    readonly attribute AudioWorkletProcessorState processorState;
    attribute EventHandler onprocessorstatechange;
};
