1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-01-03 14:57:44 -05:00

Revert unstable 'Eval embedded scripts at once'

Revert commit 2f0490cb04
('Eval embedded scripts at once') and follow-up commit
997f61bb32 ('Use document_view instead of
view_state. It is safer probably') because the change causes crashes on
numerous pages and just looks wrong.
This commit is contained in:
Miciah Dashiel Butler Masters 2006-02-12 15:03:12 +00:00 committed by Miciah Dashiel Butler Masters
parent cfbe41aa8a
commit 2c087e52e7
3 changed files with 2 additions and 47 deletions
src/document

View File

@ -11,7 +11,6 @@
struct cache_entry; struct cache_entry;
struct document_refresh; struct document_refresh;
struct document_view;
struct form_control; struct form_control;
struct frame_desc; struct frame_desc;
struct frameset_desc; struct frameset_desc;
@ -148,8 +147,6 @@ struct document {
* dependencies between the various entries so nothing gets removed * dependencies between the various entries so nothing gets removed
* unneeded. */ * unneeded. */
struct uri_list ecmascript_imports; struct uri_list ecmascript_imports;
/* For ecmascript access */
struct document_view *doc_view;
#endif #endif
#ifdef CONFIG_CSS #ifdef CONFIG_CSS
/* FIXME: We should externally maybe using cache_entry store the /* FIXME: We should externally maybe using cache_entry store the

View File

@ -17,8 +17,6 @@
#include "config/options.h" #include "config/options.h"
#include "document/css/apply.h" #include "document/css/apply.h"
#include "document/document.h"
#include "document/view.h"
#include "document/html/frames.h" #include "document/html/frames.h"
#include "document/html/parser/general.h" #include "document/html/parser/general.h"
#include "document/html/parser/link.h" #include "document/html/parser/link.h"
@ -28,7 +26,6 @@
#include "document/html/renderer.h" #include "document/html/renderer.h"
#include "document/html/tables.h" #include "document/html/tables.h"
#include "document/options.h" #include "document/options.h"
#include "ecmascript/ecmascript.h"
#include "intl/charsets.h" #include "intl/charsets.h"
#include "protocol/uri.h" #include "protocol/uri.h"
#include "terminal/draw.h" #include "terminal/draw.h"
@ -40,7 +37,6 @@
#include "util/memdebug.h" #include "util/memdebug.h"
#include "util/memory.h" #include "util/memory.h"
#include "util/string.h" #include "util/string.h"
#include "viewer/text/vs.h"
/* Unsafe macros */ /* Unsafe macros */
#include "document/html/internal.h" #include "document/html/internal.h"
@ -347,42 +343,8 @@ imported:
} }
if (html_context->part->document && *html != '^') { if (html_context->part->document && *html != '^') {
struct string code, ret;
struct part *part = html_context->part;
struct document *document = part->document;
struct document_view *doc_view = document->doc_view;
struct view_state *vs = doc_view->vs;
struct ecmascript_interpreter *interpreter;
if (vs->ecmascript_fragile)
ecmascript_reset_state(vs);
interpreter = vs->ecmascript;
assert(interpreter);
if (!init_string(&code)) return;
if (!init_string(&ret)) {
done_string(&code);
return;
}
add_bytes_to_string(&code, html, *end - html);
ecmascript_eval(interpreter, &code, &ret);
done_string(&code);
if (!ret.length) {
done_string(&ret);
return;
}
/* FIXME: it doesn't work */
html_top->invisible = 0;
parse_html(ret.source, ret.source + ret.length, part, NULL,
html_context);
done_string(&ret);
#if 0
add_to_string_list(&html_context->part->document->onload_snippets, add_to_string_list(&html_context->part->document->onload_snippets,
html, *end - html); html, *end - html);
#endif
} }
#endif #endif
} }

View File

@ -282,6 +282,7 @@ render_document(struct view_state *vs, struct document_view *doc_view,
options->gradual_rerendering, struri(vs->uri), options->gradual_rerendering, struri(vs->uri),
doc_view, doc_view->name, vs); doc_view, doc_view->name, vs);
#endif #endif
name = doc_view->name; name = doc_view->name;
doc_view->name = NULL; doc_view->name = NULL;
@ -325,18 +326,13 @@ render_document(struct view_state *vs, struct document_view *doc_view,
document = get_cached_document(cached, options); document = get_cached_document(cached, options);
if (document) { if (document) {
doc_view->document = document; doc_view->document = document;
#ifdef CONFIG_ECMASCRIPT
document->doc_view = doc_view;
#endif
} else { } else {
document = init_document(cached, options); document = init_document(cached, options);
if (!document) return; if (!document) return;
doc_view->document = document; doc_view->document = document;
shrink_memory(0); shrink_memory(0);
#ifdef CONFIG_ECMASCRIPT
document->doc_view = doc_view;
#endif
render_encoded_document(cached, document); render_encoded_document(cached, document);
sort_links(document); sort_links(document);
if (!document->title) { if (!document->title) {