icrate 0.1.2

Bindings to Apple's frameworks
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::AppKit::*;
use crate::Foundation::*;
use crate::WebKit::*;

ns_enum!(
    #[underlying(NSInteger)]
    pub enum WKPermissionDecision {
        WKPermissionDecisionPrompt = 0,
        WKPermissionDecisionGrant = 1,
        WKPermissionDecisionDeny = 2,
    }
);

ns_enum!(
    #[underlying(NSInteger)]
    pub enum WKMediaCaptureType {
        WKMediaCaptureTypeCamera = 0,
        WKMediaCaptureTypeMicrophone = 1,
        WKMediaCaptureTypeCameraAndMicrophone = 2,
    }
);

ns_enum!(
    #[underlying(NSInteger)]
    pub enum WKDialogResult {
        WKDialogResultShowDefault = 1,
        WKDialogResultAskAgain = 2,
        WKDialogResultHandled = 3,
    }
);

extern_protocol!(
    pub unsafe trait WKUIDelegate: NSObjectProtocol {
        #[cfg(all(
            feature = "WebKit_WKNavigationAction",
            feature = "WebKit_WKWebView",
            feature = "WebKit_WKWebViewConfiguration",
            feature = "WebKit_WKWindowFeatures"
        ))]
        #[optional]
        #[method_id(@__retain_semantics Other webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:)]
        unsafe fn webView_createWebViewWithConfiguration_forNavigationAction_windowFeatures(
            &self,
            web_view: &WKWebView,
            configuration: &WKWebViewConfiguration,
            navigation_action: &WKNavigationAction,
            window_features: &WKWindowFeatures,
        ) -> Option<Id<WKWebView>>;

        #[cfg(feature = "WebKit_WKWebView")]
        #[optional]
        #[method(webViewDidClose:)]
        unsafe fn webViewDidClose(&self, web_view: &WKWebView);

        #[cfg(all(
            feature = "Foundation_NSString",
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:)]
        unsafe fn webView_runJavaScriptAlertPanelWithMessage_initiatedByFrame_completionHandler(
            &self,
            web_view: &WKWebView,
            message: &NSString,
            frame: &WKFrameInfo,
            completion_handler: &Block<(), ()>,
        );

        #[cfg(all(
            feature = "Foundation_NSString",
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]
        unsafe fn webView_runJavaScriptConfirmPanelWithMessage_initiatedByFrame_completionHandler(
            &self,
            web_view: &WKWebView,
            message: &NSString,
            frame: &WKFrameInfo,
            completion_handler: &Block<(Bool,), ()>,
        );

        #[cfg(all(
            feature = "Foundation_NSString",
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:)]
        unsafe fn webView_runJavaScriptTextInputPanelWithPrompt_defaultText_initiatedByFrame_completionHandler(
            &self,
            web_view: &WKWebView,
            prompt: &NSString,
            default_text: Option<&NSString>,
            frame: &WKFrameInfo,
            completion_handler: &Block<(*mut NSString,), ()>,
        );

        #[cfg(all(
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKSecurityOrigin",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:)]
        unsafe fn webView_requestMediaCapturePermissionForOrigin_initiatedByFrame_type_decisionHandler(
            &self,
            web_view: &WKWebView,
            origin: &WKSecurityOrigin,
            frame: &WKFrameInfo,
            r#type: WKMediaCaptureType,
            decision_handler: &Block<(WKPermissionDecision,), ()>,
        );

        #[cfg(all(
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKSecurityOrigin",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:)]
        unsafe fn webView_requestDeviceOrientationAndMotionPermissionForOrigin_initiatedByFrame_decisionHandler(
            &self,
            web_view: &WKWebView,
            origin: &WKSecurityOrigin,
            frame: &WKFrameInfo,
            decision_handler: &Block<(WKPermissionDecision,), ()>,
        );

        #[cfg(all(
            feature = "Foundation_NSArray",
            feature = "Foundation_NSURL",
            feature = "WebKit_WKFrameInfo",
            feature = "WebKit_WKOpenPanelParameters",
            feature = "WebKit_WKWebView"
        ))]
        #[optional]
        #[method(webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:)]
        unsafe fn webView_runOpenPanelWithParameters_initiatedByFrame_completionHandler(
            &self,
            web_view: &WKWebView,
            parameters: &WKOpenPanelParameters,
            frame: &WKFrameInfo,
            completion_handler: &Block<(*mut NSArray<NSURL>,), ()>,
        );
    }

    unsafe impl ProtocolType for dyn WKUIDelegate {}
);