aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/mediasession.rs
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-10-07 10:51:56 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-11-20 13:32:38 +0100
commit31ce7a2b5cd96eaf6eca78f811d49379e6082774 (patch)
treed0b7a38a1973da504724e7c97d9fe5c8d61425f7 /components/script/dom/mediasession.rs
parentec7a4bf32d355f2f115da016ac6aebb034493f47 (diff)
downloadservo-31ce7a2b5cd96eaf6eca78f811d49379e6082774.tar.gz
servo-31ce7a2b5cd96eaf6eca78f811d49379e6082774.zip
Handle media session action, no default handling yet
Diffstat (limited to 'components/script/dom/mediasession.rs')
-rw-r--r--components/script/dom/mediasession.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/mediasession.rs b/components/script/dom/mediasession.rs
index 4105ddb3b5f..139264953ca 100644
--- a/components/script/dom/mediasession.rs
+++ b/components/script/dom/mediasession.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+use crate::dom::bindings::callback::ExceptionHandling;
use crate::dom::bindings::cell::DomRefCell;
use crate::dom::bindings::codegen::Bindings::MediaSessionBinding;
use crate::dom::bindings::codegen::Bindings::MediaSessionBinding::MediaSessionAction;
@@ -54,7 +55,13 @@ impl MediaSession {
}
pub fn handle_action(&self, action: MediaSessionActionType) {
- // TODO
+ if let Some(handler) = self.action_handlers.borrow().get(&action) {
+ if handler.Call__(ExceptionHandling::Report).is_err() {
+ warn!("Error calling MediaSessionActionHandler callback");
+ }
+ return;
+ }
+ // TODO default action.
}
}