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 {}
);