mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Add the number of interpreters to Resources box
Introduce static int interpreter_count in src/ecmascript/ecmascript.c. Maintain interpreter_count in ecmascript_get_interpreter and ecmascript_put_interpreter. Introduce ecmascript_get_interpreter_count. Display the number of ECMAScript interpreters that have been allocated for documents in the Resources dialog box.
This commit is contained in:
parent
80a5c6d466
commit
f62d2d1ae4
2
NEWS
2
NEWS
@ -46,6 +46,8 @@ Miscellaneous:
|
||||
* enhancement: Add a new entry Link Info under Link main menu.
|
||||
* enhancement: New option protocol.http.compression.
|
||||
* enhancement: Indicate backgrounded downloads using an unused led.
|
||||
* enhancement: Display the number of ECMAScript interpreters that have
|
||||
been allocated for documents in the Resources dialog.
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
The following changes should be removed from NEWS before ELinks 0.13.0
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "config/options.h"
|
||||
#include "dialogs/info.h"
|
||||
#include "document/renderer.h"
|
||||
#include "ecmascript/ecmascript.h"
|
||||
#include "intl/gettext/libintl.h"
|
||||
#include "main/select.h"
|
||||
#include "main/timer.h"
|
||||
@ -231,6 +232,15 @@ get_resource_info(struct terminal *term, void *data)
|
||||
val_add(n_("%ld refreshing", "%ld refreshing", val, term));
|
||||
add_to_string(&info, ".\n");
|
||||
|
||||
#ifdef CONFIG_ECMASCRIPT
|
||||
add_to_string(&info, _("ECMAScript", term));
|
||||
add_to_string(&info, ": ");
|
||||
|
||||
val = ecmascript_get_interpreter_count();
|
||||
val_add(n_("%ld interpreter", "%ld interpreters", val, term));
|
||||
add_to_string(&info, ".\n");
|
||||
#endif
|
||||
|
||||
add_to_string(&info, _("Interlinking", term));
|
||||
add_to_string(&info, ": ");
|
||||
if (term->master)
|
||||
|
@ -66,6 +66,8 @@ static struct option_info ecmascript_options[] = {
|
||||
NULL_OPTION_INFO,
|
||||
};
|
||||
|
||||
static int interpreter_count;
|
||||
|
||||
struct ecmascript_interpreter *
|
||||
ecmascript_get_interpreter(struct view_state *vs)
|
||||
{
|
||||
@ -77,6 +79,8 @@ ecmascript_get_interpreter(struct view_state *vs)
|
||||
if (!interpreter)
|
||||
return NULL;
|
||||
|
||||
++interpreter_count;
|
||||
|
||||
interpreter->vs = vs;
|
||||
interpreter->vs->ecmascript_fragile = 0;
|
||||
init_list(interpreter->onload_snippets);
|
||||
@ -85,6 +89,7 @@ ecmascript_get_interpreter(struct view_state *vs)
|
||||
#else
|
||||
spidermonkey_get_interpreter(interpreter);
|
||||
#endif
|
||||
|
||||
init_string(&interpreter->code);
|
||||
return interpreter;
|
||||
}
|
||||
@ -111,6 +116,13 @@ ecmascript_put_interpreter(struct ecmascript_interpreter *interpreter)
|
||||
interpreter->vs->ecmascript = NULL;
|
||||
interpreter->vs->ecmascript_fragile = 1;
|
||||
mem_free(interpreter);
|
||||
--interpreter_count;
|
||||
}
|
||||
|
||||
int
|
||||
ecmascript_get_interpreter_count(void)
|
||||
{
|
||||
return interpreter_count;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -71,6 +71,7 @@ void ecmascript_free_urls(struct module *module);
|
||||
|
||||
struct ecmascript_interpreter *ecmascript_get_interpreter(struct view_state*vs);
|
||||
void ecmascript_put_interpreter(struct ecmascript_interpreter *interpreter);
|
||||
int ecmascript_get_interpreter_count(void);
|
||||
|
||||
void ecmascript_detach_form_view(struct form_view *fv);
|
||||
void ecmascript_detach_form_state(struct form_state *fs);
|
||||
|
Loading…
Reference in New Issue
Block a user