1/// macOS owns Portal's proven CoreGraphics relative-pointer capture path.2/// Every other platform must opt into its still-experimental Tao + browser3/// Pointer Lock contract at build time.4pub(crate) const fn relative_pointer_capture_enabled_for(5 target_is_macos: bool,6 experimental_non_macos: bool,7) -> bool {8 target_is_macos || experimental_non_macos9}1011pub(crate) const fn relative_pointer_capture_enabled() -> bool {12 relative_pointer_capture_enabled_for(13 cfg!(target_os = "macos"),14 cfg!(feature = "experimental-non-macos-pointer-capture"),15 )16}171819mod tests {20 use super::*;2122 23 fn non_macos_relative_pointer_capture_requires_the_experimental_feature() {24 assert!(relative_pointer_capture_enabled_for(true, false));25 assert!(relative_pointer_capture_enabled_for(true, true));26 assert!(!relative_pointer_capture_enabled_for(false, false));27 assert!(relative_pointer_capture_enabled_for(false, true));28 }2930 31 fn compiled_policy_matches_target_and_feature_configuration() {32 assert_eq!(33 relative_pointer_capture_enabled(),34 cfg!(target_os = "macos") || cfg!(feature = "experimental-non-macos-pointer-capture")35 );36 }37}