WebKit2GTK+ Reference Manual: WebKitCookieManager

## WebKitCookieManager WebKitCookieManager — Defines how to handle cookies in a WebKitWebContext |

## Functions

void | webkit_cookie_manager_set_persistent_storage ()
void | webkit_cookie_manager_set_accept_policy ()
void | webkit_cookie_manager_get_accept_policy ()
WebKitCookieAcceptPolicy | webkit_cookie_manager_get_accept_policy_finish ()
void | webkit_cookie_manager_get_domains_with_cookies ()
gchar ** | webkit_cookie_manager_get_domains_with_cookies_finish ()
void | webkit_cookie_manager_delete_cookies_for_domain ()
void | webkit_cookie_manager_delete_all_cookies ()

## Signals

void | changed | Run Last

## Types and Values

struct | WebKitCookieManager
enum | WebKitCookiePersistentStorage
enum | WebKitCookieAcceptPolicy

## Object Hierarchy

        GObject
        ╰── WebKitCookieManager

## Description

The WebKitCookieManager defines how to handle cookies in a WebKitWebContext. Get it from the context with `webkit_web_context_get_cookie_manager()`, and use it to set where to store cookies, with `webkit_cookie_manager_set_persistent_storage()`, to get the list of domains with cookies, with `webkit_cookie_manager_get_domains_with_cookies()`, or to set the acceptance policy, with `webkit_cookie_manager_get_accept_policy()` (among other actions).

## Functions

### webkit_cookie_manager_set_persistent_storage ()

    void
    webkit_cookie_manager_set_persistent_storage
                                   (WebKitCookieManager *cookie_manager,
                                    const gchar *filename,
                                    WebKitCookiePersistentStorage storage);

Set the `filename` where non-session cookies are stored persistently using `storage` as the format to read/write the cookies. Cookies are initially read from `filename` to create an initial set of cookies. Then, non-session cookies will be written to `filename` when the WebKitCookieManager::changed signal is emitted. By default, `cookie_manager` doesn't store the cookies persistenly, so you need to call this method to keep cookies saved across sessions.

#### Parameters

cookie_manager | a WebKitCookieManager |
filename | the filename to read to/write from |
storage | a WebKitCookiePersistentStorage |

### webkit_cookie_manager_set_accept_policy ()

    void
    webkit_cookie_manager_set_accept_policy
                                   (WebKitCookieManager *cookie_manager,
                                    WebKitCookieAcceptPolicy policy);

Set the cookie acceptance policy of `cookie_manager` as `policy` .

#### Parameters

cookie_manager | a WebKitCookieManager |
policy | a WebKitCookieAcceptPolicy |

### webkit_cookie_manager_get_accept_policy ()

    void
    webkit_cookie_manager_get_accept_policy
                                   (WebKitCookieManager *cookie_manager,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously get the cookie acceptance policy of `cookie_manager` .

When the operation is finished, `callback` will be called. You can then call `webkit_cookie_manager_get_accept_policy_finish()` to get the result of the operation.

#### Parameters

cookie_manager | a WebKitCookieManager |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_cookie_manager_get_accept_policy_finish ()

    WebKitCookieAcceptPolicy
    webkit_cookie_manager_get_accept_policy_finish
                                   (WebKitCookieManager *cookie_manager,
                                    GAsyncResult *result,
                                    GError **error);

Finish an asynchronous operation started with `webkit_cookie_manager_get_accept_policy()`.

#### Parameters

cookie_manager | a WebKitCookieManager |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

the cookie acceptance policy of `cookie_manager` as a WebKitCookieAcceptPolicy.

### webkit_cookie_manager_get_domains_with_cookies ()

    void
    webkit_cookie_manager_get_domains_with_cookies
                                   (WebKitCookieManager *cookie_manager,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously get the list of domains for which `cookie_manager` contains cookies.

When the operation is finished, `callback` will be called. You can then call `webkit_cookie_manager_get_domains_with_cookies_finish()` to get the result of the operation.

#### Parameters

cookie_manager | a WebKitCookieManager |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_cookie_manager_get_domains_with_cookies_finish ()

    gchar **
    webkit_cookie_manager_get_domains_with_cookies_finish
                                   (WebKitCookieManager *cookie_manager,
                                    GAsyncResult *result,
                                    GError **error);

Finish an asynchronous operation started with `webkit_cookie_manager_get_domains_with_cookies()`. The return value is a `NULL` terminated list of strings which should be released with `g_strfreev()`.

#### Parameters

cookie_manager | a WebKitCookieManager |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

A `NULL` terminated array of domain names or `NULL` in case of error.

[transfer full][array zero-terminated=1]

### webkit_cookie_manager_delete_cookies_for_domain ()

    void
    webkit_cookie_manager_delete_cookies_for_domain
                                   (WebKitCookieManager *cookie_manager,
                                    const gchar *domain);

Remove all cookies of `cookie_manager` for the given `domain` .

#### Parameters

cookie_manager | a WebKitCookieManager |
domain | a domain name |

### webkit_cookie_manager_delete_all_cookies ()

    void
    webkit_cookie_manager_delete_all_cookies
                                   (WebKitCookieManager *cookie_manager);

Delete all cookies of `cookie_manager`

#### Parameters

cookie_manager | a WebKitCookieManager |

## Types and Values

### struct WebKitCookieManager

    struct WebKitCookieManager;

### enum WebKitCookiePersistentStorage

Enum values used to denote the cookie persistent storage types.

#### Members

WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT | Cookies are stored in a text file in the Mozilla "cookies.txt" format. |
WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE | Cookies are stored in a SQLite file in the current Mozilla format. |

### enum WebKitCookieAcceptPolicy

Enum values used to denote the cookie acceptance policies.

#### Members

WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS | Accept all cookies unconditionally. |
WEBKIT_COOKIE_POLICY_ACCEPT_NEVER | Reject all cookies unconditionally. |
WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY | Accept only cookies set by the main document loaded. |

## Signal Details

### The `“changed”` signal

    void
    user_function (WebKitCookieManager *cookie_manager,
                   gpointer             user_data)

This signal is emitted when cookies are added, removed or modified.

#### Parameters

cookie_manager | the WebKitCookieManager |
user_data | user data set when the signal handler was connected. |

Flags: Run Last