diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-08-04 00:36:14 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-08-04 00:37:21 +0100 |
commit | af16c38d2dbe2decfc45015bd4ee020cb52c608b (patch) | |
tree | de33b2d3448dd65272c6df813dfb217d5f963d27 /gtk | |
parent | c4d1ece421b3c7fb5f0b13c042d124671734afe2 (diff) | |
download | netsurf-af16c38d2dbe2decfc45015bd4ee020cb52c608b.tar.gz netsurf-af16c38d2dbe2decfc45015bd4ee020cb52c608b.tar.bz2 |
fix DOM tree dump debug
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/scaffolding.c | 61 | ||||
-rw-r--r-- | gtk/viewdata.c | 2 |
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; } |