### Method

# WebKit2 UserContentFilterStore save

since: 2.24

#### Declaration [src]

    void
    webkit_user_content_filter_store_save (
      WebKitUserContentFilterStore* store,
      const gchar* identifier,
      GBytes* source,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Asynchronously save a content filter from a set source rule.

Asynchronously save a content filter from a source rule set in the WebKit content extesions JSON format.

The `identifier` can be used afterwards to refer to the filter when using `webkit_user_content_filter_store_remove()` and webkit_user_content_filter_store_load(). When the `identifier` has been used in the past, the new filter source will replace the one saved beforehand for the same identifier.

When the operation is finished, `callback` will be invoked, which then can use `webkit_user_content_filter_store_save_finish()` to obtain the resulting filter.

Available since: 2.24

This method completes asynchronously. Use `webkit_user_content_filter_store_save_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`identifier`

  Type: `const gchar*`

  A string used to identify the saved filter.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`source`

  Type: `GBytes`

  `GBytes` containing the rule set in JSON format.

  The data is owned by the caller of the method.

`cancellable`

  Type: `GCancellable`

  A `GCancellable` or `NULL` to ignore.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when saving is completed.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data to pass to the callback function.

  The argument can be `NULL`.
  The data is owned by the caller of the method.