// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/document-picture-in-picture
///|
/// DocumentPictureInPictureOptions dictionary
pub(all) struct DocumentPictureInPictureOptions {
width : Int64?
height : Int64?
disallowReturnToOpener : Bool?
preferInitialWindowPlacement : Bool?
}
///|
/// Create a new DocumentPictureInPictureOptions with default values
pub fn DocumentPictureInPictureOptions::default() -> DocumentPictureInPictureOptions {
DocumentPictureInPictureOptions::{
width: None,
height: None,
disallowReturnToOpener: None,
preferInitialWindowPlacement: None,
}
}
///|
extern "js" fn DocumentPictureInPictureOptions::to_js_ffi(
self : DocumentPictureInPictureOptions,
) -> JsValue =
#| (self) => ({
#| width: self.width,
#| height: self.height,
#| disallowReturnToOpener: (self.disallowReturnToOpener === -1 ? undefined : self.disallowReturnToOpener),
#| preferInitialWindowPlacement: (self.preferInitialWindowPlacement === -1 ? undefined : self.preferInitialWindowPlacement)
#| })
///|
/// Convert to JsValue
pub fn DocumentPictureInPictureOptions::to_js(
self : DocumentPictureInPictureOptions,
) -> JsValue {
DocumentPictureInPictureOptions::to_js_ffi(self)
}
///|
extern "js" fn DocumentPictureInPictureOptions::from_js_ffi(
value : JsValue,
) -> DocumentPictureInPictureOptions =
#| (v) => ({
#| width: v.width,
#| height: v.height,
#| disallowReturnToOpener: (v.disallowReturnToOpener === undefined ? -1 : v.disallowReturnToOpener),
#| preferInitialWindowPlacement: (v.preferInitialWindowPlacement === undefined ? -1 : v.preferInitialWindowPlacement)
#| })
///|
/// Convert from JsValue
pub fn DocumentPictureInPictureOptions::from_js(
value : JsValue,
) -> DocumentPictureInPictureOptions {
DocumentPictureInPictureOptions::from_js_ffi(value)
}
///|
/// DocumentPictureInPictureEventInit dictionary
pub(all) struct DocumentPictureInPictureEventInit {
window : Window
}
///|
/// Create a new DocumentPictureInPictureEventInit
pub fn DocumentPictureInPictureEventInit::new(
window~ : Window,
) -> DocumentPictureInPictureEventInit {
DocumentPictureInPictureEventInit::{ window, }
}
///|
extern "js" fn DocumentPictureInPictureEventInit::to_js_ffi(
self : DocumentPictureInPictureEventInit,
) -> JsValue =
#| (self) => ({
#| window: self.window
#| })
///|
/// Convert to JsValue
pub fn DocumentPictureInPictureEventInit::to_js(
self : DocumentPictureInPictureEventInit,
) -> JsValue {
DocumentPictureInPictureEventInit::to_js_ffi(self)
}
///|
extern "js" fn DocumentPictureInPictureEventInit::from_js_ffi(
value : JsValue,
) -> DocumentPictureInPictureEventInit =
#| (v) => ({
#| window: v.window
#| })
///|
/// Convert from JsValue
pub fn DocumentPictureInPictureEventInit::from_js(
value : JsValue,
) -> DocumentPictureInPictureEventInit {
DocumentPictureInPictureEventInit::from_js_ffi(value)
}
///|
/// DocumentPictureInPicture interface
pub type DocumentPictureInPicture
///|
pub extern "js" fn DocumentPictureInPicture::to_js_value(
self : DocumentPictureInPicture,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to DocumentPictureInPicture (unchecked)
pub extern "js" fn DocumentPictureInPicture::from_js_value(
v : JsValue,
) -> DocumentPictureInPicture =
#| (v) => v
///|
/// Safely cast JsValue to DocumentPictureInPicture (checked with instanceof)
pub extern "js" fn DocumentPictureInPicture::from_js_value_opt(
v : JsValue,
) -> DocumentPictureInPicture? =
#| (v) => (v instanceof DocumentPictureInPicture) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to DocumentPictureInPicture (checked with instanceof)
pub extern "js" fn JsValue::as_document_picture_in_picture(
self : JsValue,
) -> DocumentPictureInPicture? =
#| (self) => (self instanceof DocumentPictureInPicture) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to DocumentPictureInPicture (unchecked)
pub extern "js" fn JsValue::to_document_picture_in_picture(
self : JsValue,
) -> DocumentPictureInPicture =
#| (self) => self
///|
pub extern "js" fn DocumentPictureInPicture::to_event_target(
self : DocumentPictureInPicture,
) -> EventTarget =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum DocumentPictureInPictureRequestWindowError {
RangeError(JsError)
NotAllowedError(JsError)
NotSupportedError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn DocumentPictureInPicture::request_window(
self : DocumentPictureInPicture,
) -> Promise[Result[Window, DocumentPictureInPictureRequestWindowError]] =
#| (self) => self.requestWindow().then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'RangeError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; if (n === 'NotSupportedError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
extern "js" fn DocumentPictureInPicture::request_window_with_options_ffi(
self : DocumentPictureInPicture,
options : JsValue,
) -> Promise[Result[Window, DocumentPictureInPictureRequestWindowError]] =
#| (self, options) => self.requestWindow(options).then(r => ({ $tag: 1, _0: r })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'RangeError') return { $tag: 0, _0: e }; if (n === 'NotAllowedError') return { $tag: 1, _0: e }; if (n === 'NotSupportedError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub fn DocumentPictureInPicture::request_window_with_options(
self : DocumentPictureInPicture,
options : DocumentPictureInPictureOptions,
) -> Promise[Result[Window, DocumentPictureInPictureRequestWindowError]] {
DocumentPictureInPicture::request_window_with_options_ffi(
self,
options.to_js(),
)
}
///|
pub extern "js" fn DocumentPictureInPicture::get_window(
self : DocumentPictureInPicture,
) -> Window =
#| (self) => self.window
///|
pub extern "js" fn DocumentPictureInPicture::set_onenter(
self : DocumentPictureInPicture,
handler : (DocumentPictureInPictureEvent) -> Unit,
) -> Unit =
#| (self, handler) => { self.onenter = (e) => handler(e) }
///|
pub extern "js" fn DocumentPictureInPicture::clear_onenter(
self : DocumentPictureInPicture,
) -> Unit =
#| (self) => { self.onenter = null }
///|
/// DocumentPictureInPictureEvent interface
pub type DocumentPictureInPictureEvent
///|
pub extern "js" fn DocumentPictureInPictureEvent::to_js_value(
self : DocumentPictureInPictureEvent,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to DocumentPictureInPictureEvent (unchecked)
pub extern "js" fn DocumentPictureInPictureEvent::from_js_value(
v : JsValue,
) -> DocumentPictureInPictureEvent =
#| (v) => v
///|
/// Safely cast JsValue to DocumentPictureInPictureEvent (checked with instanceof)
pub extern "js" fn DocumentPictureInPictureEvent::from_js_value_opt(
v : JsValue,
) -> DocumentPictureInPictureEvent? =
#| (v) => (v instanceof DocumentPictureInPictureEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to DocumentPictureInPictureEvent (checked with instanceof)
pub extern "js" fn JsValue::as_document_picture_in_picture_event(
self : JsValue,
) -> DocumentPictureInPictureEvent? =
#| (self) => (self instanceof DocumentPictureInPictureEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to DocumentPictureInPictureEvent (unchecked)
pub extern "js" fn JsValue::to_document_picture_in_picture_event(
self : JsValue,
) -> DocumentPictureInPictureEvent =
#| (self) => self
///|
pub extern "js" fn DocumentPictureInPictureEvent::to_event(
self : DocumentPictureInPictureEvent,
) -> Event =
#| (self) => self
///|
extern "js" fn DocumentPictureInPictureEvent::new_ffi(
type_ : String,
event_init_dict : JsValue,
) -> DocumentPictureInPictureEvent =
#| (type_, event_init_dict) => new DocumentPictureInPictureEvent(type_, event_init_dict)
///|
pub fn DocumentPictureInPictureEvent::new(
type_ : String,
event_init_dict : DocumentPictureInPictureEventInit,
) -> DocumentPictureInPictureEvent {
DocumentPictureInPictureEvent::new_ffi(type_, event_init_dict.to_js())
}
///|
pub extern "js" fn DocumentPictureInPictureEvent::get_window(
self : DocumentPictureInPictureEvent,
) -> Window =
#| (self) => self.window