From 042fcb82b83d19bf08afd3367235ac71a60b3850 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 7 Jun 2016 16:01:04 +0100 Subject: Move javascript content handler as appropriate for updated source format --- javascript/duktape/Window.bnd | 146 ------------------------------------------ 1 file changed, 146 deletions(-) delete mode 100644 javascript/duktape/Window.bnd (limited to 'javascript/duktape/Window.bnd') diff --git a/javascript/duktape/Window.bnd b/javascript/duktape/Window.bnd deleted file mode 100644 index 489587899..000000000 --- a/javascript/duktape/Window.bnd +++ /dev/null @@ -1,146 +0,0 @@ -/* Window binding for browser using duktape and libdom - * - * Copyright 2015 Vincent Sanders - * - * 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 Window { - private struct browser_window * win; - private struct html_content * htmlc; - prologue %{ -#include "utils/nsurl.h" -#include "netsurf/browser_window.h" -#include "content/hlcache.h" -#include "render/html.h" -#include "render/html_internal.h" -%}; -}; - -init Window(struct browser_window *win, struct html_content *htmlc) -%{ - /* element window */ - priv->win = win; - priv->htmlc = htmlc; - LOG("win=%p htmlc=%p", priv->win, priv->htmlc); - - LOG("URL is %s", nsurl_access(browser_window_get_url(priv->win))); -%} - -prototype Window() -%{ -#define EXPOSE(v) \ - duk_get_global_string(ctx, #v); \ - duk_put_prop_string(ctx, 0, #v) - /* steal undefined */ - EXPOSE(undefined); - EXPOSE(eval); - EXPOSE(Object); - EXPOSE(parseInt); - EXPOSE(parseFloat); - EXPOSE(Array); - EXPOSE(Date); - EXPOSE(RegExp); - EXPOSE(Math); - EXPOSE(Function); - EXPOSE(Proxy); - EXPOSE(String); -#undef EXPOSE -%} - -getter Window::document() -%{ - JS_LOG("priv=%p", priv); - dom_document *doc = priv->htmlc->document; - dukky_push_node(ctx, (struct dom_node *)doc); - return 1; -%} - -getter Window::window() -%{ - duk_push_this(ctx); - return 1; -%} - -getter Window::console() -%{ - duk_push_this(ctx); - duk_get_prop_string(ctx, -1, MAGIC(Console)); - if (duk_is_undefined(ctx, -1)) { - duk_pop(ctx); - if (dukky_create_object(ctx, PROTO_NAME(CONSOLE), 0) != DUK_EXEC_SUCCESS) { - duk_error(ctx, DUK_ERR_ERROR, "Unable to create console object"); - return 0; - } - duk_dup(ctx, -1); - duk_put_prop_string(ctx, -3, MAGIC(Console)); - } - return 1; -%} - -getter Window::location() -%{ - duk_push_this(ctx); - duk_get_prop_string(ctx, -1, MAGIC(Location)); - if (duk_is_undefined(ctx, -1)) { - duk_pop(ctx); - - duk_push_pointer(ctx, llcache_handle_get_url(priv->htmlc->base.llcache)); - - if (dukky_create_object(ctx, PROTO_NAME(LOCATION), 1) != DUK_EXEC_SUCCESS) { - duk_error(ctx, DUK_ERR_ERROR, "Unable to create location object"); - return 0; - } - duk_dup(ctx, -1); - duk_put_prop_string(ctx, -3, MAGIC(Location)); - } - return 1; -%} - -getter Window::navigator() -%{ - duk_push_this(ctx); - duk_get_prop_string(ctx, -1, MAGIC(Navigator)); - if (duk_is_undefined(ctx, -1)) { - duk_pop(ctx); - - if (dukky_create_object(ctx, - PROTO_NAME(NAVIGATOR), - 0) != DUK_EXEC_SUCCESS) { - duk_error(ctx, - DUK_ERR_ERROR, - "Unable to create navigator object"); - return 0; - } - duk_dup(ctx, -1); - duk_put_prop_string(ctx, -3, MAGIC(Navigator)); - } - return 1; -%} - -getter Window::name() -%{ - const char *name; - browser_window_get_name(priv->win, &name); - duk_push_string(ctx, name); - return 1; -%} - -setter Window::name() -%{ - const char *name; - name = duk_to_string(ctx, -1); - browser_window_set_name(priv->win, name); - return 0; -%} - -method Window::alert() -%{ - duk_size_t msg_len; - const char *msg = duk_safe_to_lstring(ctx, 0, &msg_len); - LOG("JS ALERT: %*s", (int)msg_len, msg); - return 0; -%} -- cgit v1.2.3