aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/audionode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/audionode.rs')
-rw-r--r--components/script/dom/audionode.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/components/script/dom/audionode.rs b/components/script/dom/audionode.rs
index 48751dabeac..64aa46f008e 100644
--- a/components/script/dom/audionode.rs
+++ b/components/script/dom/audionode.rs
@@ -10,7 +10,9 @@ use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::{
use crate::dom::bindings::codegen::Bindings::AudioNodeBinding::{
ChannelCountMode, ChannelInterpretation,
};
-use crate::dom::bindings::codegen::InheritTypes::{AudioNodeTypeId, EventTargetTypeId};
+use crate::dom::bindings::codegen::InheritTypes::{
+ AudioNodeTypeId, AudioScheduledSourceNodeTypeId, EventTargetTypeId,
+};
use crate::dom::bindings::error::{Error, ErrorResult, Fallible};
use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{Dom, DomRoot};
@@ -236,6 +238,13 @@ impl AudioNodeMethods for AudioNode {
return Err(Error::NotSupported);
}
},
+ EventTargetTypeId::AudioNode(AudioNodeTypeId::AudioScheduledSourceNode(
+ AudioScheduledSourceNodeTypeId::StereoPannerNode,
+ )) => {
+ if value > 2 {
+ return Err(Error::NotSupported);
+ }
+ },
EventTargetTypeId::AudioNode(AudioNodeTypeId::ChannelMergerNode) => {
return Err(Error::InvalidState);
},
@@ -280,6 +289,13 @@ impl AudioNodeMethods for AudioNode {
return Err(Error::NotSupported);
}
},
+ EventTargetTypeId::AudioNode(AudioNodeTypeId::AudioScheduledSourceNode(
+ AudioScheduledSourceNodeTypeId::StereoPannerNode,
+ )) => {
+ if value == ChannelCountMode::Max {
+ return Err(Error::NotSupported);
+ }
+ },
EventTargetTypeId::AudioNode(AudioNodeTypeId::ChannelMergerNode) => {
return Err(Error::InvalidState);
},