summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2020-02-21 14:09:21 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2020-02-21 14:09:39 +0000
commit2f8868309af93a15131e3564320760c432f6daae (patch)
tree9cbc3e413e3a04a0457a9bd1aedc2cc043d21db3 /content
parent9232b8fedae8b33e46af08c8ce3eed63363cff34 (diff)
downloadnetsurf-2f8868309af93a15131e3564320760c432f6daae.tar.gz
netsurf-2f8868309af93a15131e3564320760c432f6daae.tar.bz2
HTML: Don't transition the content state machine if we do nothing
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'content')
-rw-r--r--content/handlers/html/html_script.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/content/handlers/html/html_script.c b/content/handlers/html/html_script.c
index ed73f50d8..9dad53117 100644
--- a/content/handlers/html/html_script.c
+++ b/content/handlers/html/html_script.c
@@ -60,6 +60,7 @@ nserror html_script_exec(html_content *c, bool allow_defer)
unsigned int i;
struct html_script *s;
script_handler_t *script_handler;
+ bool have_run_something = false;
if (c->jscontext == NULL) {
return NSERROR_BAD_PARAMETER;
@@ -96,6 +97,7 @@ nserror html_script_exec(html_content *c, bool allow_defer)
s->data.handle, &size );
script_handler(c->jscontext, data, size,
nsurl_access(hlcache_handle_get_url(s->data.handle)));
+ have_run_something = true;
/* We have to re-acquire this here since the
* c->scripts array may have been reallocated
* as a result of executing this script.
@@ -108,7 +110,11 @@ nserror html_script_exec(html_content *c, bool allow_defer)
}
}
- return html_proceed_to_done(c);
+ if (have_run_something) {
+ return html_proceed_to_done(c);
+ }
+
+ return NSERROR_OK;
}
/* create new html script entry */