use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct WKInactiveSchedulingPolicy(pub NSInteger);
impl WKInactiveSchedulingPolicy {
#[doc(alias = "WKInactiveSchedulingPolicySuspend")]
pub const Suspend: Self = Self(0);
#[doc(alias = "WKInactiveSchedulingPolicyThrottle")]
pub const Throttle: Self = Self(1);
#[doc(alias = "WKInactiveSchedulingPolicyNone")]
pub const None: Self = Self(2);
}
unsafe impl Encode for WKInactiveSchedulingPolicy {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for WKInactiveSchedulingPolicy {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct WKPreferences;
);
extern_conformance!(
unsafe impl NSCoding for WKPreferences {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for WKPreferences {}
);
extern_conformance!(
unsafe impl NSSecureCoding for WKPreferences {}
);
impl WKPreferences {
extern_methods!(
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(minimumFontSize))]
#[unsafe(method_family = none)]
pub unsafe fn minimumFontSize(&self) -> CGFloat;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(setMinimumFontSize:))]
#[unsafe(method_family = none)]
pub unsafe fn setMinimumFontSize(&self, minimum_font_size: CGFloat);
#[unsafe(method(javaScriptCanOpenWindowsAutomatically))]
#[unsafe(method_family = none)]
pub unsafe fn javaScriptCanOpenWindowsAutomatically(&self) -> bool;
#[unsafe(method(setJavaScriptCanOpenWindowsAutomatically:))]
#[unsafe(method_family = none)]
pub unsafe fn setJavaScriptCanOpenWindowsAutomatically(
&self,
java_script_can_open_windows_automatically: bool,
);
#[unsafe(method(isFraudulentWebsiteWarningEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn isFraudulentWebsiteWarningEnabled(&self) -> bool;
#[unsafe(method(setFraudulentWebsiteWarningEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setFraudulentWebsiteWarningEnabled(
&self,
fraudulent_website_warning_enabled: bool,
);
#[unsafe(method(shouldPrintBackgrounds))]
#[unsafe(method_family = none)]
pub unsafe fn shouldPrintBackgrounds(&self) -> bool;
#[unsafe(method(setShouldPrintBackgrounds:))]
#[unsafe(method_family = none)]
pub unsafe fn setShouldPrintBackgrounds(&self, should_print_backgrounds: bool);
#[unsafe(method(tabFocusesLinks))]
#[unsafe(method_family = none)]
pub unsafe fn tabFocusesLinks(&self) -> bool;
#[unsafe(method(setTabFocusesLinks:))]
#[unsafe(method_family = none)]
pub unsafe fn setTabFocusesLinks(&self, tab_focuses_links: bool);
#[unsafe(method(isTextInteractionEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn isTextInteractionEnabled(&self) -> bool;
#[unsafe(method(setTextInteractionEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setTextInteractionEnabled(&self, text_interaction_enabled: bool);
#[unsafe(method(isSiteSpecificQuirksModeEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn isSiteSpecificQuirksModeEnabled(&self) -> bool;
#[unsafe(method(setSiteSpecificQuirksModeEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setSiteSpecificQuirksModeEnabled(
&self,
site_specific_quirks_mode_enabled: bool,
);
#[unsafe(method(isElementFullscreenEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn isElementFullscreenEnabled(&self) -> bool;
#[unsafe(method(setElementFullscreenEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setElementFullscreenEnabled(&self, element_fullscreen_enabled: bool);
#[unsafe(method(inactiveSchedulingPolicy))]
#[unsafe(method_family = none)]
pub unsafe fn inactiveSchedulingPolicy(&self) -> WKInactiveSchedulingPolicy;
#[unsafe(method(setInactiveSchedulingPolicy:))]
#[unsafe(method_family = none)]
pub unsafe fn setInactiveSchedulingPolicy(
&self,
inactive_scheduling_policy: WKInactiveSchedulingPolicy,
);
);
}
impl WKPreferences {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
impl WKPreferences {
extern_methods!(
#[deprecated = "Java is no longer supported"]
#[unsafe(method(javaEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn javaEnabled(&self) -> bool;
#[deprecated = "Java is no longer supported"]
#[unsafe(method(setJavaEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setJavaEnabled(&self, java_enabled: bool);
#[deprecated = "Plug-ins are no longer supported"]
#[unsafe(method(plugInsEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn plugInsEnabled(&self) -> bool;
#[deprecated = "Plug-ins are no longer supported"]
#[unsafe(method(setPlugInsEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setPlugInsEnabled(&self, plug_ins_enabled: bool);
#[deprecated = "Use WKWebpagePreferences.allowsContentJavaScript to disable content JavaScript on a per-navigation basis"]
#[unsafe(method(javaScriptEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn javaScriptEnabled(&self) -> bool;
#[deprecated = "Use WKWebpagePreferences.allowsContentJavaScript to disable content JavaScript on a per-navigation basis"]
#[unsafe(method(setJavaScriptEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setJavaScriptEnabled(&self, java_script_enabled: bool);
#[unsafe(method(isLookToScrollEnabled))]
#[unsafe(method_family = none)]
pub unsafe fn isLookToScrollEnabled(&self) -> bool;
#[unsafe(method(setIsLookToScrollEnabled:))]
#[unsafe(method_family = none)]
pub unsafe fn setIsLookToScrollEnabled(&self, is_look_to_scroll_enabled: bool);
);
}