add script_timeout option and use it
This commit is contained in:
parent
7f7ff93745
commit
af75070bee
|
@ -683,12 +683,15 @@ void browser_window_debug_dump(struct browser_window *bw, FILE *f)
|
||||||
content_debug_dump(bw->current_content, f);
|
content_debug_dump(bw->current_content, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool gui_slow_script(void *ctx)
|
/** slow script handler
|
||||||
|
*/
|
||||||
|
static bool slow_script(void *ctx)
|
||||||
{
|
{
|
||||||
static int count = 0;
|
static int count = 0;
|
||||||
LOG(("Continuing execution %d", count));
|
LOG(("Continuing execution %d", count));
|
||||||
count++;
|
count++;
|
||||||
if (count >= 2) {
|
if (count > 1) {
|
||||||
|
count = 0;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -717,7 +720,9 @@ browser_window_create(enum browser_window_nav_flags flags,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* new javascript context for window */
|
/* new javascript context for window */
|
||||||
bw->jsctx = js_newcontext(10, gui_slow_script, NULL);
|
bw->jsctx = js_newcontext(nsoption_int(script_timeout),
|
||||||
|
slow_script,
|
||||||
|
NULL);
|
||||||
|
|
||||||
/* Initialise common parts */
|
/* Initialise common parts */
|
||||||
browser_window_initialise_common(bw, clone);
|
browser_window_initialise_common(bw, clone);
|
||||||
|
|
|
@ -87,6 +87,8 @@
|
||||||
bool animate_images; \
|
bool animate_images; \
|
||||||
/** Whether to execute javascript */ \
|
/** Whether to execute javascript */ \
|
||||||
bool enable_javascript; \
|
bool enable_javascript; \
|
||||||
|
/** how long to wait for a script to run */ \
|
||||||
|
int script_timeout; \
|
||||||
/** How many days to retain URL data for */ \
|
/** How many days to retain URL data for */ \
|
||||||
int expire_url; \
|
int expire_url; \
|
||||||
/** Default font family */ \
|
/** Default font family */ \
|
||||||
|
@ -268,7 +270,8 @@
|
||||||
.suppress_curl_debug = true, \
|
.suppress_curl_debug = true, \
|
||||||
.target_blank = true, \
|
.target_blank = true, \
|
||||||
.button_2_tab = true, \
|
.button_2_tab = true, \
|
||||||
.enable_javascript = true
|
.enable_javascript = true, \
|
||||||
|
.script_timeout = 10
|
||||||
|
|
||||||
#define NSOPTION_MAIN_SYS_COLOUR_DEFAULTS \
|
#define NSOPTION_MAIN_SYS_COLOUR_DEFAULTS \
|
||||||
.sys_colour_ActiveBorder = 0x00000000, \
|
.sys_colour_ActiveBorder = 0x00000000, \
|
||||||
|
@ -318,7 +321,7 @@
|
||||||
{ "accept_language", OPTION_STRING, &nsoptions.accept_language }, \
|
{ "accept_language", OPTION_STRING, &nsoptions.accept_language }, \
|
||||||
{ "accept_charset", OPTION_STRING, &nsoptions.accept_charset }, \
|
{ "accept_charset", OPTION_STRING, &nsoptions.accept_charset }, \
|
||||||
{ "memory_cache_size", OPTION_INTEGER, &nsoptions.memory_cache_size }, \
|
{ "memory_cache_size", OPTION_INTEGER, &nsoptions.memory_cache_size }, \
|
||||||
{ "disc_cache_size", OPTION_INTEGER, &nsoptions.disc_cache_size }, \
|
{ "disc_cache_size", OPTION_INTEGER, &nsoptions.disc_cache_size }, \
|
||||||
{ "disc_cache_age", OPTION_INTEGER, &nsoptions.disc_cache_age }, \
|
{ "disc_cache_age", OPTION_INTEGER, &nsoptions.disc_cache_age }, \
|
||||||
{ "block_advertisements", OPTION_BOOL, &nsoptions.block_ads }, \
|
{ "block_advertisements", OPTION_BOOL, &nsoptions.block_ads }, \
|
||||||
{ "do_not_track", OPTION_BOOL, &nsoptions.do_not_track }, \
|
{ "do_not_track", OPTION_BOOL, &nsoptions.do_not_track }, \
|
||||||
|
@ -327,7 +330,8 @@
|
||||||
{ "foreground_images", OPTION_BOOL, &nsoptions.foreground_images }, \
|
{ "foreground_images", OPTION_BOOL, &nsoptions.foreground_images }, \
|
||||||
{ "background_images", OPTION_BOOL, &nsoptions.background_images }, \
|
{ "background_images", OPTION_BOOL, &nsoptions.background_images }, \
|
||||||
{ "animate_images", OPTION_BOOL, &nsoptions.animate_images }, \
|
{ "animate_images", OPTION_BOOL, &nsoptions.animate_images }, \
|
||||||
{ "enable_javascript", OPTION_BOOL, &nsoptions.enable_javascript}, \
|
{ "enable_javascript", OPTION_BOOL, &nsoptions.enable_javascript}, \
|
||||||
|
{ "script_timeout", OPTION_INTEGER, &nsoptions.script_timeout}, \
|
||||||
{ "expire_url", OPTION_INTEGER, &nsoptions.expire_url }, \
|
{ "expire_url", OPTION_INTEGER, &nsoptions.expire_url }, \
|
||||||
{ "font_default", OPTION_INTEGER, &nsoptions.font_default }, \
|
{ "font_default", OPTION_INTEGER, &nsoptions.font_default }, \
|
||||||
{ "ca_bundle", OPTION_STRING, &nsoptions.ca_bundle }, \
|
{ "ca_bundle", OPTION_STRING, &nsoptions.ca_bundle }, \
|
||||||
|
|
Loading…
Reference in New Issue