From b1c8eb5572eb20a623719a99ae58d178063b778f Mon Sep 17 00:00:00 2001 From: Witold Filipczyk Date: Sat, 12 Aug 2006 19:07:16 +0200 Subject: [PATCH] SEE: use periodic callback. SEE engine passes infinite test --- src/ecmascript/see.c | 1 + src/ecmascript/see/document.c | 5 ----- src/ecmascript/see/form.c | 25 ------------------------- src/ecmascript/see/location.c | 9 --------- src/ecmascript/see/navigator.c | 2 -- src/ecmascript/see/unibar.c | 4 ---- src/ecmascript/see/window.c | 6 ------ 7 files changed, 1 insertion(+), 51 deletions(-) diff --git a/src/ecmascript/see.c b/src/ecmascript/see.c index 001efca79..6cef7a75c 100644 --- a/src/ecmascript/see.c +++ b/src/ecmascript/see.c @@ -60,6 +60,7 @@ static void see_init(struct module *xxx) { init_intern_strings(); + SEE_system.periodic = checktime; } static void diff --git a/src/ecmascript/see/document.c b/src/ecmascript/see/document.c index 959d8d310..22bfe9364 100644 --- a/src/ecmascript/see/document.c +++ b/src/ecmascript/see/document.c @@ -83,7 +83,6 @@ document_get(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *str; unsigned char *string; - checktime(interp); SEE_SET_UNDEFINED(res); if (p == s_cookie) { @@ -175,7 +174,6 @@ document_put(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_value res; unsigned char *string; - checktime(interp); if (p == s_forms) { SEE_ToObject(interp, val, &res); doc->forms = res.u.object; @@ -238,7 +236,6 @@ js_document_write_do(struct SEE_interpreter *interp, struct SEE_object *self, set_led_value(vs->doc_view->session->status.ecmascript_led, 'J'); #endif - checktime(interp); SEE_SET_BOOLEAN(res, 0); } @@ -262,7 +259,6 @@ static int document_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_location || p == s_url || p == s_cookie) return 1; return 0; @@ -272,7 +268,6 @@ static int document_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); /* all unknown properties return UNDEFINED value */ return 1; } diff --git a/src/ecmascript/see/form.c b/src/ecmascript/see/form.c index 8f8404b42..604a0ef68 100644 --- a/src/ecmascript/see/form.c +++ b/src/ecmascript/see/form.c @@ -176,7 +176,6 @@ input_get(struct SEE_interpreter *interp, struct SEE_object *o, assert(fc); assert(fc->form && fs); - checktime(interp); linknum = get_form_control_link(document, fc); /* Hiddens have no link. */ if (linknum >= 0) link = &document->links[linknum]; @@ -279,7 +278,6 @@ input_put(struct SEE_interpreter *interp, struct SEE_object *o, assert(fc); assert(fc->form && fs); - checktime(interp); linknum = get_form_control_link(document, fc); /* Hiddens have no link. */ if (linknum >= 0) link = &document->links[linknum]; @@ -348,7 +346,6 @@ js_input_blur(struct SEE_interpreter *interp, struct SEE_object *self, struct SEE_object *thisobj, int argc, struct SEE_value **argv, struct SEE_value *res) { - checktime(interp); SEE_SET_BOOLEAN(res, 0); /* We are a text-mode browser and there *always* has to be something * selected. So we do nothing for now. (That was easy.) */ @@ -369,7 +366,6 @@ js_input_click(struct SEE_interpreter *interp, struct SEE_object *self, struct form_control *fc; int linknum; - checktime(interp); SEE_SET_BOOLEAN(res, 0); assert(fs); fc = find_form_control(document, fs); @@ -403,7 +399,6 @@ js_input_focus(struct SEE_interpreter *interp, struct SEE_object *self, struct form_control *fc; int linknum; - checktime(interp); SEE_SET_BOOLEAN(res, 0); assert(fs); fc = find_form_control(document, fs); @@ -423,7 +418,6 @@ js_input_select(struct SEE_interpreter *interp, struct SEE_object *self, struct SEE_object *thisobj, int argc, struct SEE_value **argv, struct SEE_value *res) { - checktime(interp); SEE_SET_BOOLEAN(res, 0); /* We support no text selecting yet. So we do nothing for now. * (That was easy, too.) */ @@ -433,7 +427,6 @@ static int input_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); return 1; } @@ -442,7 +435,6 @@ input_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { /* all unknown properties return UNDEFINED value */ - checktime(interp); return 1; } @@ -452,7 +444,6 @@ js_get_input_object(struct SEE_interpreter *interp, struct js_form *jsform, { struct js_input *jsinput; - checktime(interp); #if 0 if (fs->ecmascript_obj) @@ -482,7 +473,6 @@ static struct js_input * js_get_form_control_object(struct SEE_interpreter *interp, struct js_form *jsform, enum form_type type, struct form_state *fs) { - checktime(interp); switch (type) { case FC_TEXT: case FC_PASSWORD: @@ -528,7 +518,6 @@ js_form_elems_item(struct SEE_interpreter *interp, struct SEE_object *self, int counter = -1; int index; - checktime(interp); SEE_SET_UNDEFINED(res); if (argc < 1) return; @@ -568,7 +557,6 @@ js_form_elems_namedItem(struct SEE_interpreter *interp, struct SEE_object *self, struct form_control *fc; unsigned char *string; - checktime(interp); SEE_SET_UNDEFINED(res); if (argc < 1) return; @@ -602,7 +590,6 @@ form_elems_get(struct SEE_interpreter *interp, struct SEE_object *o, struct form_view *fv = parent_form->fv; struct form *form = find_form_by_form_view(document, fv); - checktime(interp); if (p == s_length) { SEE_number_t length = list_size(&form->items); SEE_SET_NUMBER(res, length); @@ -634,7 +621,6 @@ static int form_elems_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); /* all unknown properties return UNDEFINED value */ return 1; } @@ -654,7 +640,6 @@ js_forms_item(struct SEE_interpreter *interp, struct SEE_object *self, int counter = -1; int index; - checktime(interp); SEE_SET_UNDEFINED(res); if (argc < 1) return; @@ -690,7 +675,6 @@ js_forms_namedItem(struct SEE_interpreter *interp, struct SEE_object *self, struct form *form; unsigned char *string; - checktime(interp); SEE_SET_UNDEFINED(res); if (argc < 1) return; @@ -722,7 +706,6 @@ forms_get(struct SEE_interpreter *interp, struct SEE_object *o, struct document *document = doc_view->document; struct js_forms_object *fo = (struct js_forms_object *)o; - checktime(interp); if (p == s_length) { SEE_number_t length = list_size(&document->forms); SEE_SET_NUMBER(res, length); @@ -755,7 +738,6 @@ static int forms_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); /* all unknown properties return UNDEFINED value */ return 1; } @@ -774,7 +756,6 @@ form_get(struct SEE_interpreter *interp, struct SEE_object *o, struct form *form = find_form_by_form_view(doc_view->document, fv); struct SEE_string *str; - checktime(interp); SEE_SET_UNDEFINED(res); if (p == s_action) { @@ -865,7 +846,6 @@ form_put(struct SEE_interpreter *interp, struct SEE_object *o, struct form *form = find_form_by_form_view(doc_view->document, fv); unsigned char *string = SEE_value_to_unsigned_char(interp, val); - checktime(interp); if (!string) return; @@ -903,7 +883,6 @@ static int form_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); return 1; } @@ -911,7 +890,6 @@ static int form_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); return 1; } @@ -929,7 +907,6 @@ js_form_reset(struct SEE_interpreter *interp, struct SEE_object *self, assert(form); - checktime(interp); do_reset_form(doc_view, form); draw_forms(doc_view->session->tab->term, doc_view); SEE_SET_BOOLEAN(res, 0); @@ -949,7 +926,6 @@ js_form_submit(struct SEE_interpreter *interp, struct SEE_object *self, struct form *form = find_form_by_form_view(doc_view->document, fv); assert(form); - checktime(interp); submit_given_form(ses, doc_view, form, 0); SEE_SET_BOOLEAN(res, 0); } @@ -959,7 +935,6 @@ struct js_form *js_get_form_object(struct SEE_interpreter *interp, { struct js_form *js_form; - checktime(interp); #if 0 if (fv->ecmascript_obj) return fv->ecmascript_obj; diff --git a/src/ecmascript/see/location.c b/src/ecmascript/see/location.c index 31274b7dd..20ac80499 100644 --- a/src/ecmascript/see/location.c +++ b/src/ecmascript/see/location.c @@ -160,7 +160,6 @@ history_get(struct SEE_interpreter *interp, struct SEE_object *o, { struct js_history_object *history = (struct js_history_object *)o; - checktime(interp); if (p == s_back) { SEE_SET_OBJECT(res, history->back); } else if (p == s_forward) { @@ -176,7 +175,6 @@ static int history_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_back || p == s_forward || p == s_go) return 1; return 0; @@ -206,7 +204,6 @@ js_history_forward(struct SEE_interpreter *interp, struct SEE_object *self, struct document_view *doc_view = vs->doc_view; struct session *ses = doc_view->session; - checktime(interp); SEE_SET_NULL(res); go_unback(ses); } @@ -224,7 +221,6 @@ js_history_go(struct SEE_interpreter *interp, struct SEE_object *self, int index; struct location *loc; - checktime(interp); SEE_SET_NULL(res); if (argc < 1) return; @@ -259,7 +255,6 @@ js_location_toString(struct SEE_interpreter *interp, struct SEE_object *self, struct SEE_string *str = string_to_SEE_string(interp, string); mem_free_if(string); - checktime(interp); SEE_SET_STRING(res, str); } @@ -270,7 +265,6 @@ location_get(struct SEE_interpreter *interp, struct SEE_object *o, { struct js_location_object *loc = (struct js_location_object *)o; - checktime(interp); if (p == s_toString || p == s_toLocaleString) { SEE_SET_OBJECT(res, loc->toString); } else if (p == s_href) { @@ -290,7 +284,6 @@ static void location_put(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p, struct SEE_value *val, int attr) { - checktime(interp); if (p == s_href) { struct global_object *g = (struct global_object *)interp; struct view_state *vs = g->win->vs; @@ -306,7 +299,6 @@ static int location_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_toString || p == s_toLocaleString || p == s_href) return 1; return 0; @@ -316,7 +308,6 @@ static int location_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_href) return 1; return 0; diff --git a/src/ecmascript/see/navigator.c b/src/ecmascript/see/navigator.c index 5b7d89979..aec53a14e 100644 --- a/src/ecmascript/see/navigator.c +++ b/src/ecmascript/see/navigator.c @@ -69,7 +69,6 @@ navigator_get(struct SEE_interpreter *interp, struct SEE_object *o, { struct SEE_string *str; - checktime(interp); SEE_SET_UNDEFINED(res); if (p == s_appCodeName) { SEE_SET_STRING(res, s_Mozilla); @@ -122,7 +121,6 @@ static int navigator_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_appCodeName || p == s_appName || p == s_appVersion || p == s_language || p == s_platform || p == s_userAgent) return 1; diff --git a/src/ecmascript/see/unibar.c b/src/ecmascript/see/unibar.c index c5fa9047f..ae72f766d 100644 --- a/src/ecmascript/see/unibar.c +++ b/src/ecmascript/see/unibar.c @@ -95,7 +95,6 @@ unibar_get(struct SEE_interpreter *interp, struct SEE_object *o, struct js_unibar_object *obj = (struct js_unibar_object *)o; unsigned char bar = obj->bar; - checktime(interp); if (p == s_visible) { #define unibar_fetch(bar) \ SEE_SET_BOOLEAN(res, status->force_show_##bar##_bar >= 0 \ @@ -122,7 +121,6 @@ static void unibar_put(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p, struct SEE_value *val, int attr) { - checktime(interp); if (p == s_location) { struct global_object *g = (struct global_object *)interp; struct view_state *vs = g->win->vs; @@ -151,7 +149,6 @@ static int unibar_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_visible) return 1; return 0; @@ -161,7 +158,6 @@ static int unibar_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_visible) return 1; return 0; diff --git a/src/ecmascript/see/window.c b/src/ecmascript/see/window.c index 1f878e7c0..b6c235af9 100644 --- a/src/ecmascript/see/window.c +++ b/src/ecmascript/see/window.c @@ -100,7 +100,6 @@ window_get(struct SEE_interpreter *interp, struct SEE_object *o, struct js_window_object *win = (struct js_window_object *)o; struct view_state *vs = win->vs; - checktime(interp); if (p == s_closed) { SEE_SET_BOOLEAN(res, 0); } else if (p == s_self || p == s_parent || p == s_top) { @@ -157,7 +156,6 @@ static void window_put(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p, struct SEE_value *val, int attr) { - checktime(interp); if (p == s_location) { struct js_window_object *win = (struct js_window_object *)o; struct view_state *vs = win->vs; @@ -175,7 +173,6 @@ static int window_canput(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); if (p == s_location) return 1; return 0; @@ -185,7 +182,6 @@ static int window_hasproperty(struct SEE_interpreter *interp, struct SEE_object *o, struct SEE_string *p) { - checktime(interp); /* all unknown properties return UNDEFINED value */ return 1; } @@ -201,7 +197,6 @@ js_window_alert(struct SEE_interpreter *interp, struct SEE_object *self, struct view_state *vs = win->vs; unsigned char *string; - checktime(interp); SEE_SET_BOOLEAN(res, 1); if (argc < 1) return; @@ -236,7 +231,6 @@ js_window_open(struct SEE_interpreter *interp, struct SEE_object *self, static time_t ratelimit_start; static int ratelimit_count; #endif - checktime(interp); SEE_SET_OBJECT(res, (struct SEE_object *)win); if (get_opt_bool("ecmascript.block_window_opening")) { #ifdef CONFIG_LEDS