mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Add empty RTCSessionDescription interface
This commit is contained in:
parent
2dd69d0cb0
commit
f8b3bac757
3 changed files with 67 additions and 0 deletions
|
@ -440,6 +440,7 @@ pub mod range;
|
|||
pub mod request;
|
||||
pub mod response;
|
||||
pub mod rtcpeerconnection;
|
||||
pub mod rtcsessiondescription;
|
||||
pub mod screen;
|
||||
pub mod serviceworker;
|
||||
pub mod serviceworkercontainer;
|
||||
|
|
41
components/script/dom/rtcsessiondescription.rs
Normal file
41
components/script/dom/rtcsessiondescription.rs
Normal file
|
@ -0,0 +1,41 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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::codegen::Bindings::RTCSessionDescriptionBinding;
|
||||
use crate::dom::bindings::codegen::Bindings::RTCSessionDescriptionBinding::RTCSessionDescriptionInit;
|
||||
use crate::dom::bindings::error::Fallible;
|
||||
use crate::dom::bindings::reflector::reflect_dom_object;
|
||||
use crate::dom::bindings::reflector::{DomObject, Reflector};
|
||||
use crate::dom::bindings::root::DomRoot;
|
||||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::dom::window::Window;
|
||||
use dom_struct::dom_struct;
|
||||
|
||||
#[dom_struct]
|
||||
pub struct RTCSessionDescription {
|
||||
reflector: Reflector,
|
||||
}
|
||||
|
||||
impl RTCSessionDescription {
|
||||
pub fn new_inherited() -> RTCSessionDescription {
|
||||
RTCSessionDescription {
|
||||
reflector: Reflector::new(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new(global: &GlobalScope) -> DomRoot<RTCSessionDescription> {
|
||||
reflect_dom_object(
|
||||
Box::new(RTCSessionDescription::new_inherited()),
|
||||
global,
|
||||
RTCSessionDescriptionBinding::Wrap,
|
||||
)
|
||||
}
|
||||
|
||||
pub fn Constructor(
|
||||
window: &Window,
|
||||
_config: &RTCSessionDescriptionInit,
|
||||
) -> Fallible<DomRoot<RTCSessionDescription>> {
|
||||
Ok(RTCSessionDescription::new(&window.global()))
|
||||
}
|
||||
}
|
25
components/script/dom/webidls/RTCSessionDescription.webidl
Normal file
25
components/script/dom/webidls/RTCSessionDescription.webidl
Normal file
|
@ -0,0 +1,25 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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/. */
|
||||
|
||||
// https://w3c.github.io/webrtc-pc/#rtcsessiondescription-class
|
||||
|
||||
[Constructor(RTCSessionDescriptionInit descriptionInitDict),
|
||||
Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
interface RTCSessionDescription {
|
||||
// readonly attribute RTCSdpType type;
|
||||
// readonly attribute DOMString sdp;
|
||||
// [Default] object toJSON();
|
||||
};
|
||||
|
||||
dictionary RTCSessionDescriptionInit {
|
||||
required RTCSdpType type;
|
||||
DOMString sdp = "";
|
||||
};
|
||||
|
||||
enum RTCSdpType {
|
||||
"offer",
|
||||
"pranswer",
|
||||
"answer",
|
||||
"rollback"
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue