WebKitFaviconDatabase

WebKitFaviconDatabase — A WebKit favicon database

Synopsis

                    WebKitFaviconDatabase;
void                webkit_favicon_database_clear       (WebKitFaviconDatabase *database);
void                webkit_favicon_database_get_favicon_pixbuf
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri,
                                                         guint width,
                                                         guint height,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GdkPixbuf *         webkit_favicon_database_get_favicon_pixbuf_finish
                                                        (WebKitFaviconDatabase *database,
                                                         GAsyncResult *result,
                                                         GError **error);
gchar *             webkit_favicon_database_get_favicon_uri
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri);
const gchar *       webkit_favicon_database_get_path    (WebKitFaviconDatabase *database);
GType               webkit_favicon_database_get_type    (void);
void                webkit_favicon_database_set_path    (WebKitFaviconDatabase *database,
                                                         const gchar *path);
GdkPixbuf *         webkit_favicon_database_try_get_favicon_pixbuf
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri,
                                                         guint width,
                                                         guint height);

Object Hierarchy

  GObject
   +----WebKitFaviconDatabase

Properties

  "path"                     gchar*                : Read / Write

Signals

  "icon-loaded"                                    : Run Last

Description

WebKitFaviconDatabase provides access to the icons associated with web sites.

WebKit will automatically look for available icons in link elements on opened pages as well as an existing favicon.ico and load the images found into a memory cache if possible. That cache is frozen to an on-disk database for persistence.

The database is disabled by default. In order for icons to be stored and accessed, you will need to set an icon database path using webkit_favicon_database_set_path(). Disable the database again passing NULL to the previous call.

If WebKitWebSettings::enable-private-browsing is TRUE new icons won't be added to the on-disk database and no existing icons will be deleted from it. Nevertheless, WebKit will still store them in the in-memory cache during the current execution.

Details

WebKitFaviconDatabase

typedef struct _WebKitFaviconDatabase WebKitFaviconDatabase;


webkit_favicon_database_clear ()

void                webkit_favicon_database_clear       (WebKitFaviconDatabase *database);

Clears all icons from the database.

database :

a WebKitFaviconDatabase

Since 1.8


webkit_favicon_database_get_favicon_pixbuf ()

void                webkit_favicon_database_get_favicon_pixbuf
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri,
                                                         guint width,
                                                         guint height,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Asynchronously obtains a GdkPixbuf of the favicon for the given page URI. The advantage of this method over webkit_favicon_database_try_get_favicon_pixbuf() is that it always returns the cached icon if it's in the database asynchronously waiting for the icon to be read from the database.

This is an asynchronous method. When the operation is finished, callback will be invoked. You can then call webkit_favicon_database_get_favicon_pixbuf_finish() to get the result of the operation. See also webkit_favicon_database_try_get_favicon_pixbuf().

If width and height are both 0 then this method will return the maximum available size for the icon. Note that if you specify a different size the icon will be scaled each time you call this function.

database :

a WebKitFaviconDatabase

page_uri :

URI of the page containing the icon

width :

the desired width for the icon

height :

the desired height for the icon

cancellable :

A GCancellable or NULL. [allow-none]

callback :

A GAsyncReadyCallback to call when the request is satisfied or NULL if you don't care about the result. [allow-none]

user_data :

The data to pass to callback.

Since 1.8


webkit_favicon_database_get_favicon_pixbuf_finish ()

GdkPixbuf *         webkit_favicon_database_get_favicon_pixbuf_finish
                                                        (WebKitFaviconDatabase *database,
                                                         GAsyncResult *result,
                                                         GError **error);

Finishes an operation started with webkit_favicon_database_get_favicon_pixbuf().

database :

a WebKitFaviconDatabase

result :

A GAsyncResult obtained from the GAsyncReadyCallback passed to webkit_favicon_database_get_favicon_pixbuf()

error :

Return location for error or NULL. [allow-none]

Returns :

a new reference to a GdkPixbuf, or NULL. [transfer full]

Since 1.8


webkit_favicon_database_get_favicon_uri ()

gchar *             webkit_favicon_database_get_favicon_uri
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri);

Obtains the URI for the favicon for the given page URI. See also webkit_web_view_get_icon_uri().

database :

a WebKitFaviconDatabase

page_uri :

URI of the page containing the icon

Returns :

a newly allocated URI for the favicon, or NULL

Since 1.8


webkit_favicon_database_get_path ()

const gchar *       webkit_favicon_database_get_path    (WebKitFaviconDatabase *database);

Determines the absolute path to the database folder on disk.

database :

a WebKitFaviconDatabase

Returns :

the absolute path of the database folder, or NULL

Since 1.8


webkit_favicon_database_get_type ()

GType               webkit_favicon_database_get_type    (void);


webkit_favicon_database_set_path ()

void                webkit_favicon_database_set_path    (WebKitFaviconDatabase *database,
                                                         const gchar *path);

Specifies the absolute path to the database folder on disk. The icon database will only be enabled after a call to this method.

Passing NULL or "" as path disables the icon database.

database :

a WebKitFaviconDatabase

path :

an absolute path to the icon database folder or NULL to disable the database. [allow-none]

Since 1.8


webkit_favicon_database_try_get_favicon_pixbuf ()

GdkPixbuf *         webkit_favicon_database_try_get_favicon_pixbuf
                                                        (WebKitFaviconDatabase *database,
                                                         const gchar *page_uri,
                                                         guint width,
                                                         guint height);

Obtains a GdkPixbuf of the favicon for the given page URI, or NULL if there is no icon for the given page or it hasn't been loaded from disk yet. Use webkit_favicon_database_get_favicon_uri() if you need to distinguish these cases. To make sure this method will return a valid icon when the given URI has one, you should connect to "icon-loaded" and use this function in the callback.

If width and height ar both 0 then this method will return the maximum available size for the icon. Note that if you specify a different size the icon will be scaled each time you call this function.

database :

a WebKitFaviconDatabase

page_uri :

URI of the page containing the icon

width :

the desired width for the icon

height :

the desired height for the icon

Returns :

a new reference to a GdkPixbuf, or NULL if the given URI doesn't have an icon or it hasn't been loaded yet. [transfer full]

Since 1.8

Property Details

The "path" property

  "path"                     gchar*                : Read / Write

The absolute path of the icon database folder.

Default value: NULL

Since 1.8

Signal Details

The "icon-loaded" signal

void                user_function                      (WebKitFaviconDatabase *database,
                                                        gchar                 *frame_uri,
                                                        gpointer               user_data)      : Run Last

This signal is fired if an icon is loaded on any WebKitWebView. If you are only interested in a particular WebKitWebView see "icon-loaded".

Note that this signal carries the URI of the frame that loads the icon, while "icon-loaded" provides the URI of the favicon.

database :

the object on which the signal is emitted

frame_uri :

the URI of the main frame of a Web page containing the icon

user_data :

user data set when the signal handler was connected.

Since 1.8