From f3892c98fdc734a0abca136ab712c94246fe66c0 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sun, 5 May 2019 15:37:56 +0100 Subject: Add content_exec and associated vtable entry Signed-off-by: Daniel Silverstone --- content/content.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'content/content.c') diff --git a/content/content.c b/content/content.c index 869750100..bb5c47b33 100644 --- a/content/content.c +++ b/content/content.c @@ -545,6 +545,27 @@ void content__request_redraw(struct content *c, content_broadcast(c, CONTENT_MSG_REDRAW, &data); } +/* exported interface, documented in content/content.h */ +bool content_exec(struct hlcache_handle *h, const char *src, size_t srclen) +{ + struct content *c = hlcache_handle_get_content(h); + + assert(c != NULL); + + if (c->locked) { + /* Not safe to do stuff */ + NSLOG(netsurf, DEEPDEBUG, "Unable to exec, content locked"); + return false; + } + + if (c->handler->exec == NULL) { + /* Can't exec something on this content */ + NSLOG(netsurf, DEEPDEBUG, "Unable to exec, no exec function"); + return false; + } + + return c->handler->exec(c, src, srclen); +} /* exported interface, documented in content/content.h */ bool content_redraw(hlcache_handle *h, struct content_redraw_data *data, -- cgit v1.2.3