summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-08-04 00:36:14 +0100
committerVincent Sanders <vince@kyllikki.org>2014-08-04 00:37:21 +0100
commitaf16c38d2dbe2decfc45015bd4ee020cb52c608b (patch)
treede33b2d3448dd65272c6df813dfb217d5f963d27 /gtk
parentc4d1ece421b3c7fb5f0b13c042d124671734afe2 (diff)
downloadnetsurf-af16c38d2dbe2decfc45015bd4ee020cb52c608b.tar.gz
netsurf-af16c38d2dbe2decfc45015bd4ee020cb52c608b.tar.bz2
fix DOM tree dump debug
Diffstat (limited to 'gtk')
-rw-r--r--gtk/scaffolding.c61
-rw-r--r--gtk/viewdata.c2
2 files changed, 23 insertions, 40 deletions
diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c
index aed323e45..03a14e5dc 100644
--- a/gtk/scaffolding.c
+++ b/gtk/scaffolding.c
@@ -1318,7 +1318,7 @@ MULTIHANDLER(debugboxtree)
bw = nsgtk_get_browser_window(g->top_level);
- browser_window_debug_dump(bw, f);
+ browser_window_debug_dump(bw, f, CONTENT_DEBUG_RENDER);
fclose(f);
@@ -1331,50 +1331,35 @@ MULTIHANDLER(debugboxtree)
MULTIHANDLER(debugdomtree)
{
- GtkWidget *save_dialog;
-
- save_dialog = gtk_file_chooser_dialog_new("Save File", g->window,
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
+ gchar *fname;
+ gint handle;
+ FILE *f;
+ struct browser_window *bw;
- gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(save_dialog),
- getenv("HOME") ? getenv("HOME") : "/");
+ handle = g_file_open_tmp("nsgtkdomtreeXXXXXX", &fname, NULL);
+ if ((handle == -1) || (fname == NULL)) {
+ return TRUE;
+ }
+ close(handle); /* in case it was binary mode */
- gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(save_dialog),
- "domtree.txt");
+ /* save data to temporary file */
+ f = fopen(fname, "w");
+ if (f == NULL) {
+ warn_user("Error saving box tree dump.",
+ "Unable to open file for writing.");
+ unlink(fname);
+ return TRUE;
+ }
- if (gtk_dialog_run(GTK_DIALOG(save_dialog)) == GTK_RESPONSE_ACCEPT) {
- gchar *filename = gtk_file_chooser_get_filename(
- GTK_FILE_CHOOSER(save_dialog));
- FILE *fh;
- LOG(("Saving dom tree to %s...\n", filename));
+ bw = nsgtk_get_browser_window(g->top_level);
- fh = fopen((const char *) filename, "w");
- if (fh == NULL) {
- warn_user("Error saving box tree dump.",
- "Unable to open file for writing.");
- } else {
- struct browser_window *bw;
- bw = nsgtk_get_browser_window(g->top_level);
-
- if (bw->current_content &&
- content_get_type(bw->current_content) ==
- CONTENT_HTML) {
-#ifdef FIXME
- xmlDebugDumpDocument(fh,
- html_get_document(bw->current_content));
-#endif
- }
+ browser_window_debug_dump(bw, f, CONTENT_DEBUG_DOM);
- fclose(fh);
- }
+ fclose(f);
- g_free(filename);
- }
+ nsgtk_viewfile("DOM Tree Debug", "domtree", fname);
- gtk_widget_destroy(save_dialog);
+ g_free(fname);
return TRUE;
}
diff --git a/gtk/viewdata.c b/gtk/viewdata.c
index 1eb78ccf1..6989b9a16 100644
--- a/gtk/viewdata.c
+++ b/gtk/viewdata.c
@@ -483,8 +483,6 @@ window_init_fname(const char *title,
ret = window_init(title, leafname, ndata, ndata_len);
- free(ndata);
-
return ret;
}