summaryrefslogtreecommitdiff
path: root/render/html_script.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-07-31 22:33:08 +0100
committerVincent Sanders <vince@netsurf-browser.org>2012-07-31 22:33:08 +0100
commit5c25b8255a9c3e62bf7ac1264cc5443ea3f14abc (patch)
tree14117974d2505afca36d0c462253aed1c6510d93 /render/html_script.c
parent84152cd72b5971250ba37b7654856a15c03ba42b (diff)
downloadnetsurf-5c25b8255a9c3e62bf7ac1264cc5443ea3f14abc.tar.gz
netsurf-5c25b8255a9c3e62bf7ac1264cc5443ea3f14abc.tar.bz2
add post parse script execution
Diffstat (limited to 'render/html_script.c')
-rw-r--r--render/html_script.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/render/html_script.c b/render/html_script.c
index f4d80ab54..b27abf7f4 100644
--- a/render/html_script.c
+++ b/render/html_script.c
@@ -49,13 +49,13 @@ static script_handler_t *select_script_handler(content_type ctype)
}
-/* attempt to progress script execution
+/* attempt defer and async script execution
*
* execute scripts using algorithm found in:
* http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#the-script-element
*
*/
-static bool html_scripts_exec(html_content *c)
+bool html_scripts_exec(html_content *c)
{
unsigned int i;
struct html_script *s;
@@ -69,10 +69,8 @@ static bool html_scripts_exec(html_content *c)
continue;
}
- assert((s->type == HTML_SCRIPT_SYNC) ||
- (s->type == HTML_SCRIPT_INLINE));
-
- if (s->type == HTML_SCRIPT_SYNC) {
+ if ((s->type == HTML_SCRIPT_ASYNC) ||
+ (s->type == HTML_SCRIPT_DEFER)) {
/* ensure script content is present */
if (s->data.handle == NULL)
continue;
@@ -99,14 +97,7 @@ static bool html_scripts_exec(html_content *c)
s->already_started = true;
- } else {
- /* script not yet available */
-
- /* check if deferable or asynchronous */
- if (!s->defer && !s->async) {
- break;
- }
- }
+ }
}
}