diff options
author | Vincent Sanders <vince@kyllikki.org> | 2016-06-07 16:01:04 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2016-06-07 16:01:04 +0100 |
commit | 042fcb82b83d19bf08afd3367235ac71a60b3850 (patch) | |
tree | 47fe3c15f160b3fac7b0e8ab4f47b495901e0557 /javascript/duktape/Console.bnd | |
parent | 9754539e2275e33af34b5de9d343b85e8122d871 (diff) | |
download | netsurf-042fcb82b83d19bf08afd3367235ac71a60b3850.tar.gz netsurf-042fcb82b83d19bf08afd3367235ac71a60b3850.tar.bz2 |
Move javascript content handler as appropriate for updated source format
Diffstat (limited to 'javascript/duktape/Console.bnd')
-rw-r--r-- | javascript/duktape/Console.bnd | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/javascript/duktape/Console.bnd b/javascript/duktape/Console.bnd deleted file mode 100644 index 734f0035a..000000000 --- a/javascript/duktape/Console.bnd +++ /dev/null @@ -1,177 +0,0 @@ -/* Console binding for browser using duktape and libdom - * - * Copyright 2015 Vincent Sanders <vince@netsurf-browser.org> - * Copyright 2015 Daniel Silverstone <dsilvers@netsurf-browser.org> - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * Released under the terms of the MIT License, - * http://www.opensource.org/licenses/mit-license - */ - -class Console { - private unsigned int group; - prologue %{ -#include <nsutils/time.h> - -#define CONSOLE_TIMERS MAGIC(ConsoleTimers) - -static void -write_log_entry(duk_context *ctx, unsigned int group, char logtype) -{ - /* objs... */ - for (int i = 0; i < duk_get_top(ctx); ++i) { - (void)duk_safe_to_string(ctx, i); - } - /* strs... */ - duk_push_sprintf(ctx, "%c: ", logtype); - duk_insert(ctx, 0); - /* pfx strs... */ - for (unsigned int u = 0; u < group; ++u) { - duk_push_lstring(ctx, " ", 1); - duk_insert(ctx, 0); - } - /* spcs... pfx strs... */ - duk_concat(ctx, duk_get_top(ctx)); - /* str */ - LOG("%s", duk_safe_to_string(ctx, 0)); -} - -%}; -}; - -init Console () -%{ - priv->group = 0; - duk_push_object(ctx); - duk_put_prop_string(ctx, 0, CONSOLE_TIMERS); -%} - -method Console::group () -%{ - priv->group ++; - return 0; -%} - -method Console::groupCollapsed () -%{ - priv->group ++; - return 0; -%} - -method Console::groupEnd () -%{ - if (priv->group) - priv->group --; - return 0; -%} - -method Console::info() -%{ - write_log_entry(ctx, priv->group, 'I'); - return 0; -%} - -method Console::debug() -%{ - write_log_entry(ctx, priv->group, 'D'); - return 0; -%} - -method Console::error() -%{ - write_log_entry(ctx, priv->group, 'E'); - return 0; -%} - -method Console::log() -%{ - write_log_entry(ctx, priv->group, 'L'); - return 0; -%} - -method Console::warn() -%{ - write_log_entry(ctx, priv->group, 'W'); - return 0; -%} - -method Console::dir() -%{ - write_log_entry(ctx, priv->group, 'd'); - return 0; -%} - -method Console::time() -%{ - uint64_t time_ms = 0; - - if (nsu_getmonotonic_ms(&time_ms) != NSUERROR_OK) - return 0; - - if (!duk_is_string(ctx, 0)) { - duk_error(ctx, DUK_ERR_ERROR, "Console.time() takes a string"); - } - - duk_set_top(ctx, 1); - - duk_push_uint(ctx, (duk_uint_t)time_ms); - - duk_push_this(ctx); - duk_get_prop_string(ctx, -1, CONSOLE_TIMERS); - duk_insert(ctx, 0); - duk_pop(ctx); - - duk_put_prop(ctx, 0); - - return 0; -%} - -method Console::timeEnd() -%{ - uint64_t time_ms = 0; - uint64_t old_time_ms = 0; - - if (nsu_getmonotonic_ms(&time_ms) != NSUERROR_OK) - return 0; - - if (!duk_is_string(ctx, 0)) { - duk_error(ctx, DUK_ERR_ERROR, "Console.time() takes a string"); - } - - duk_set_top(ctx, 1); - - duk_push_this(ctx); - duk_get_prop_string(ctx, -1, CONSOLE_TIMERS); - duk_insert(ctx, 0); - duk_pop(ctx); - - duk_dup(ctx, -1); - duk_get_prop(ctx, 0); - if (duk_is_undefined(ctx, -1)) { - duk_pop(ctx); - duk_push_uint(ctx, (duk_uint_t)time_ms); - } - /* timers timername oldval */ - old_time_ms = duk_to_uint32(ctx, -1); - duk_pop(ctx); - duk_dup(ctx, -1); - duk_insert(ctx, 0); - duk_del_prop(ctx, 0); - duk_push_string(ctx, "Timer elapsed: "); - duk_insert(ctx, 0); - duk_push_sprintf(ctx, "%lu ms", (duk_uint_t)(time_ms - old_time_ms)); - write_log_entry(ctx, priv->group, 'T'); - return 0; -%} - -method Console::trace () -%{ - duk_idx_t i = duk_push_error_object(ctx, DUK_ERR_ERROR, "Dummy Error"); - duk_get_prop_string(ctx, i, "stack"); - duk_safe_to_string(ctx, -1); - duk_insert(ctx, 0); - duk_set_top(ctx, 1); - write_log_entry(ctx, priv->group, 'S'); - return 0; -%} |