Method
WebKit2WebContextregister_uri_scheme
Declaration [src]
void
webkit_web_context_register_uri_scheme (
  WebKitWebContext* context,
  const gchar* scheme,
  WebKitURISchemeRequestCallback callback,
  gpointer user_data,
  GDestroyNotify user_data_destroy_func
)
Description [src]
Register scheme in context.
Register scheme in context, so that when an URI request with scheme is made in the
WebKitWebContext, the WebKitURISchemeRequestCallback registered will be called with a
WebKitURISchemeRequest.
It is possible to handle URI scheme requests asynchronously, by calling g_object_ref() on the
WebKitURISchemeRequest and calling webkit_uri_scheme_request_finish() later
when the data of the request is available or
webkit_uri_scheme_request_finish_error() in case of error.
static void
about_uri_scheme_request_cb (WebKitURISchemeRequest *request,
                             gpointer                user_data)
{
    GInputStream *stream;
    gsize         stream_length;
    const gchar  *path = webkit_uri_scheme_request_get_path (request);
    if (!g_strcmp0 (path, "memory")) {
        // Create a GInputStream with the contents of memory about page, and set its length to stream_length
    } else if (!g_strcmp0 (path, "applications")) {
        // Create a GInputStream with the contents of applications about page, and set its length to stream_length
    } else if (!g_strcmp0 (path, "example")) {
        gchar *contents = g_strdup_printf ("<html><body><p>Example about page</p></body></html>");
        stream_length = strlen (contents);
        stream = g_memory_input_stream_new_from_data (contents, stream_length, g_free);
    } else {
        GError *error = g_error_new (ABOUT_HANDLER_ERROR, ABOUT_HANDLER_ERROR_INVALID, "Invalid about:%s page.", path);
        webkit_uri_scheme_request_finish_error (request, error);
        g_error_free (error);
        return;
    }
    webkit_uri_scheme_request_finish (request, stream, stream_length, "text/html");
    g_object_unref (stream);
}
Parameters
- scheme
- 
            Type: const gchar*The network scheme to register. The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. 
- callback
- 
            Type: WebKitURISchemeRequestCallbackA WebKitURISchemeRequestCallback.
- user_data
- 
            Type: gpointerData to pass to callback function. The argument can be NULL.The data is owned by the caller of the method. 
- user_data_destroy_func
- 
            Type: GDestroyNotifyDestroy notify for user_data.