This signal is emitted when WebKit is requesting the client to
decide about a permission request, such as allowing the browser
to switch to fullscreen mode, sharing its location or similar
operations.
A possible way to use this signal could be through a dialog
allowing the user decide what to do with the request:
It is possible to handle permission requests asynchronously, by
simply calling g_object_ref() on the @request argument and
returning %TRUE to block the default signal handler. If the
last reference is removed on a #WebKitPermissionRequest and the
request has not been handled, webkit_permission_request_deny()
will be the default action.
If the signal is not handled, the @request will be completed automatically
by the specific #WebKitPermissionRequest that could allow or deny it. Check the
documentation of classes implementing #WebKitPermissionRequest interface to know
their default action.
This signal is emitted when WebKit is requesting the client to decide about a permission request, such as allowing the browser to switch to fullscreen mode, sharing its location or similar operations.
A possible way to use this signal could be through a dialog allowing the user decide what to do with the request:
<informalexample><programlisting> static gboolean permission_request_cb (WebKitWebView *web_view, WebKitPermissionRequest *request, GtkWindow *parent_window) { GtkWidget *dialog = gtk_message_dialog_new (parent_window, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Allow Permission Request?"); gtk_widget_show (dialog); gint result = gtk_dialog_run (GTK_DIALOG (dialog));
switch (result) { case GTK_RESPONSE_YES: webkit_permission_request_allow (request); break; default: webkit_permission_request_deny (request); break; } gtk_widget_destroy (dialog);
return TRUE; } </programlisting></informalexample>
It is possible to handle permission requests asynchronously, by simply calling g_object_ref() on the @request argument and returning %TRUE to block the default signal handler. If the last reference is removed on a #WebKitPermissionRequest and the request has not been handled, webkit_permission_request_deny() will be the default action.
If the signal is not handled, the @request will be completed automatically by the specific #WebKitPermissionRequest that could allow or deny it. Check the documentation of classes implementing #WebKitPermissionRequest interface to know their default action.