[Xfce4-commits] <midori:master> Output adblock debug if variable MIDORI_ADBLOCK set
Christian Dywan
noreply at xfce.org
Thu Apr 8 21:38:01 CEST 2010
Updating branch refs/heads/master
to 63a5eeb0f0b18e5fa3cd0c260e47b7fe7491bfeb (commit)
from 8f3fcec13e6a9d537cc26e14ff45cfae2036f89e (commit)
commit 63a5eeb0f0b18e5fa3cd0c260e47b7fe7491bfeb
Author: Christian Dywan <christian at twotoasts.de>
Date: Thu Apr 8 21:39:05 2010 +0200
Output adblock debug if variable MIDORI_ADBLOCK set
If Midori is compiled with full debug mode, and the environment
variable MIDORI_ADBLOCK is set, Adblock will output a lot of
debugging information.
This spares testers from editing code. grep is recommended.
extensions/adblock.c | 37 ++++++++++++++++++++++++++-----------
1 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/extensions/adblock.c b/extensions/adblock.c
index 0ec1c22..2b142c7 100644
--- a/extensions/adblock.c
+++ b/extensions/adblock.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2009 Christian Dywan <christian at twotoasts.de>
+ Copyright (C) 2009-2010 Christian Dywan <christian at twotoasts.de>
Copyright (C) 2009 Alexander Butenko <a.butenka at gmail.com>
This library is free software; you can redistribute it and/or
@@ -32,12 +32,19 @@
filter[4] = __active ? (__filter[5] == ':' ? 's' : ':') : '-'
#define ADBLOCK_FILTER_IS_SET(__filter) \
filter[4] != '-'
+#ifdef G_ENABLE_DEBUG
+ #define adblock_debug(dmsg, darg1, darg2) \
+ do { if (debug) g_debug (dmsg, darg1, darg2); } while (0)
+#else
+ #define adblock_debug(dmsg, darg1, darg2) /* nothing */
+#endif
static GHashTable* pattern;
static GHashTable* keys;
static gchar* blockcss = NULL;
static gchar* blockcssprivate = NULL;
static gchar* blockscript = NULL;
+static gboolean debug;
static gboolean
adblock_parse_file (gchar* path);
@@ -613,7 +620,7 @@ adblock_is_matched_by_pattern (const gchar* req_uri,
return FALSE;
else
{
- /* g_debug("blocked by pattern regexp=%s -- %s", g_regex_get_pattern (regex), req_uri); */
+ adblock_debug ("blocked by pattern regexp=%s -- %s", g_regex_get_pattern (regex), req_uri);
return TRUE;
}
}
@@ -650,7 +657,7 @@ adblock_is_matched_by_key (const gchar* opts,
}
else
{
- /* g_debug("blocked by key sig=%s regexp=%s -- %s", sig, g_regex_get_pattern (regex), req_uri); */
+ adblock_debug ("blocked by regexp=%s -- %s", g_regex_get_pattern (regex), uri);
g_list_free (regex_bl);
return TRUE;
}
@@ -756,7 +763,10 @@ adblock_resource_request_starting_cb (WebKitWebView* web_view,
if (!page_uri || !strcmp (page_uri, "about:blank"))
page_uri = req_uri;
- /* g_test_timer_start (); */
+ #ifdef G_ENABLE_DEBUG
+ if (debug)
+ g_test_timer_start ();
+ #endif
/* TODO: opts should be defined */
if (adblock_is_matched (NULL, req_uri, page_uri))
{
@@ -765,7 +775,7 @@ adblock_resource_request_starting_cb (WebKitWebView* web_view,
webkit_network_request_set_uri (request, "about:blank");
g_object_set_data (G_OBJECT (web_view), "blocked-uris", blocked_uris);
}
- /* g_debug ("%f", g_test_timer_elapsed ()); */
+ adblock_debug ("match: %f%s", g_test_timer_elapsed (), "seconds");
}
#else
@@ -911,13 +921,16 @@ adblock_load_finished_cb (WebKitWebView *web_view,
{
JSContextRef js_context = webkit_web_frame_get_global_context (web_frame);
GList* uris = g_object_get_data (G_OBJECT (web_view), "blocked-uris");
+ gchar* script;
+ GList* li;
+
if (g_list_nth_data (uris, 0) == NULL)
return;
- gchar* script = adblock_prepare_urihider_js (uris);
+ script = adblock_prepare_urihider_js (uris);
webkit_web_view_execute_script (web_view, script);
sokoke_js_script_eval (js_context, script, NULL);
- GList* li = NULL;
+ li = NULL;
for (li = uris; li != NULL; li = g_list_next (li))
uris = g_list_remove (uris, li->data);
g_free (script);
@@ -1086,7 +1099,7 @@ adblock_compile_regexp (GHashTable* tbl,
if (!g_regex_match_simple ("[\\*]", sig, G_REGEX_UNGREEDY, G_REGEX_MATCH_NOTEMPTY) &&
!g_hash_table_lookup (keystbl, sig))
{
- /* g_debug ("sig: %s %s", sig, patt); */
+ adblock_debug ("sig: %s %s", sig, patt);
g_hash_table_insert (keystbl, sig, regex);
signature_count++;
}
@@ -1095,7 +1108,7 @@ adblock_compile_regexp (GHashTable* tbl,
if (g_regex_match_simple ("^\\*", sig, G_REGEX_UNGREEDY, G_REGEX_MATCH_NOTEMPTY) &&
!g_hash_table_lookup (tbl, opts))
{
- /* g_debug ("patt2: %s %s", sig, patt); */
+ adblock_debug ("patt2: %s %s", sig, patt);
g_hash_table_insert (tbl, opts, regex);
}
g_free (sig);
@@ -1106,7 +1119,7 @@ adblock_compile_regexp (GHashTable* tbl,
}
else
{
- /*g_debug ("patt: %s", patt); */
+ adblock_debug ("patt: %s%s", patt, "");
/* Pattern is a regexp chars */
g_hash_table_insert (tbl, opts, regex);
}
@@ -1143,7 +1156,7 @@ adblock_add_url_pattern (gchar* format,
fixed_patt = adblock_fixup_regexp (patt);
format_patt = g_strdup_printf (format, fixed_patt);
- /* g_debug ("got: %s opts %s", format_patt, opts); */
+ adblock_debug ("got: %s opts %s", format_patt, opts);
adblock_compile_regexp (pattern, keys, format_patt, opts);
g_strfreev (data);
@@ -1346,6 +1359,8 @@ adblock_activate_cb (MidoriExtension* extension,
G_CALLBACK (adblock_session_request_queued_cb), NULL);
#endif
+ debug = g_getenv ("MIDORI_ADBLOCK") != NULL;
+
adblock_reload_rules (extension, FALSE);
browsers = katze_object_get_object (app, "browsers");
More information about the Xfce4-commits
mailing list