summaryrefslogtreecommitdiff
path: root/frontends/monkey/browser.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-05-06 10:04:48 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-05-06 10:04:48 +0100
commit2b8531ff490a8f262a4f416e8568fdd9dabb5bfd (patch)
treec98fb392ec605e4e5740885486e978b697a67216 /frontends/monkey/browser.c
parent0312c45d6f616fdfb6cddabb0689f60a06f86df3 (diff)
downloadnetsurf-2b8531ff490a8f262a4f416e8568fdd9dabb5bfd.tar.gz
netsurf-2b8531ff490a8f262a4f416e8568fdd9dabb5bfd.tar.bz2
Monkey: Support console_log
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'frontends/monkey/browser.c')
-rw-r--r--frontends/monkey/browser.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/frontends/monkey/browser.c b/frontends/monkey/browser.c
index 50b586fd0..903c4538f 100644
--- a/frontends/monkey/browser.c
+++ b/frontends/monkey/browser.c
@@ -350,7 +350,56 @@ gui_window_save_link(struct gui_window *g, nsurl *url, const char *title)
return NSERROR_OK;
}
+static void
+gui_window_console_log(struct gui_window *g,
+ browser_window_console_source src,
+ const char *msg,
+ size_t msglen,
+ browser_window_console_flags flags)
+{
+ bool foldable = !!(flags & BW_CS_FLAG_FOLDABLE);
+ const char *src_text;
+ const char *level_text;
+ switch (src) {
+ case BW_CS_INPUT:
+ src_text = "client-input";
+ break;
+ case BW_CS_SCRIPT_ERROR:
+ src_text = "scripting-error";
+ break;
+ case BW_CS_SCRIPT_CONSOLE:
+ src_text = "scripting-console";
+ break;
+ default:
+ assert(0 && "Unknown scripting source");
+ src_text = "unknown";
+ break;
+ }
+
+ switch (flags & BW_CS_FLAG_LEVEL_MASK) {
+ case BW_CS_FLAG_LEVEL_LOG:
+ level_text = "LOG";
+ break;
+ case BW_CS_FLAG_LEVEL_INFO:
+ level_text = "INFO";
+ break;
+ case BW_CS_FLAG_LEVEL_WARN:
+ level_text = "WARN";
+ break;
+ case BW_CS_FLAG_LEVEL_ERROR:
+ level_text = "ERROR";
+ break;
+ default:
+ assert(0 && "Unknown console logging level");
+ level_text = "unknown";
+ break;
+ }
+
+ moutf(MOUT_WINDOW, "CONSOLE_LOG WIN %u SOURCE %s %sFOLDABLE %s %.*s",
+ g->win_num, src_text, foldable ? "" : "NOT-", level_text,
+ (int)msglen, msg);
+}
/**** Handlers ****/
@@ -580,6 +629,8 @@ static struct gui_window_table window_table = {
.new_content = gui_window_new_content,
.start_throbber = gui_window_start_throbber,
.stop_throbber = gui_window_stop_throbber,
+
+ .console_log = gui_window_console_log,
};
struct gui_window_table *monkey_window_table = &window_table;