ltk_webkit/wpe/
autoplay.rsuse std::ffi::{ c_char, c_int };
use std::ptr;
use std::sync::atomic::{ AtomicI32, Ordering };
use wpe_webkit_sys::*;
use crate::types::Autoplay;
static POLICY: AtomicI32 = AtomicI32::new( WEBKIT_AUTOPLAY_ALLOW_WITHOUT_SOUND );
pub fn set_autoplay( policy: Autoplay )
{
let policy = match policy
{
Autoplay::Allow => WEBKIT_AUTOPLAY_ALLOW,
Autoplay::AllowWithoutSound => WEBKIT_AUTOPLAY_ALLOW_WITHOUT_SOUND,
Autoplay::Deny => WEBKIT_AUTOPLAY_DENY,
};
POLICY.store( policy, Ordering::Relaxed );
}
pub( crate ) fn website_policies() -> *mut WebKitWebsitePolicies
{
unsafe
{
webkit_website_policies_new_with_policies(
b"autoplay\0".as_ptr() as *const c_char,
POLICY.load( Ordering::Relaxed ) as c_int,
ptr::null::<c_char>(),
)
}
}