1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-02-02 15:09:23 -05:00

SEE: added forms to the global object.

Avoid dangerous document.forms = ...
This commit is contained in:
Witold Filipczyk 2007-04-14 23:49:43 +02:00 committed by Witold Filipczyk
parent cd982d7d65
commit c5b102ba08
3 changed files with 4 additions and 10 deletions

View File

@ -138,7 +138,7 @@ document_get(struct SEE_interpreter *interp, struct SEE_object *o,
}
} else if (p == s_forms) {
SEE_SET_OBJECT(res, doc->forms);
SEE_OBJECT_GET(interp, interp->Global, s_forms, res);
} else if (p == s_write) {
SEE_SET_OBJECT(res, doc->write);
} else if (p == s_writeln) {
@ -171,14 +171,9 @@ document_put(struct SEE_interpreter *interp, struct SEE_object *o,
struct view_state *vs = g->win->vs;
struct document_view *doc_view = vs->doc_view;
struct document *document = doc_view->document;
struct js_document_object *doc = (struct js_document_object *)o;
struct SEE_value res;
unsigned char *string;
if (p == s_forms) {
SEE_ToObject(interp, val, &res);
doc->forms = res.u.object;
} else if (p == s_title) {
if (p == s_title) {
string = SEE_value_to_unsigned_char(interp, val);
mem_free_set(&document->title, string);
print_screen_status(doc_view->session);

View File

@ -7,7 +7,6 @@ struct js_document_object {
struct SEE_object object;
struct SEE_object *write;
struct SEE_object *writeln;
struct SEE_object *forms;
};
void init_js_document_object(struct ecmascript_interpreter *);

View File

@ -997,11 +997,11 @@ init_js_forms_object(struct ecmascript_interpreter *interpreter)
forms->object.Prototype = NULL;
SEE_OBJECT_GET(interp, interp->Global, s_document, &document);
SEE_SET_OBJECT(&v, (struct SEE_object *)forms);
SEE_OBJECT_PUT(interp, document.u.object, s_forms, &v, 0);
forms->item = SEE_cfunction_make(interp, js_forms_item, s_item, 1);
forms->namedItem = SEE_cfunction_make(interp, js_forms_namedItem,
s_namedItem, 1);
forms->parent = (struct js_document_object *)document.u.object;
SEE_SET_OBJECT(&v, (struct SEE_object *)forms);
SEE_OBJECT_PUT(interp, interp->Global, s_forms, &v, 0);
}