[Xfce4-commits] <midori:master> Obtain and store priv in cookie manager
Christian Dywan
noreply at xfce.org
Sat Dec 10 19:54:01 CET 2011
Updating branch refs/heads/master
to 5d9a8d73f320af6b86b1e44d2518baf476567273 (commit)
from b41367b7357898923a9dbcc4166af2c67a0a4057 (commit)
commit 5d9a8d73f320af6b86b1e44d2518baf476567273
Author: Christian Dywan <christian at twotoasts.de>
Date: Sat Dec 10 19:23:52 2011 +0100
Obtain and store priv in cookie manager
Getting the private data is expensive, especially
in the cookie update callbacks.
extensions/cookie-manager/cookie-manager-page.c | 61 +++++++++++------------
extensions/cookie-manager/cookie-manager-page.h | 2 +
extensions/cookie-manager/cookie-manager.c | 31 ++++++------
3 files changed, 46 insertions(+), 48 deletions(-)
diff --git a/extensions/cookie-manager/cookie-manager-page.c b/extensions/cookie-manager/cookie-manager-page.c
index 16710dc..d21d128 100644
--- a/extensions/cookie-manager/cookie-manager-page.c
+++ b/extensions/cookie-manager/cookie-manager-page.c
@@ -18,13 +18,6 @@
#include "cookie-manager.h"
#include "cookie-manager-page.h"
-
-typedef struct _CookieManagerPagePrivate CookieManagerPagePrivate;
-
-#define COOKIE_MANAGER_PAGE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj),\
- COOKIE_MANAGER_PAGE_TYPE, CookieManagerPagePrivate))
-
-
#define CM_EMPTY_LABEL_TEXT "\n\n\n\n\n\n"
@@ -89,7 +82,7 @@ static const gchar *cookie_manager_page_get_stock_id(MidoriViewable *viewable)
static void cm_create_toolbar(CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
GtkWidget *toolbar;
GtkToolItem *toolitem;
@@ -141,7 +134,8 @@ static void cm_create_toolbar(CookieManagerPage *cmp)
static GtkWidget *cookie_manager_page_get_toolbar(MidoriViewable *viewable)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(viewable);
+ CookieManagerPage *cmp = COOKIE_MANAGER_PAGE(viewable);
+ CookieManagerPagePrivate *priv = cmp->priv;
return priv->toolbar;
}
@@ -157,7 +151,7 @@ static void cookie_manager_page_viewable_iface_init(MidoriViewableIface* iface)
static void cookie_manager_page_pre_cookies_change_cb(CookieManager *cm, CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
g_object_ref(priv->filter);
gtk_tree_view_set_model(GTK_TREE_VIEW(priv->treeview), NULL);
@@ -167,7 +161,7 @@ static void cookie_manager_page_pre_cookies_change_cb(CookieManager *cm, CookieM
static void cookie_manager_page_cookies_changed_cb(CookieManager *cm, CookieManagerPage *cmp)
{
const gchar *filter_text;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_tree_view_set_model(GTK_TREE_VIEW(priv->treeview), GTK_TREE_MODEL(priv->filter));
g_object_unref(priv->filter);
@@ -185,7 +179,7 @@ static void cookie_manager_page_cookies_changed_cb(CookieManager *cm, CookieMana
static void cookie_manager_page_filter_changed_cb(CookieManager *cm, const gchar *text,
CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
priv->ignore_changed_filter = TRUE;
gtk_entry_set_text(GTK_ENTRY(priv->filter_entry), text);
@@ -195,7 +189,8 @@ static void cookie_manager_page_filter_changed_cb(CookieManager *cm, const gchar
static void cookie_manager_page_finalize(GObject *object)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(object);
+ CookieManagerPage *cmp = COOKIE_MANAGER_PAGE(object);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_widget_destroy(priv->popup_menu);
@@ -213,7 +208,8 @@ static void cookie_manager_page_finalize(GObject *object)
static void cookie_manager_page_set_property(GObject *object, guint prop_id, const GValue *value,
GParamSpec *pspec)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(object);
+ CookieManagerPage *cmp = COOKIE_MANAGER_PAGE(object);
+ CookieManagerPagePrivate *priv = cmp->priv;
switch (prop_id)
{
case PROP_STORE:
@@ -288,7 +284,7 @@ static void cookie_manager_page_class_init(CookieManagerPageClass *klass)
static void cm_set_button_sensitiveness(CookieManagerPage *cmp, gboolean set)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gboolean expand_set = (gtk_tree_model_iter_n_children(priv->filter, NULL) > 0);
guint i, len;
@@ -328,7 +324,7 @@ static gint cm_list_length(GList *list)
static void cm_tree_popup_collapse_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_tree_view_collapse_all(GTK_TREE_VIEW(priv->treeview));
}
@@ -336,7 +332,7 @@ static void cm_tree_popup_collapse_activate_cb(GtkMenuItem *item, CookieManagerP
static void cm_tree_popup_expand_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->treeview));
}
@@ -345,7 +341,7 @@ static void cm_tree_popup_expand_activate_cb(GtkMenuItem *item, CookieManagerPag
static void cm_store_remove(CookieManagerPage *cmp, GtkTreeIter *iter_model)
{
GtkTreeIter iter_store;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_tree_model_filter_convert_iter_to_child_iter(
GTK_TREE_MODEL_FILTER(priv->filter), &iter_store, iter_model);
@@ -356,7 +352,7 @@ static void cm_store_remove(CookieManagerPage *cmp, GtkTreeIter *iter_model)
static void cm_delete_cookie(CookieManagerPage *cmp, GtkTreeModel *model, GtkTreeIter *child)
{
SoupCookie *cookie;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
gtk_tree_model_get(model, child, COOKIE_MANAGER_COL_COOKIE, &cookie, -1);
@@ -403,7 +399,7 @@ static gboolean cm_try_to_select(CMPathWalkFunc path_func, GtkTreeSelection *sel
/* select an item after deletion */
static void cm_select_path(CookieManagerPage *cmp, GtkTreeModel *model, GtkTreePath *path)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview));
CMPathWalkFunc path_funcs[] = {
(CMPathWalkFunc) gtk_tree_path_prev, (CMPathWalkFunc) gtk_tree_path_up,
@@ -432,7 +428,7 @@ static void cm_delete_item(CookieManagerPage *cmp)
GtkTreeSelection *selection;
GList *rows, *row;
GList *refs = NULL;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview));
rows = gtk_tree_selection_get_selected_rows(selection, &model);
@@ -528,7 +524,7 @@ static void cm_button_delete_clicked_cb(GtkToolButton *button, CookieManagerPage
static void cm_delete_all_cookies_real(CookieManagerPage *cmp)
{
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(priv->treeview));
GtkTreeIter iter, iter_store, child;
GtkTreePath *path_first, *path;
@@ -567,7 +563,7 @@ static void cm_button_delete_all_clicked_cb(GtkToolButton *button, CookieManager
GtkWidget *dialog;
const gchar *filter_text;
MidoriBrowser *toplevel = midori_browser_get_for_widget(GTK_WIDGET(button));
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
dialog = gtk_message_dialog_new(GTK_WINDOW(toplevel),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -608,7 +604,7 @@ static void cm_tree_drag_data_get_cb(GtkWidget *widget, GdkDragContext *drag_con
GtkTreeSelection *selection;
GtkTreeModel *model;
GList *rows;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview));
rows = gtk_tree_selection_get_selected_rows(selection, &model);
@@ -772,7 +768,7 @@ static void cm_filter_tree(CookieManagerPage *cmp, const gchar *filter_text)
gint i, n;
gchar *name;
gchar *domain;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
model = GTK_TREE_MODEL(priv->store);
if (! gtk_tree_model_get_iter_first(model, &iter))
@@ -811,7 +807,7 @@ static void cm_filter_tree(CookieManagerPage *cmp, const gchar *filter_text)
static void cm_filter_entry_changed_cb(GtkEditable *editable, CookieManagerPage *cmp)
{
const gchar *text;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
if (priv->ignore_changed_filter)
return;
@@ -845,7 +841,7 @@ static void cm_tree_selection_changed_cb(GtkTreeSelection *selection, CookieMana
gboolean delete_possible = TRUE;
guint rows_len;
SoupCookie *cookie;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
rows = gtk_tree_selection_get_selected_rows(selection, &model);
rows_len = cm_list_length(rows);
@@ -904,7 +900,7 @@ static void cm_tree_selection_changed_cb(GtkTreeSelection *selection, CookieMana
static void cm_tree_show_popup_menu(GtkWidget *widget, GdkEventButton *event, CookieManagerPage *cmp)
{
gint button, event_time;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
if (event != NULL)
{
@@ -1019,7 +1015,7 @@ static GtkWidget *cm_tree_prepare(CookieManagerPage *cmp)
GtkWidget *item;
GtkWidget *menu;
GtkWidget *treeview;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+ CookieManagerPagePrivate *priv = cmp->priv;
treeview = priv->treeview = gtk_tree_view_new();
@@ -1106,10 +1102,11 @@ static void cookie_manager_page_init(CookieManagerPage *self)
GtkWidget *filter_hbox;
GtkWidget *filter_label;
GtkWidget *treeview;
- CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(self);
+ CookieManagerPagePrivate *priv;
- priv->parent = NULL;
- priv->store = NULL;
+ self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+ COOKIE_MANAGER_PAGE_TYPE, CookieManagerPagePrivate);
+ priv = self->priv;
priv->ignore_changed_filter = FALSE;
cm_create_toolbar(self);
diff --git a/extensions/cookie-manager/cookie-manager-page.h b/extensions/cookie-manager/cookie-manager-page.h
index 7c307d1..e2a9d9a 100644
--- a/extensions/cookie-manager/cookie-manager-page.h
+++ b/extensions/cookie-manager/cookie-manager-page.h
@@ -26,10 +26,12 @@ G_BEGIN_DECLS
typedef struct _CookieManagerPage CookieManagerPage;
typedef struct _CookieManagerPageClass CookieManagerPageClass;
+typedef struct _CookieManagerPagePrivate CookieManagerPagePrivate;
struct _CookieManagerPage
{
GtkVBox parent;
+ CookieManagerPagePrivate* priv;
};
struct _CookieManagerPageClass
diff --git a/extensions/cookie-manager/cookie-manager.c b/extensions/cookie-manager/cookie-manager.c
index b2a1153..4ca57ca 100644
--- a/extensions/cookie-manager/cookie-manager.c
+++ b/extensions/cookie-manager/cookie-manager.c
@@ -18,12 +18,10 @@
typedef struct _CookieManagerPrivate CookieManagerPrivate;
-#define COOKIE_MANAGER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj),\
- COOKIE_MANAGER_TYPE, CookieManagerPrivate))
-
struct _CookieManager
{
GObject parent;
+ CookieManagerPrivate* priv;
};
struct _CookieManagerClass
@@ -116,7 +114,7 @@ static void cookie_manager_panel_pages_foreach(gpointer ptr, gpointer data)
static void cookie_manager_page_destroy_cb(GObject *page, CookieManager *cm)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
priv->panel_pages = g_slist_remove(priv->panel_pages, page);
}
@@ -127,7 +125,7 @@ static void cookie_manager_app_add_browser_cb(MidoriApp *app, MidoriBrowser *bro
{
MidoriPanel *panel;
GtkWidget *page;
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
panel = katze_object_get_object(browser, "panel");
@@ -144,7 +142,7 @@ static void cookie_manager_app_add_browser_cb(MidoriApp *app, MidoriBrowser *bro
static void cookie_manager_free_cookie_list(CookieManager *cm)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
if (priv->cookies != NULL)
{
@@ -165,7 +163,7 @@ static void cookie_manager_refresh_store(CookieManager *cm)
GtkTreeIter iter;
GtkTreeIter *parent_iter;
SoupCookie *cookie;
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
g_signal_emit(cm, signals[PRE_COOKIES_CHANGE], 0);
@@ -213,7 +211,7 @@ static void cookie_manager_refresh_store(CookieManager *cm)
static gboolean cookie_manager_delayed_refresh(CookieManager *cm)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
cookie_manager_refresh_store(cm);
priv->timer_id = 0;
@@ -225,7 +223,7 @@ static gboolean cookie_manager_delayed_refresh(CookieManager *cm)
static void cookie_manager_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, SoupCookie *new,
CookieManager *cm)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
if (priv->ignore_changed_count > 0)
{
@@ -243,7 +241,7 @@ static void cookie_manager_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, S
static void cookie_manager_finalize(GObject *object)
{
CookieManager *cm = COOKIE_MANAGER(object);
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
g_signal_handlers_disconnect_by_func(priv->app, cookie_manager_app_add_browser_cb, cm);
g_signal_handlers_disconnect_by_func(priv->jar, cookie_manager_jar_changed_cb, cm);
@@ -267,11 +265,12 @@ static void cookie_manager_finalize(GObject *object)
static void cookie_manager_init(CookieManager *self)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(self);
+ CookieManagerPrivate *priv;
SoupSession *session;
- priv->filter_text = NULL;
- priv->panel_pages = NULL;
+ self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+ COOKIE_MANAGER_TYPE, CookieManagerPrivate);
+ priv = self->priv;
/* create the main store */
priv->store = gtk_tree_store_new(COOKIE_MANAGER_N_COLUMNS,
G_TYPE_STRING, SOUP_TYPE_COOKIE, G_TYPE_BOOLEAN);
@@ -289,7 +288,7 @@ static void cookie_manager_init(CookieManager *self)
void cookie_manager_update_filter(CookieManager *cm, const gchar *text)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
katze_assign(priv->filter_text, g_strdup(text));
@@ -299,7 +298,7 @@ void cookie_manager_update_filter(CookieManager *cm, const gchar *text)
void cookie_manager_delete_cookie(CookieManager *cm, SoupCookie *cookie)
{
- CookieManagerPrivate *priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ CookieManagerPrivate *priv = cm->priv;
if (cookie != NULL)
{
@@ -320,7 +319,7 @@ CookieManager *cookie_manager_new(MidoriExtension *extension, MidoriApp *app)
cm = g_object_new(COOKIE_MANAGER_TYPE, NULL);
- priv = COOKIE_MANAGER_GET_PRIVATE(cm);
+ priv = cm->priv;
priv->app = app;
priv->extension = extension;
More information about the Xfce4-commits
mailing list