2023-11-25 07:07:29 -05:00
|
|
|
#ifndef EL__ECMASCRIPT_ECMASCRIPT_C_H
|
|
|
|
#define EL__ECMASCRIPT_ECMASCRIPT_C_H
|
|
|
|
|
2023-11-28 09:33:54 -05:00
|
|
|
#include "document/document.h"
|
2023-11-27 13:14:39 -05:00
|
|
|
#include "ecmascript/libdom/dom.h"
|
2023-11-25 08:30:05 -05:00
|
|
|
#include "main/module.h"
|
|
|
|
|
2023-11-25 07:07:29 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2023-11-27 10:38:58 -05:00
|
|
|
struct document;
|
2023-11-28 09:33:54 -05:00
|
|
|
struct document_options;
|
|
|
|
struct document_view;
|
2023-11-27 12:34:15 -05:00
|
|
|
struct ecmascript_interpreter;
|
2023-11-25 08:13:10 -05:00
|
|
|
struct session;
|
2023-11-28 09:33:54 -05:00
|
|
|
struct string;
|
2023-11-27 13:14:39 -05:00
|
|
|
struct term_event;
|
2023-11-25 11:06:11 -05:00
|
|
|
struct uri;
|
2023-11-26 13:47:59 -05:00
|
|
|
struct view_state;
|
2023-11-25 08:13:10 -05:00
|
|
|
|
2023-11-25 07:07:29 -05:00
|
|
|
int ecmascript_get_interpreter_count(void);
|
2023-11-27 12:34:15 -05:00
|
|
|
void ecmascript_put_interpreter(struct ecmascript_interpreter *interpreter);
|
2023-11-25 08:13:10 -05:00
|
|
|
void toggle_ecmascript(struct session *ses);
|
2023-11-25 07:07:29 -05:00
|
|
|
|
2023-11-25 11:06:11 -05:00
|
|
|
/* Takes line with the syntax javascript:<ecmascript code>. Activated when user
|
|
|
|
* follows a link with this synstax. */
|
|
|
|
void ecmascript_protocol_handler(struct session *ses, struct uri *uri);
|
2023-11-26 13:47:59 -05:00
|
|
|
void check_for_snippets(struct view_state *vs, struct document_options *options, struct document *document);
|
2023-11-27 10:38:58 -05:00
|
|
|
void kill_ecmascript_timeouts(struct document *document);
|
2023-11-25 11:06:11 -05:00
|
|
|
|
2023-11-27 13:14:39 -05:00
|
|
|
void check_events_for_element(struct ecmascript_interpreter *interpreter, dom_node *element, struct term_event *ev);
|
2023-11-28 09:33:54 -05:00
|
|
|
void ecmascript_reset_state(struct view_state *vs);
|
|
|
|
int ecmascript_current_link_evhook(struct document_view *doc_view, enum script_event_hook_type type);
|
|
|
|
int ecmascript_eval_boolback(struct ecmascript_interpreter *interpreter, struct string *code);
|
2023-11-27 13:14:39 -05:00
|
|
|
|
2023-11-25 08:30:05 -05:00
|
|
|
extern struct module ecmascript_module;
|
|
|
|
|
2023-11-25 07:07:29 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|