aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-01-12 21:18:44 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-01-12 21:18:44 +0800
commit54df3f0ea343005402ab02ab90b137783d0bdd72 (patch)
treefdbddbbac7f6baca4e48abc6015a2d3b01e4dcb7
parentec474aa2c989710ab13aafaca9405f767f759b63 (diff)
downloadgsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.gz
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.bz2
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.lz
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.xz
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.tar.zst
gsoc2013-epiphany-54df3f0ea343005402ab02ab90b137783d0bdd72.zip
2003-01-12 Marco Pesenti Gritti <marco@it.gnome.org>
* configure.in: * doc/debugging.txt: * embed/ephy-embed-utils.c: (ephy_embed_utils_build_charsets_submenu): * embed/ephy-favicon-cache.c: (ephy_favicon_cache_init): * embed/ephy-history.c: (ephy_history_save): * embed/mozilla/mozilla-embed.cpp: * lib/ephy-autocompletion.c: (ephy_autocompletion_reset), (ephy_autocompletion_get_common_prefix), (ephy_autocompletion_refine_matches), (ephy_autocompletion_update_matches_full), (ephy_autocompletion_sort_by_score), (ephy_autocompletion_data_changed_cb), (acma_grow): * lib/ephy-debug.c: (log_module), (ephy_debug_init), (ephy_profiler_new), (ephy_should_profile), (ephy_profiler_dump), (ephy_profiler_free), (ephy_profiler_start), (ephy_profiler_stop): * lib/ephy-debug.h: * lib/ephy-filesystem-autocompletion.c: (ephy_filesystem_autocompletion_finalize_impl), (gfa_load_directory_cb), (ephy_filesystem_autocompletion_set_current_dir), (ephy_filesystem_autocompletion_set_base_dir): * lib/ephy-start-here.c: * lib/widgets/ephy-autocompletion-window.c: (ephy_autocompletion_window_get_dimensions), (ephy_autocompletion_window_fill_store_chunk), (ephy_autocompletion_window_show), (ephy_autocompletion_window_key_press_cb): * lib/widgets/ephy-location-entry.c: (ephy_location_entry_finalize_impl), (ephy_location_entry_autocompletion_show_alternatives_to), (ephy_location_entry_autocompletion_to), (ephy_location_entry_activate_cb), (ephy_location_entry_autocompletion_sources_changed_cb), (ephy_location_entry_autocompletion_window_url_activated_cb), (ephy_location_entry_autocompletion_window_hidden_cb): * src/bookmarks/ephy-bookmarks-editor.c: * src/bookmarks/ephy-bookmarks.c: (ephy_bookmarks_clean_empty_keywords), (ephy_bookmarks_save), (ephy_bookmarks_find_keyword), (diff_keywords): * src/bookmarks/ephy-keywords-entry.c: (try_to_expand_keyword): * src/bookmarks/ephy-new-bookmark.c: (ephy_new_bookmark_set_title): * src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild): * src/ephy-nautilus-view.c: (gnv_cmd_set_charset), (if): * src/ephy-navigation-button.c: (ephy_navigation_button_finalize_impl): * src/ephy-shell.c: (ephy_shell_finalize): * src/ephy-tab.c: (ephy_tab_embed_destroy_cb), (ephy_tab_finalize):
-rw-r--r--ChangeLog60
-rw-r--r--configure.in1
-rw-r--r--doc/debugging.txt35
-rw-r--r--embed/ephy-embed-utils.c21
-rw-r--r--embed/ephy-favicon-cache.c6
-rw-r--r--embed/ephy-history.c6
-rw-r--r--embed/mozilla/mozilla-embed.cpp7
-rw-r--r--lib/ephy-autocompletion.c93
-rw-r--r--lib/ephy-debug.c162
-rw-r--r--lib/ephy-debug.h44
-rw-r--r--lib/ephy-filesystem-autocompletion.c20
-rw-r--r--lib/ephy-start-here.c3
-rw-r--r--lib/widgets/ephy-autocompletion-window.c70
-rw-r--r--lib/widgets/ephy-location-entry.c28
-rw-r--r--src/bookmarks/ephy-bookmarks-editor.c3
-rw-r--r--src/bookmarks/ephy-bookmarks.c19
-rw-r--r--src/bookmarks/ephy-keywords-entry.c14
-rw-r--r--src/bookmarks/ephy-new-bookmark.c6
-rw-r--r--src/ephy-favorites-menu.c9
-rw-r--r--src/ephy-nautilus-view.c29
-rw-r--r--src/ephy-navigation-button.c10
-rw-r--r--src/ephy-shell.c8
-rw-r--r--src/ephy-tab.c14
-rw-r--r--src/ephy-tbi.c10
-rw-r--r--src/ephy-window.c5
-rwxr-xr-xsrc/toolbar.c17
26 files changed, 409 insertions, 291 deletions
diff --git a/ChangeLog b/ChangeLog
index ea5714f2e..fb8d729bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,63 @@
+2003-01-12 Marco Pesenti Gritti <marco@it.gnome.org>
+
+ * configure.in:
+ * doc/debugging.txt:
+ * embed/ephy-embed-utils.c:
+ (ephy_embed_utils_build_charsets_submenu):
+ * embed/ephy-favicon-cache.c: (ephy_favicon_cache_init):
+ * embed/ephy-history.c: (ephy_history_save):
+ * embed/mozilla/mozilla-embed.cpp:
+ * lib/ephy-autocompletion.c: (ephy_autocompletion_reset),
+ (ephy_autocompletion_get_common_prefix),
+ (ephy_autocompletion_refine_matches),
+ (ephy_autocompletion_update_matches_full),
+ (ephy_autocompletion_sort_by_score),
+ (ephy_autocompletion_data_changed_cb), (acma_grow):
+ * lib/ephy-debug.c: (log_module), (ephy_debug_init),
+ (ephy_profiler_new), (ephy_should_profile), (ephy_profiler_dump),
+ (ephy_profiler_free), (ephy_profiler_start), (ephy_profiler_stop):
+ * lib/ephy-debug.h:
+ * lib/ephy-filesystem-autocompletion.c:
+ (ephy_filesystem_autocompletion_finalize_impl),
+ (gfa_load_directory_cb),
+ (ephy_filesystem_autocompletion_set_current_dir),
+ (ephy_filesystem_autocompletion_set_base_dir):
+ * lib/ephy-start-here.c:
+ * lib/widgets/ephy-autocompletion-window.c:
+ (ephy_autocompletion_window_get_dimensions),
+ (ephy_autocompletion_window_fill_store_chunk),
+ (ephy_autocompletion_window_show),
+ (ephy_autocompletion_window_key_press_cb):
+ * lib/widgets/ephy-location-entry.c:
+ (ephy_location_entry_finalize_impl),
+ (ephy_location_entry_autocompletion_show_alternatives_to),
+ (ephy_location_entry_autocompletion_to),
+ (ephy_location_entry_activate_cb),
+ (ephy_location_entry_autocompletion_sources_changed_cb),
+ (ephy_location_entry_autocompletion_window_url_activated_cb),
+ (ephy_location_entry_autocompletion_window_hidden_cb):
+ * src/bookmarks/ephy-bookmarks-editor.c:
+ * src/bookmarks/ephy-bookmarks.c:
+ (ephy_bookmarks_clean_empty_keywords), (ephy_bookmarks_save),
+ (ephy_bookmarks_find_keyword), (diff_keywords):
+ * src/bookmarks/ephy-keywords-entry.c: (try_to_expand_keyword):
+ * src/bookmarks/ephy-new-bookmark.c: (ephy_new_bookmark_set_title):
+ * src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild):
+ * src/ephy-nautilus-view.c: (gnv_cmd_set_charset), (if):
+ * src/ephy-navigation-button.c:
+ (ephy_navigation_button_finalize_impl):
+ * src/ephy-shell.c: (ephy_shell_finalize):
+ * src/ephy-tab.c: (ephy_tab_embed_destroy_cb), (ephy_tab_finalize):
+ * src/ephy-tbi.c: (ephy_tbi_finalize_impl):
+ * src/ephy-window.c: (ephy_window_finalize):
+ * src/toolbar.c: (toolbar_get_widgets):
+
+ Implement profiler helpers. Complete ephy-debug
+ implementation and document it.
+ Fixup all the damned DEBUG_MSG mess. toolbar/ is
+ still borked since I'm not mantaining that code atm (just
+ keeping it updated with galeon).
+
2003-01-12 Andras Timar <timar@gnome.hu>
* configure.in: Added de, hu and nl to ALL_LINGUAS.
diff --git a/configure.in b/configure.in
index 89a42c323..16c04b95a 100644
--- a/configure.in
+++ b/configure.in
@@ -43,6 +43,7 @@ AC_HEADER_STDC
AC_PROG_INTLTOOL
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
+GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS(error)
dnl ******************************
diff --git a/doc/debugging.txt b/doc/debugging.txt
new file mode 100644
index 000000000..f991c81e9
--- /dev/null
+++ b/doc/debugging.txt
@@ -0,0 +1,35 @@
+To enable debugging use the configure option --enable-debug.
+
+LOGGING
+=======
+
+At execution time, you must enable the log service. To enable the
+log service, set the environment variable: EPHY_LOG_MODULES
+variable.
+
+EPHY_LOG_MODULES variable has the form:
+
+ <moduleName>[:<moduleName>]*
+
+moduleName is a filename.
+ex: export EPHY_LOG_MODULES=ephy-window.c:ephy-autocompletion.c
+The special log module "all" enables all log modules.
+
+Use the LOG macro to put debug messages in the code.
+
+PROFILING
+=========
+
+At execution time, you must enable the profiling service. To enable the
+profiling service, set the environment variable: EPHY_PROFILING_MODULES
+variable.
+
+EPHY_PROFILE_MODULES variable has the form:
+
+ <moduleName>[:<moduleName>]*
+
+moduleName is a filename.
+ex: export EPHY_PROFILE_MODULES=ephy-window.c:ephy-autocompletion.c
+The special profiling module "all" enables all profiling modules.
+
+Use START_PROFILER STOP_PROFILER macros to profile pieces of code.
diff --git a/embed/ephy-embed-utils.c b/embed/ephy-embed-utils.c
index 69089daa4..373f4801f 100644
--- a/embed/ephy-embed-utils.c
+++ b/embed/ephy-embed-utils.c
@@ -21,6 +21,7 @@
#include "ephy-embed-shell.h"
#include "ephy-bonobo-extensions.h"
#include "ephy-gui.h"
+#include "ephy-debug.h"
#include <gtk/gtkdialog.h>
#include <gtk/gtkmessagedialog.h>
@@ -222,9 +223,9 @@ add_verbs (BonoboUIComponent *ui_component,
**/
void
ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component,
- const char *path,
- BonoboUIVerbFn fn,
- gpointer data)
+ const char *path,
+ BonoboUIVerbFn fn,
+ gpointer data)
{
GList *groups;
GString *xml_string;
@@ -232,13 +233,7 @@ ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component,
int group_index = 0;
int charset_index = 0;
-#ifdef DEBUG_MARCO
- GTimer *timer;
- gulong s;
-
- timer = g_timer_new ();
- g_timer_start(timer);
-#endif
+ START_PROFILER ("Charsets menu")
g_return_if_fail (IS_EPHY_EMBED_SHELL (embed_shell));
g_return_if_fail (ephy_embed_shell_get_charset_groups (embed_shell, &groups) == G_OK);
@@ -287,11 +282,7 @@ ephy_embed_utils_build_charsets_submenu (BonoboUIComponent *ui_component,
g_list_free (groups);
g_string_free (xml_string, TRUE);
-#ifdef DEBUG_MARCO
- g_timer_stop (timer);
- g_timer_elapsed (timer, &s);
- g_print ("Time to build charset menu: %f\n", (double)(s)/1000000);
-#endif
+ STOP_PROFILER ("Charsets menu")
}
/**
diff --git a/embed/ephy-favicon-cache.c b/embed/ephy-favicon-cache.c
index e833cf2c7..7d76e50fe 100644
--- a/embed/ephy-favicon-cache.c
+++ b/embed/ephy-favicon-cache.c
@@ -279,8 +279,10 @@ ephy_favicon_cache_init (EphyFaviconCache *cache)
g_str_equal);
cache->priv->icons_hash_lock = g_new0 (GStaticRWLock, 1);
g_static_rw_lock_init (cache->priv->icons_hash_lock);
- cache->priv->downloads_hash = g_hash_table_new (g_str_hash,
- g_str_equal);
+ cache->priv->downloads_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ NULL);
/* Icons */
cache->priv->icons = ephy_node_new_with_id (ICONS_NODE_ID);
diff --git a/embed/ephy-history.c b/embed/ephy-history.c
index 898f7034c..3df30b109 100644
--- a/embed/ephy-history.c
+++ b/embed/ephy-history.c
@@ -20,15 +20,13 @@
#include "ephy-history.h"
#include "ephy-file-helpers.h"
#include "ephy-autocompletion-source.h"
+#include "ephy-debug.h"
#include <time.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
#include <libgnomevfs/gnome-vfs-uri.h>
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
#define EPHY_HISTORY_XML_VERSION "0.1"
/* how often to save the history, in milliseconds */
@@ -272,7 +270,7 @@ ephy_history_save (EphyHistory *eb)
GPtrArray *children;
int i;
- DEBUG_MSG (("Saving history\n"));
+ LOG ("Saving history\n")
/* save nodes to xml */
xmlIndentTreeOutput = TRUE;
diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp
index 05408973f..49c1dbad0 100644
--- a/embed/mozilla/mozilla-embed.cpp
+++ b/embed/mozilla/mozilla-embed.cpp
@@ -20,12 +20,13 @@
#include "gtkmozembed_internal.h"
#include "ephy-string.h"
#include "ephy-embed.h"
+#include "ephy-debug.h"
#include "mozilla-embed.h"
#include "MozillaPrivate.h"
#include "EphyWrapper.h"
#include "EventContext.h"
-#include "nsIWindowWatcher.h"
+#include <nsIWindowWatcher.h>
#include <nsIURI.h>
#include <nsIURL.h>
#include <nsNetUtil.h>
@@ -418,9 +419,7 @@ mozilla_embed_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef DEBUG_MARCO
- g_print ("MozillaEmbed finalized %p\n", embed);
-#endif
+ LOG ("MozillaEmbed finalized %p\n", embed)
}
gpointer
diff --git a/lib/ephy-autocompletion.c b/lib/ephy-autocompletion.c
index 265590003..361b0ed2f 100644
--- a/lib/ephy-autocompletion.c
+++ b/lib/ephy-autocompletion.c
@@ -22,17 +22,7 @@
#include "ephy-autocompletion.h"
#include "ephy-gobject-misc.h"
#include "ephy-marshal.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-//#define DEBUG_TIME
-
-#ifdef DEBUG_TIME
-#include <glib/gtimer.h>
-#endif
+#include "ephy-debug.h"
/**
* Private data
@@ -181,18 +171,15 @@ static void
ephy_autocompletion_reset (EphyAutocompletion *ac)
{
EphyAutocompletionPrivate *p = ac->priv;
-#ifdef DEBUG_TIME
- GTimer *timer = g_timer_new ();
- g_timer_start (timer);
-#endif
+
+ START_PROFILER ("Resetting autocompletion")
+
acma_destroy (&p->matches);
g_free (p->common_prefix);
p->common_prefix = NULL;
p->status = GAS_NEEDS_FULL_UPDATE;
-#ifdef DEBUG_TIME
- DEBUG_MSG (("AC: %f elapsed resetting\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
+
+ STOP_PROFILER ("Resetting autocompletion")
}
EphyAutocompletion *
@@ -277,10 +264,9 @@ ephy_autocompletion_get_common_prefix (EphyAutocompletion *ac)
{
guint common_length = 0;
guint i;
-#ifdef DEBUG_TIME
- GTimer *timer = g_timer_new ();
- g_timer_start (timer);
-#endif
+
+ START_PROFILER ("Get Common Prefix")
+
for (i = 0; i < p->matches.num_matches; i++)
{
EphyAutocompletionMatch *mi = &p->matches.array[i];
@@ -307,10 +293,8 @@ ephy_autocompletion_get_common_prefix (EphyAutocompletion *ac)
p->common_prefix = g_strndup (realmatch, common_length);
}
}
-#ifdef DEBUG_TIME
- DEBUG_MSG (("AC: %f elapsed calculating common prefix\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
+
+ STOP_PROFILER ("Get Common Prefix")
}
return g_strdup (p->common_prefix);
}
@@ -354,14 +338,9 @@ ephy_autocompletion_refine_matches (EphyAutocompletion *ac)
guint i;
gchar *key0 = p->keys[0];
guint key0l = p->key_lengths[0];
-#ifdef DEBUG_TIME
- GTimer *timer = g_timer_new ();
-#endif
- DEBUG_MSG (("AC: refining\n"));
-
-#ifdef DEBUG_TIME
- g_timer_start (timer);
-#endif
+
+ START_PROFILER ("Refine matches")
+
acma_init (&newmatches);
p->changed = FALSE;
@@ -386,11 +365,7 @@ ephy_autocompletion_refine_matches (EphyAutocompletion *ac)
acma_destroy (&oldmatches);
p->matches = newmatches;
-#ifdef DEBUG_TIME
- DEBUG_MSG (("AC: %f elapsed refining\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
- DEBUG_MSG (("AC: %d matches\n", p->matches.num_matches));
+ STOP_PROFILER ("Refine matches")
}
static void
@@ -466,16 +441,9 @@ ephy_autocompletion_update_matches_full (EphyAutocompletion *ac)
{
EphyAutocompletionPrivate *p = ac->priv;
GSList *li;
-#ifdef DEBUG_TIME
- GTimer *timer = g_timer_new ();
-#endif
- DEBUG_MSG (("AC: fully updating\n"));
- ephy_autocompletion_reset (ac);
+ START_PROFILER ("Update full")
-#ifdef DEBUG_TIME
- g_timer_start (timer);
-#endif
for (li = p->sources; li; li = li->next)
{
EphyAutocompletionSource *s = EPHY_AUTOCOMPLETION_SOURCE (li->data);
@@ -485,15 +453,13 @@ ephy_autocompletion_update_matches_full (EphyAutocompletion *ac)
ephy_autocompletion_update_matches_full_item,
p);
}
-#ifdef DEBUG_TIME
- DEBUG_MSG (("AC: %f elapsed fully updating\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
+
+ STOP_PROFILER ("Update full")
p->sorted = FALSE;
p->changed = TRUE;
- DEBUG_MSG (("AC: %d matches, fully updated\n", p->matches.num_matches));
+ LOG ("AC: %d matches, fully updated", p->matches.num_matches);
}
static gint
@@ -521,9 +487,7 @@ static gboolean
ephy_autocompletion_sort_by_score (EphyAutocompletion *ac)
{
EphyAutocompletionPrivate *p = ac->priv;
-#ifdef DEBUG_TIME
- GTimer *timer;
-#endif
+
gint (*comparer) (EphyAutocompletionMatch *m1, EphyAutocompletionMatch *m2);
if (p->sort_alpha)
@@ -538,11 +502,8 @@ ephy_autocompletion_sort_by_score (EphyAutocompletion *ac)
ephy_autocompletion_update_matches (ac);
if (p->changed == FALSE) return FALSE;
- DEBUG_MSG (("AC: sorting\n"));
-#ifdef DEBUG_TIME
- timer = g_timer_new ();
- g_timer_start (timer);
-#endif
+ START_PROFILER ("Sorting")
+
if (p->matches.num_matches > 0)
{
qsort (p->matches.array, p->matches.num_matches,
@@ -552,10 +513,8 @@ ephy_autocompletion_sort_by_score (EphyAutocompletion *ac)
p->sorted = TRUE;
-#ifdef DEBUG_TIME
- DEBUG_MSG (("AC: %f elapsed sorting by score\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
+ STOP_PROFILER ("Sorting")
+
return TRUE;
}
@@ -563,7 +522,7 @@ static void
ephy_autocompletion_data_changed_cb (EphyAutocompletionSource *s,
EphyAutocompletion *ac)
{
- DEBUG_MSG (("AC: data changed, reseting\n"));
+ LOG ("Data changed, resetting");
ephy_autocompletion_reset (ac);
g_signal_emit (ac, EphyAutocompletionSignals[EPHY_AUTOCOMPLETION_SOURCES_CHANGED], 0);
@@ -663,5 +622,3 @@ acma_grow (ACMatchArray *a)
a->array_size = new_size;
a->array = new_array;
}
-
-
diff --git a/lib/ephy-debug.c b/lib/ephy-debug.c
index a97c081d2..4f9f74cdd 100644
--- a/lib/ephy-debug.c
+++ b/lib/ephy-debug.c
@@ -20,28 +20,170 @@
#include <string.h>
+#ifndef DISABLE_PROFILING
-static const char *ephy_debug_modules;
+static GHashTable *ephy_profilers_hash = NULL;
+static const char *ephy_profile_modules = NULL;
+
+#endif
+
+#ifndef DISABLE_LOGGING
+
+static const char *ephy_log_modules;
static void
-log_func (const gchar *log_domain,
- GLogLevelFlags log_level,
- const gchar *message,
- gpointer user_data)
+log_module (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data)
{
- if (!ephy_debug_modules) return;
+ gboolean should_log = FALSE;
+
+ if (!ephy_log_modules) return;
- if ((strcmp (ephy_debug_modules, "all") == 0) ||
- strstr (message, ephy_debug_modules) != NULL)
+ if (strcmp (ephy_log_modules, "all") != 0)
+ {
+ char **modules;
+ int i;
+
+ modules = g_strsplit (ephy_log_modules, ":", 100);
+
+ for (i = 0; modules[i] != NULL; i++)
+ {
+ if (strstr (message, modules [i]) != NULL)
+ {
+ should_log = TRUE;
+ break;
+ }
+ }
+
+ g_strfreev (modules);
+ }
+ else
+ {
+ should_log = TRUE;
+ }
+
+ if (should_log)
{
g_print ("%s\n", message);
}
}
+#endif
+
void
ephy_debug_init (void)
{
- ephy_debug_modules = g_getenv ("EPHY_DEBUG_MODULES");
+#ifndef DISABLE_LOGGING
+ ephy_log_modules = g_getenv ("EPHY_LOG_MODULES");
+
+ g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, log_module, NULL);
+#endif
+#ifndef DISABLE_PROFILING
+ ephy_profile_modules = g_getenv ("EPHY_PROFILE_MODULES");
+#endif
+}
+
+#ifndef DISABLE_PROFILING
+
+static EphyProfiler *
+ephy_profiler_new (const char *name, const char *module)
+{
+ EphyProfiler *profiler;
+
+ profiler = g_new0 (EphyProfiler, 1);
+ profiler->timer = g_timer_new ();
+ profiler->name = g_strdup (name);
+ profiler->module = g_strdup (module);
+
+ g_timer_start (profiler->timer);
+
+ return profiler;
+}
+
+static gboolean
+ephy_should_profile (const char *module)
+{
+ char **modules;
+ int i;
+ gboolean res = FALSE;
+
+ if (!ephy_profile_modules) return FALSE;
+ if (strcmp (ephy_profile_modules, "all") == 0) return TRUE;
+
+ modules = g_strsplit (ephy_profile_modules, ":", 100);
+
+ for (i = 0; modules[i] != NULL; i++)
+ {
+ if (strcmp (module, modules [i]) == 0)
+ {
+ res = TRUE;
+ break;
+ }
+ }
+
+ g_strfreev (modules);
- g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, log_func, NULL);
+ return res;
}
+
+static void
+ephy_profiler_dump (EphyProfiler *profiler)
+{
+ long elapsed;
+ double seconds;
+
+ g_return_if_fail (profiler != NULL);
+
+ seconds = g_timer_elapsed (profiler->timer, &elapsed);
+
+ g_print ("[ %s ] %s %ld ms (%f s) elapsed\n",
+ profiler->module, profiler->name,
+ elapsed / (G_USEC_PER_SEC / 1000), seconds);
+}
+
+static void
+ephy_profiler_free (EphyProfiler *profiler)
+{
+ g_return_if_fail (profiler != NULL);
+
+ g_timer_destroy (profiler->timer);
+ g_free (profiler->name);
+ g_free (profiler->module);
+ g_free (profiler);
+}
+
+void
+ephy_profiler_start (const char *name, const char *module)
+{
+ EphyProfiler *profiler;
+
+ if (ephy_profilers_hash == NULL)
+ {
+ ephy_profilers_hash =
+ g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL);
+ }
+
+ if (!ephy_should_profile (module)) return;
+
+ profiler = ephy_profiler_new (name, module);
+
+ g_hash_table_insert (ephy_profilers_hash, g_strdup (name), profiler);
+}
+
+void
+ephy_profiler_stop (const char *name)
+{
+ EphyProfiler *profiler;
+
+ profiler = g_hash_table_lookup (ephy_profilers_hash, name);
+ if (profiler == NULL) return;
+ g_hash_table_remove (ephy_profilers_hash, name);
+
+ ephy_profiler_dump (profiler);
+ ephy_profiler_free (profiler);
+}
+
+#endif
diff --git a/lib/ephy-debug.h b/lib/ephy-debug.h
index 4939bffef..934f2b658 100644
--- a/lib/ephy-debug.h
+++ b/lib/ephy-debug.h
@@ -19,21 +19,55 @@
#ifndef EPHY_DEBUG_H
#define EPHY_DEBUG_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <glib.h>
G_BEGIN_DECLS
+#ifndef GNOME_ENABLE_DEBUG
+#define DISABLE_LOGGING
+#define DISABLE_PROFILING
+#endif
+
#ifdef DISABLE_LOGGING
-#define LOG()
+#define LOG(msg, ...)
#else
-#define LOG(msg, args...) \
+#define LOG(msg, ...) \
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
"[ %s ] " msg, \
- __FILE__, \
- args);
+ __FILE__, ##__VA_ARGS__);
+#endif
+
+#ifdef DISABLE_PROFILING
+#define START_PROFILER(name)
+#define STOP_PROFILER(name)
+#else
+#define START_PROFILER(name) \
+ephy_profiler_start (name, __FILE__);
+#define STOP_PROFILER(name) \
+ephy_profiler_stop (name);
#endif
-void ephy_debug_init (void);
+typedef struct
+{
+ GTimer *timer;
+ char *name;
+ char *module;
+} EphyProfiler;
+
+void ephy_debug_init (void);
+
+#ifndef DISABLE_PROFILING
+
+void ephy_profiler_start (const char *name,
+ const char *module);
+
+void ephy_profiler_stop (const char *name);
+
+#endif
G_END_DECLS
diff --git a/lib/ephy-filesystem-autocompletion.c b/lib/ephy-filesystem-autocompletion.c
index 8b1cb84fb..b1f340a4c 100644
--- a/lib/ephy-filesystem-autocompletion.c
+++ b/lib/ephy-filesystem-autocompletion.c
@@ -23,15 +23,11 @@
#include "ephy-autocompletion-source.h"
#include "ephy-filesystem-autocompletion.h"
#include "ephy-gobject-misc.h"
-#include <string.h>
+#include "ephy-debug.h"
+#include <string.h>
#include <libgnomevfs/gnome-vfs-async-ops.h>
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
/**
* Private data
*/
@@ -104,7 +100,7 @@ ephy_filesystem_autocompletion_finalize_impl (GObject *o)
EphyFilesystemAutocompletion *as = GUL_FILESYSTEM_AUTOCOMPLETION (o);
EphyFilesystemAutocompletionPrivate *p = as->priv;
- DEBUG_MSG (("in ephy_filesystem_autocompletion_finalize_impl\n"));
+ LOG ("Finalize")
g_free (p->basic_key);
g_free (p->basic_key_dir);
@@ -193,7 +189,7 @@ gfa_load_directory_cb (GnomeVFSAsyncHandle *handle,
g_return_if_fail (p->load_handle == handle);
- DEBUG_MSG (("gfa_load_directory_cb, entries_read == %d\n", entries_read));
+ LOG ("entries_read == %d", entries_read)
if (entries_read <= 0)
{
@@ -221,7 +217,7 @@ gfa_load_directory_cb (GnomeVFSAsyncHandle *handle,
gchar *f = g_strconcat (cd, i->name, NULL);
p->files = g_slist_prepend (p->files, f);
- DEBUG_MSG (("+ %s\n", f));
+ LOG ("+ %s", f)
}
}
@@ -262,14 +258,14 @@ ephy_filesystem_autocompletion_set_current_dir (EphyFilesystemAutocompletion *fa
if (!cd_uri)
{
- DEBUG_MSG (("Can't load dir %s\n", d));
+ LOG ("Can't load dir %s", d)
return;
}
g_free (p->current_dir);
p->current_dir = gnome_vfs_uri_to_string (cd_uri, GNOME_VFS_URI_HIDE_NONE);
- DEBUG_MSG (("Loading dir: %s\n", p->current_dir));
+ LOG ("Loading dir: %s", p->current_dir)
gnome_vfs_async_load_directory_uri (&p->load_handle,
cd_uri,
@@ -336,7 +332,7 @@ ephy_filesystem_autocompletion_set_base_dir (EphyFilesystemAutocompletion *fa, c
if (p->base_dir_uri)
{
gchar *t = gnome_vfs_uri_to_string (p->base_dir_uri, GNOME_VFS_URI_HIDE_NONE);
- DEBUG_MSG (("base_dir: %s\n", t));
+ LOG ("base_dir: %s", t)
g_free (t);
}
}
diff --git a/lib/ephy-start-here.c b/lib/ephy-start-here.c
index 7363baeb2..030b5d5f6 100644
--- a/lib/ephy-start-here.c
+++ b/lib/ephy-start-here.c
@@ -23,9 +23,6 @@
#include "ephy-start-here.h"
#include "ephy-file-helpers.h"
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
struct EphyStartHerePrivate
{
const GList *langs;
diff --git a/lib/widgets/ephy-autocompletion-window.c b/lib/widgets/ephy-autocompletion-window.c
index a070c282a..a974a6570 100644
--- a/lib/widgets/ephy-autocompletion-window.c
+++ b/lib/widgets/ephy-autocompletion-window.c
@@ -33,6 +33,7 @@
#include "ephy-string.h"
#include "ephy-marshal.h"
#include "ephy-gui.h"
+#include "ephy-debug.h"
/* This is copied from gtkscrollbarwindow.c */
#define DEFAULT_SCROLLBAR_SPACING 3
@@ -44,15 +45,6 @@
#define MAX_VISIBLE_ROWS 9
#define MAX_COMPLETION_ALTERNATIVES 7
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-//#define DEBUG_TIME
-
-#ifdef DEBUG_TIME
-#include <glib/gtimer.h>
-#endif
-
/**
* Private data
*/
@@ -378,10 +370,9 @@ ephy_autocompletion_window_get_dimensions (EphyAutocompletionWindow *aw,
popup->vscrollbar->requisition.height);
row_height = list_requisition.height / MAX (aw->priv->view_nitems, 1);
- DEBUG_MSG (("Real list requisition %d, Items %d\n", list_requisition.height, aw->priv->view_nitems));
+ LOG ("Real list requisition %d, Items %d", list_requisition.height, aw->priv->view_nitems)
list_requisition.height = MIN (row_height * MAX_VISIBLE_ROWS, list_requisition.height);
- DEBUG_MSG (("Row Height %d, Fake list requisition %d\n",
- row_height, list_requisition.height));
+ LOG ("Row Height %d, Fake list requisition %d", row_height, list_requisition.height)
do
{
@@ -439,15 +430,8 @@ ephy_autocompletion_window_fill_store_chunk (EphyAutocompletionWindow *aw)
guint nmatches;
guint last;
guint completion_nitems = 0, action_nitems = 0, substring_nitems = 0;
-#ifdef DEBUG_TIME
- GTimer *timer;
-#endif
- DEBUG_MSG (("ACW: Filling the list from %d\n", last));
-#ifdef DEBUG_TIME
- timer = g_timer_new ();
- g_timer_start (timer);
-#endif
+ START_PROFILER ("Fill store")
nmatches = ephy_autocompletion_get_num_matches (p->autocompletion);
matches = ephy_autocompletion_get_matches_sorted_by_score (p->autocompletion,
@@ -510,10 +494,7 @@ ephy_autocompletion_window_fill_store_chunk (EphyAutocompletionWindow *aw)
p->last_added_match = last;
-#ifdef DEBUG_TIME
- DEBUG_MSG (("ACW: %f elapsed filling the gtkliststore\n", g_timer_elapsed (timer, NULL)));
- g_timer_destroy (timer);
-#endif
+ STOP_PROFILER ("Fill store")
}
void
@@ -522,10 +503,6 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw)
EphyAutocompletionWindowPrivate *p = aw->priv;
gint x, y, height, width;
guint nmatches;
-#ifdef DEBUG_TIME
- GTimer *timer1;
- GTimer *timer2;
-#endif
g_return_if_fail (p->window);
g_return_if_fail (p->autocompletion);
@@ -537,16 +514,7 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw)
return;
}
-#ifdef DEBUG_TIME
- DEBUG_MSG (("ACW: showing window.\n"));
- timer1 = g_timer_new ();
- g_timer_start (timer1);
-#endif
-
-#ifdef DEBUG_TIME
- timer2 = g_timer_new ();
- g_timer_start (timer2);
-#endif
+ START_PROFILER ("Showing window")
ephy_autocompletion_window_fill_store_chunk (aw);
@@ -561,24 +529,11 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw)
p->active_tree_view = p->tree_view;
}
-#ifdef DEBUG_TIME
- DEBUG_MSG (("ACW: %f elapsed creating liststore\n", g_timer_elapsed (timer2, NULL)));
-#endif
-
gtk_tree_view_set_model (p->tree_view, GTK_TREE_MODEL (p->list_store));
gtk_tree_view_set_model (p->action_tree_view, GTK_TREE_MODEL (p->action_list_store));
-#ifdef DEBUG_TIME
- g_timer_start (timer2);
-#endif
-
ephy_autocompletion_window_get_dimensions (aw, &x, &y, &width, &height);
-#ifdef DEBUG_TIME
- DEBUG_MSG (("ACW: %f elapsed calculating dimensions\n", g_timer_elapsed (timer2, NULL)));
- g_timer_destroy (timer2);
-#endif
-
gtk_widget_set_size_request (GTK_WIDGET (p->window), width,
height);
gtk_window_move (GTK_WINDOW (p->window), x, y);
@@ -613,10 +568,8 @@ ephy_autocompletion_window_show (EphyAutocompletionWindow *aw)
gtk_tree_view_scroll_to_point (GTK_TREE_VIEW (p->tree_view), 0, 0);
gtk_widget_grab_focus (GTK_WIDGET (p->tree_view));
-#ifdef DEBUG_TIME
- DEBUG_MSG (("ACW: %f elapsed showing window\n", g_timer_elapsed (timer1, NULL)));
- g_timer_destroy (timer1);
-#endif
+
+ STOP_PROFILER ("Showing window")
}
static gboolean
@@ -789,8 +742,6 @@ ephy_autocompletion_window_key_press_cb (GtkWidget *widget,
if (dest_widget != widget)
{
- //DEBUG_MSG (("Resending event\n"));
-
tmp_event = *event;
gtk_widget_event (dest_widget, (GdkEvent *)&tmp_event);
@@ -798,11 +749,6 @@ ephy_autocompletion_window_key_press_cb (GtkWidget *widget,
}
else
{
- if (widget == GTK_WIDGET (p->tree_view))
- {
- //DEBUG_MSG (("on the tree view "));
- }
- //DEBUG_MSG (("Ignoring event\n"));
return FALSE;
}
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index b0669f89f..d2702c6b4 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -22,6 +22,7 @@
#include "ephy-gobject-misc.h"
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
+#include "ephy-debug.h"
#include <gtk/gtkentry.h>
#include <gtk/gtkwindow.h>
@@ -30,11 +31,6 @@
#include <libgnomeui/gnome-entry.h>
#include <string.h>
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
/**
* Private data
*/
@@ -156,7 +152,7 @@ ephy_location_entry_finalize_impl (GObject *o)
g_object_unref (G_OBJECT (p->autocompletion_window));
}
- DEBUG_MSG (("EphyLocationEntry finalized\n"));
+ LOG ("EphyLocationEntry finalized")
g_free (p);
G_OBJECT_CLASS (gtk_hbox_class)->finalize (o);
@@ -238,7 +234,7 @@ ephy_location_entry_autocompletion_show_alternatives_to (EphyLocationEntry *w)
if (p->autocompletion)
{
- DEBUG_MSG (("+ephy_location_entry_autocompletion_show_alternatives_to\n"));
+ LOG ("Show alternatives")
ephy_location_entry_set_autocompletion_key (w);
ephy_location_entry_autocompletion_show_alternatives (w);
}
@@ -285,7 +281,7 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w)
gchar *text;
gchar *common_prefix;
- DEBUG_MSG (("in ephy_location_entry_autocompletion_to\n"));
+ LOG ("Autocompletion to")
ephy_location_entry_set_autocompletion_key (w);
@@ -301,8 +297,8 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w)
|| send != text_len)
{
/* the user is editing the entry, don't mess it */
- DEBUG_MSG (("The user seems editing the text: pos = %d, strlen (text) = %d, sstart = %d, send = %d\n",
- pos, strlen (text), sstart, send));
+ LOG ("The user seems editing the text: pos = %d, strlen (text) = %d, sstart = %d, send = %d",
+ pos, strlen (text), sstart, send)
p->autocompletion_timeout = 0;
return FALSE;
}
@@ -310,7 +306,7 @@ ephy_location_entry_autocompletion_to (EphyLocationEntry *w)
common_prefix = ephy_autocompletion_get_common_prefix (p->autocompletion);
- DEBUG_MSG (("common_prefix: %s\n", common_prefix));
+ LOG ("common_prefix: %s", common_prefix)
if (common_prefix && (!p->before_completion || p->before_completion[0] == '\0'))
{
@@ -503,7 +499,7 @@ ephy_location_entry_activate_cb (GtkEntry *entry, EphyLocationEntry *w)
ephy_location_entry_autocompletion_hide_alternatives (w);
- DEBUG_MSG (("In ephy_location_entry_activate_cb, activating %s\n", content));
+ LOG ("In ephy_location_entry_activate_cb, activating %s", content)
g_signal_emit (w, EphyLocationEntrySignals[ACTIVATED], 0, target, content);
g_free (content);
@@ -515,7 +511,7 @@ ephy_location_entry_autocompletion_sources_changed_cb (EphyAutocompletion *aw,
{
EphyLocationEntryPrivate *p = w->priv;
- DEBUG_MSG (("in ephy_location_entry_autocompletion_sources_changed_cb\n"));
+ LOG ("in ephy_location_entry_autocompletion_sources_changed_cb")
if (p->autocompletion_timeout == 0
&& p->last_completion
@@ -613,7 +609,7 @@ ephy_location_entry_autocompletion_window_url_activated_cb (EphyAutocompletionWi
content = gtk_editable_get_chars (GTK_EDITABLE(w->priv->entry), 0, -1);
- DEBUG_MSG (("In location_entry_autocompletion_window_url_activated_cb, going to %s\n", content));
+ LOG ("In location_entry_autocompletion_window_url_activated_cb, going to %s", content);
ephy_location_entry_autocompletion_hide_alternatives (w);
@@ -625,11 +621,11 @@ ephy_location_entry_autocompletion_window_url_activated_cb (EphyAutocompletionWi
static void
ephy_location_entry_autocompletion_window_hidden_cb (EphyAutocompletionWindow *aw,
- EphyLocationEntry *w)
+ EphyLocationEntry *w)
{
EphyLocationEntryPrivate *p = w->priv;
- DEBUG_MSG (("In location_entry_autocompletion_window_hidden_cb\n"));
+ LOG ("In location_entry_autocompletion_window_hidden_cb");
p->autocompletion_window_visible = FALSE;
diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c
index 66454d586..94a512fe6 100644
--- a/src/bookmarks/ephy-bookmarks-editor.c
+++ b/src/bookmarks/ephy-bookmarks-editor.c
@@ -32,9 +32,6 @@
#include "ephy-keywords-entry.h"
#include "ephy-dnd.h"
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
static void ephy_bookmarks_editor_class_init (EphyBookmarksEditorClass *klass);
static void ephy_bookmarks_editor_init (EphyBookmarksEditor *editor);
static void ephy_bookmarks_editor_finalize (GObject *object);
diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c
index bf77ed3f7..0f68d8858 100644
--- a/src/bookmarks/ephy-bookmarks.c
+++ b/src/bookmarks/ephy-bookmarks.c
@@ -20,13 +20,11 @@
#include "ephy-file-helpers.h"
#include "ephy-shell.h"
#include "ephy-history.h"
+#include "ephy-debug.h"
#include <string.h>
#include <libgnome/gnome-i18n.h>
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
#define EPHY_BOOKMARKS_XML_VERSION "0.1"
#define MAX_FAVORITES_NUM 10
@@ -194,10 +192,11 @@ ephy_bookmarks_clean_empty_keywords (EphyBookmarks *eb)
for (tmp = l; tmp != NULL; tmp = tmp->next)
{
- DEBUG_MSG (("Remove empty keyword: %s\n",
- ephy_node_get_property_string (kid,
- EPHY_NODE_KEYWORD_PROP_NAME)));
- g_object_unref (EPHY_NODE (tmp->data));
+ EphyNode *node = EPHY_NODE (tmp->data);
+ LOG ("Remove empty keyword: %s",
+ ephy_node_get_property_string (node,
+ EPHY_NODE_KEYWORD_PROP_NAME))
+ g_object_unref (node);
}
g_list_free (l);
@@ -241,7 +240,7 @@ ephy_bookmarks_save (EphyBookmarks *eb)
GPtrArray *children;
int i;
- DEBUG_MSG (("Saving bookmarks\n"));
+ LOG ("Saving bookmarks")
/* save nodes to xml */
xmlIndentTreeOutput = TRUE;
@@ -853,7 +852,7 @@ ephy_bookmarks_find_keyword (EphyBookmarks *eb,
if (g_utf8_strlen (name, -1) == 0)
{
- DEBUG_MSG (("Empty name, no keyword matches.\n"));
+ LOG ("Empty name, no keyword matches.")
return NULL;
}
@@ -905,7 +904,7 @@ diff_keywords (char **ks1, char **ks2)
{
gboolean found = FALSE;
- DEBUG_MSG (("Diff keywords, keyword:\"%s\"\n", ks1[i]));
+ LOG ("Diff keywords, keyword:\"%s\"", ks1[i])
for (j = 0; ks2 != NULL && ks2[j] != NULL; j++)
{
diff --git a/src/bookmarks/ephy-keywords-entry.c b/src/bookmarks/ephy-keywords-entry.c
index 94d6c93a9..0894bfcae 100644
--- a/src/bookmarks/ephy-keywords-entry.c
+++ b/src/bookmarks/ephy-keywords-entry.c
@@ -19,14 +19,10 @@
#include "ephy-keywords-entry.h"
#include "ephy-marshal.h"
#include "ephy-gobject-misc.h"
+#include "ephy-debug.h"
#include <gdk/gdkkeysyms.h>
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
/**
* Private data
*/
@@ -99,7 +95,7 @@ try_to_expand_keyword (GtkEditable *editable)
entry_text = gtk_editable_get_chars (editable, 0, -1);
g_return_if_fail (entry_text != NULL);
- DEBUG_MSG (("Entry text \"%s\"\n", entry_text));
+ LOG ("Entry text \"%s\"", entry_text)
user_text = g_utf8_strrchr (entry_text, -1, ' ');
@@ -114,7 +110,7 @@ try_to_expand_keyword (GtkEditable *editable)
user_text = entry_text;
}
- DEBUG_MSG (("User text \"%s\"\n", user_text));
+ LOG ("User text \"%s\"", user_text)
node = ephy_bookmarks_find_keyword (entry->priv->bookmarks,
user_text, TRUE);
@@ -123,7 +119,7 @@ try_to_expand_keyword (GtkEditable *editable)
expand_text = ephy_node_get_property_string
(node, EPHY_NODE_KEYWORD_PROP_NAME);
- DEBUG_MSG (("Expand text %s\n", expand_text));
+ LOG ("Expand text %s", expand_text)
expand_text_length = g_utf8_strlen (expand_text, -1);
user_text_length = g_utf8_strlen (user_text, -1);
@@ -137,7 +133,7 @@ try_to_expand_keyword (GtkEditable *editable)
}
else
{
- DEBUG_MSG (("No expansion.\n"));
+ LOG ("No expansion.")
}
g_free (entry_text);
diff --git a/src/bookmarks/ephy-new-bookmark.c b/src/bookmarks/ephy-new-bookmark.c
index e5d9c496d..dbda8b11b 100644
--- a/src/bookmarks/ephy-new-bookmark.c
+++ b/src/bookmarks/ephy-new-bookmark.c
@@ -28,9 +28,7 @@
#include "ephy-new-bookmark.h"
#include "ephy-keywords-entry.h"
-
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
+#include "ephy-debug.h"
static void ephy_new_bookmark_class_init (EphyNewBookmarkClass *klass);
static void ephy_new_bookmark_init (EphyNewBookmark *editor);
@@ -332,7 +330,7 @@ void
ephy_new_bookmark_set_title (EphyNewBookmark *bookmark,
const char *title)
{
- DEBUG_MSG (("Setting new bookmark title to: \"%s\"", title));
+ LOG ("Setting new bookmark title to: \"%s\"", title)
gtk_entry_set_text (GTK_ENTRY (bookmark->priv->title_entry),
g_strdup (title));
}
diff --git a/src/ephy-favorites-menu.c b/src/ephy-favorites-menu.c
index d8f44f852..b463663c2 100644
--- a/src/ephy-favorites-menu.c
+++ b/src/ephy-favorites-menu.c
@@ -26,15 +26,12 @@
#include "ephy-bonobo-extensions.h"
#include "ephy-marshal.h"
#include "ephy-shell.h"
+#include "ephy-debug.h"
#include <string.h>
#include <stdlib.h>
#include <libxml/entities.h>
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
#define MAX_LABEL_LENGTH 30
/**
@@ -213,7 +210,7 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *wrhm)
ephy_bonobo_clear_path (uic, p->path);
- DEBUG_MSG (("Rebuilding recent history menu\n"));
+ LOG ("Rebuilding recent history menu")
fav = ephy_bookmarks_get_favorites (p->bookmarks);
children = ephy_node_get_children (fav);
@@ -260,7 +257,7 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *wrhm)
ephy_node_thaw (fav);
g_string_append (xml, "</placeholder>\n");
- DEBUG_MSG (("\n%s\n", xml->str));
+
if (children->len > 0)
{
bonobo_ui_component_set (uic, p->path,
diff --git a/src/ephy-nautilus-view.c b/src/ephy-nautilus-view.c
index c485721a5..04916c37a 100644
--- a/src/ephy-nautilus-view.c
+++ b/src/ephy-nautilus-view.c
@@ -30,10 +30,7 @@
#include "print-dialog.h"
#include "ephy-prefs.h"
#include "eel-gconf-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-#define DEBUG_MSG(x) g_print x
-//#define DEBUG_MSG(x)
+#include "ephy-debug.h"
static void gnv_embed_location_cb (EphyEmbed *embed,
EphyNautilusView *view);
@@ -566,7 +563,7 @@ gnv_cmd_set_charset (BonoboUIComponent *uic,
p = view->priv;
- DEBUG_MSG ((data->encoding));
+ LOG ("Set charset %s", data->encoding)
ephy_embed_set_charset (p->embed, data->encoding);
}
@@ -783,13 +780,13 @@ vfs_open_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer data)
{
EphyNautilusView *view = data;
- DEBUG_MSG (("+%s GnomeVFSResult: %u\n", G_GNUC_FUNCTION, (unsigned)result));
+ LOG ("+%s GnomeVFSResult: %u", G_GNUC_FUNCTION, (unsigned)result)
if (result != GNOME_VFS_OK)
{
gtk_moz_embed_close_stream (GTK_MOZ_EMBED (view->priv->embed->mozembed));
/* NOTE: the view may go away after a call to report_load_failed */
- DEBUG_MSG ((">nautilus_view_report_load_failed\n"));
+ LOG (">nautilus_view_report_load_failed")
nautilus_view_report_load_failed (view->priv->nautilus_view);
} else {
if (view->priv->vfs_read_buffer == NULL) {
@@ -798,7 +795,7 @@ vfs_open_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer data)
gtk_moz_embed_open_stream (GTK_MOZ_EMBED (view->priv->embed->mozembed), "file:///", "text/html");
gnome_vfs_async_read (handle, view->priv->vfs_read_buffer, VFS_READ_BUFFER_SIZE, vfs_read_cb, view);
}
- DEBUG_MSG (("-%s\n", G_GNUC_FUNCTION));
+ LOG ("-%s", G_GNUC_FUNCTION);
}
/**
@@ -815,7 +812,7 @@ vfs_read_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer buffer
{
EphyNautilusView *view = data;
- DEBUG_MSG (("+%s %ld/%ld bytes\n", G_GNUC_FUNCTION, (long)bytes_requested, (long) bytes_read));
+ LOG ("+%s %ld/%ld bytes", G_GNUC_FUNCTION, (long)bytes_requested, (long) bytes_read)
if (bytes_read != 0) {
gtk_moz_embed_append_data (GTK_MOZ_EMBED (view->priv->embed->mozembed), buffer, bytes_read);
@@ -829,15 +826,15 @@ vfs_read_cb (GnomeVFSAsyncHandle *handle, GnomeVFSResult result, gpointer buffer
gnome_vfs_async_close (handle, (GnomeVFSAsyncCloseCallback) gtk_true, NULL);
- DEBUG_MSG ((">nautilus_view_report_load_complete\n"));
+ LOG (">nautilus_view_report_load_complete")
nautilus_view_report_load_complete (view->priv->nautilus_view);
- DEBUG_MSG (("=%s load complete\n", G_GNUC_FUNCTION));
+ LOG ("=%s load complete", G_GNUC_FUNCTION)
} else {
gnome_vfs_async_read (handle, view->priv->vfs_read_buffer, VFS_READ_BUFFER_SIZE, vfs_read_cb, view);
}
- DEBUG_MSG (("-%s\n", G_GNUC_FUNCTION));
+ LOG ("-%s", G_GNUC_FUNCTION)
}
/***********************************************************************************/
@@ -875,7 +872,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view,
* premature realization may cause other issues)
*/
- DEBUG_MSG (("=%s: Postponing navigation request to widget realization\n", G_GNUC_FUNCTION));
+ LOG ("=%s: Postponing navigation request to widget realization", G_GNUC_FUNCTION)
/* Note that view->priv->uri is still set below */
} else {
if (should_mozilla_load_uri_directly (uri)) {
@@ -891,7 +888,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view,
old_uri = view->priv->embed->location;
if (old_uri != NULL && uris_identical (uri, old_uri)) {
- DEBUG_MSG (("=%s uri's identical, telling ephy to reload\n", G_GNUC_FUNCTION));
+ LOG ("=%s uri's identical, telling ephy to reload", G_GNUC_FUNCTION)
embed_reload (view->priv->embed,
GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE);
} else {
@@ -899,7 +896,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view,
}
} else {
- DEBUG_MSG (("=%s loading URI via gnome-vfs\n", G_GNUC_FUNCTION));
+ LOG ("=%s loading URI via gnome-vfs", G_GNUC_FUNCTION)
gnome_vfs_async_open (&(view->priv->vfs_handle), uri,
GNOME_VFS_OPEN_READ, GNOME_VFS_PRIORITY_DEFAULT,
vfs_open_cb, view);
@@ -909,7 +906,7 @@ navigate_mozilla_to_nautilus_uri (EphyNautilusView *view,
g_free (view->priv->uri);
view->priv->uri = g_strdup (uri);
- DEBUG_MSG (("=%s current URI is now '%s'\n", G_GNUC_FUNCTION, view->priv->uri));
+ LOG ("=%s current URI is now '%s'", G_GNUC_FUNCTION, view->priv->uri)
}
/*
diff --git a/src/ephy-navigation-button.c b/src/ephy-navigation-button.c
index f57de2690..a10b3a942 100644
--- a/src/ephy-navigation-button.c
+++ b/src/ephy-navigation-button.c
@@ -20,19 +20,17 @@
#include "config.h"
#endif
-#include <libgnome/gnome-i18n.h>
#include "ephy-gobject-misc.h"
#include "ephy-marshal.h"
#include "ephy-tb-button.h"
#include "ephy-gui.h"
#include "ephy-string.h"
#include "ephy-navigation-button.h"
+#include "ephy-debug.h"
+
#include <gtk/gtkstock.h>
#include <string.h>
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
+#include <libgnome/gnome-i18n.h>
/**
* Private data
@@ -124,7 +122,7 @@ ephy_navigation_button_finalize_impl (GObject *o)
g_free (p);
- DEBUG_MSG (("EphyNavigationButton finalized\n"));
+ LOG ("EphyNavigationButton finalized")
G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
}
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index e10af0ee2..86543d082 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -257,15 +257,11 @@ ephy_shell_finalize (GObject *object)
ephy_file_helpers_shutdown ();
ephy_node_system_shutdown ();
-#ifdef DEBUG_MARCO
- g_print ("Ephy shell finalized\n");
-#endif
+ LOG ("Ephy shell finalized")
bonobo_main_quit ();
-#ifdef DEBUG_MARCO
- g_print ("Bonobo quit done\n");
-#endif
+ LOG ("Bonobo quit done")
}
EphyShell *
diff --git a/src/ephy-tab.c b/src/ephy-tab.c
index 6430f025a..6a0201d30 100644
--- a/src/ephy-tab.c
+++ b/src/ephy-tab.c
@@ -20,17 +20,13 @@
#include "config.h"
#endif
-#define DEBUG_MSG(x) g_print x
-//#define DEBUG_MSG(x)
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
#include "ephy-tab.h"
#include "ephy-shell.h"
#include "ephy-embed-popup-bw.h"
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
#include "ephy-embed-prefs.h"
+#include "ephy-debug.h"
#include <bonobo/bonobo-i18n.h>
#include <libgnomevfs/gnome-vfs-uri.h>
@@ -182,9 +178,7 @@ ephy_tab_parent_set_cb (GtkWidget *widget, GtkWidget *previous_parent,
static void
ephy_tab_embed_destroy_cb (GtkWidget *widget, EphyTab *tab)
{
-#ifdef DEBUG_MARCO
- g_print ("GtkMozEmbed destroy signal on EphyTab\n");
-#endif
+ LOG ("GtkMozEmbed destroy signal on EphyTab")
g_object_unref (tab);
}
@@ -290,9 +284,7 @@ ephy_tab_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef DEBUG_MARCO
- g_print ("EphyTab finalized %p\n", tab);
-#endif
+ LOG ("EphyTab finalized %p", tab)
}
/* Public functions */
diff --git a/src/ephy-tbi.c b/src/ephy-tbi.c
index 0c6e04f9b..4a8993c46 100644
--- a/src/ephy-tbi.c
+++ b/src/ephy-tbi.c
@@ -20,16 +20,14 @@
#include "config.h"
#endif
-#include <libgnome/gnome-i18n.h>
#include "ephy-gobject-misc.h"
#include "ephy-marshal.h"
#include "ephy-bonobo-extensions.h"
#include "ephy-tbi.h"
-#include <string.h>
+#include "ephy-debug.h"
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
+#include <string.h>
+#include <libgnome/gnome-i18n.h>
/**
* Private data
@@ -100,7 +98,7 @@ ephy_tbi_finalize_impl (GObject *o)
(gpointer *) &it->window);
}
- DEBUG_MSG (("EphyTbi finalized\n"));
+ LOG ("EphyTbi finalized")
G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
}
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 9f751ea8b..4fd766faa 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -36,6 +36,7 @@
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
#include "ephy-embed-utils.h"
+#include "ephy-debug.h"
#include <string.h>
#include <bonobo/bonobo-window.h>
@@ -595,9 +596,7 @@ ephy_window_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef DEBUG_MARCO
- g_print ("Ephy Window finalized %p\n", window);
-#endif
+ LOG ("Ephy Window finalized %p", window)
g_object_unref (ephy_shell);
}
diff --git a/src/toolbar.c b/src/toolbar.c
index 695f657da..27c2606f2 100755
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -17,10 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-
#include "toolbar.h"
#include "ephy-spinner.h"
#include "ephy-window.h"
@@ -35,6 +31,7 @@
#include "ephy-prefs.h"
#include "eel-gconf-extensions.h"
#include "ephy-navigation-button.h"
+#include "ephy-debug.h"
#include <string.h>
#include <bonobo/bonobo-i18n.h>
@@ -362,7 +359,7 @@ toolbar_get_widgets (Toolbar *t)
const gchar *nav_buttons_ids[] = {"back", "back_menu", "up", "up_menu", "forward", "forward_menu" };
guint i;
- DEBUG_MSG (("in toolbar_get_widgets\n"));
+ LOG ("in toolbar_get_widgets");
g_return_if_fail (IS_TOOLBAR (t));
p = t->priv;
@@ -417,7 +414,7 @@ toolbar_get_widgets (Toolbar *t)
{
if (EPHY_IS_NAVIGATION_BUTTON (it))
{
- DEBUG_MSG ((" got a navigation button\n"));
+ LOG ("got a navigation button")
p->navigation_buttons = g_slist_prepend (p->navigation_buttons, g_object_ref (it));
if (p->window)
{
@@ -439,7 +436,7 @@ toolbar_get_widgets (Toolbar *t)
g_object_ref (p->location_entry);
toolbar_setup_location_entry (t, p->location_entry);
- DEBUG_MSG ((" got a location entry\n"));
+ LOG ("got a location entry")
}
it = ephy_toolbar_get_item_by_id (gt, "favicon");
@@ -449,7 +446,7 @@ toolbar_get_widgets (Toolbar *t)
g_object_ref (p->favicon_ebox);
toolbar_setup_favicon_ebox (t, p->favicon_ebox);
- DEBUG_MSG ((" got a favicon ebox\n"));
+ LOG ("got a favicon ebox")
}
it = ephy_toolbar_get_item_by_id (gt, "spinner");
@@ -459,7 +456,7 @@ toolbar_get_widgets (Toolbar *t)
g_object_ref (p->spinner);
toolbar_setup_spinner (t, p->spinner);
- DEBUG_MSG ((" got a spinner\n"));
+ LOG ("got a spinner")
}
it = ephy_toolbar_get_item_by_id (gt, "zoom");
@@ -469,7 +466,7 @@ toolbar_get_widgets (Toolbar *t)
g_object_ref (p->zoom_spinbutton);
toolbar_setup_zoom_spinbutton (t, p->zoom_spinbutton);
- DEBUG_MSG ((" got a zoom control\n"));
+ LOG ("got a zoom control")
}
/* update the controls */