1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

69 Commits

Author SHA1 Message Date
Miciah Dashiel Butler Masters
1602bd5d29 Factor intdup out of smjs_get_keymap_object. 2005-12-26 11:07:15 +00:00
Jonas Fonseca
61185ff34e Make ECMAScript browser scripting configurable
Either set CONFIG_SM_SCRIPTING in features.conf or pass to ./configure the
option --disable-sm-scripting. Now scripting is also enabled when needed
and not only if some other scripting backend is enabled.

Remove some remnants of SEE scripting backend.
2005-12-25 02:23:54 +01:00
Miciah Dashiel Butler Masters
309f3d26f3 In smjs_get_keymap_object, free the private data JS_SetPrivate fails,
per fonseca's suggestion.
2005-12-24 18:07:55 +00:00
Miciah Dashiel Butler Masters
f46cdd8f03 Add elinks.location property to get and set the current URL. 2005-12-24 18:05:32 +00:00
Miciah Dashiel Butler Masters
d44a24050c Undo in favour of a nicer API... 2005-12-24 07:17:36 +00:00
Miciah Dashiel Butler Masters
054fb15ff0 Add an elinks.goto_url method. 2005-12-24 07:14:51 +00:00
Miciah Dashiel Butler Masters
330cd6b7ce Assign the given ses to smjs_ses while the ECMAScript callback runs in
smjs_keybinding_action_callback.
2005-12-24 07:01:17 +00:00
Miciah Dashiel Butler Masters
80a5467b8d Introduce get_action_from_keystroke and get_action_name_from_keystroke.
Introduce smjs_init_keybinding_interface, which creates elinks.keymaps.<map>
for <map> in "main", "edit", and "menu". elinks.keymaps.<map> is a hash
indexed by string representations of keystrokes, and can be used to get the
current action for a key and to set the action either to an internal ELinks
action or to an ECMAScript function.
2005-12-24 06:54:01 +00:00
Miciah Dashiel Butler Masters
92da153e13 Lock the struct cache_entry when creating the corresponding ECMAScript
object in smjs_get_cache_entry_object and unlock it in the new finalizer
cache_entry_finalize.
2005-12-24 04:07:32 +00:00
Miciah Dashiel Butler Masters
f8de70b8f6 Comment smjs_elinks_object. 2005-12-24 03:49:06 +00:00
Miciah Dashiel Butler Masters
9b645f9b66 Move smjs_elinks_object to elinks_object.h. 2005-12-24 03:48:57 +00:00
Miciah Dashiel Butler Masters
8743ec74d8 Factor the initialisation of smjs_elinks_global out of init_smjs and
into the new smjs_init_elinks_object.
2005-12-24 03:47:34 +00:00
Miciah Dashiel Butler Masters
60dd7515f9 Change smjs_get_elinks_object to use smjs_global_object instead of
an argument.
2005-12-24 03:43:53 +00:00
Miciah Dashiel Butler Masters
d6ecf895ce Make global_object a global with the new name smjs_global_object and
create smjs_init_global_object to initialise the global.
2005-12-24 03:40:59 +00:00
Miciah Dashiel Butler Masters
3174c533b0 Factor smjs_get_global_object out of init_smjs. 2005-12-24 03:39:24 +00:00
Miciah Dashiel Butler Masters
2a0653a9f2 Fix the comment heading to say ECMAScript instead of Ruby. 2005-12-22 23:45:12 +00:00
Miciah Dashiel Butler Masters
f6ce6c84f7 Rename get_cache_entry_object to smjs_get_cache_entry_object for great
consistency.
2005-12-20 22:13:29 +00:00
Miciah Dashiel Butler Masters
9e15d09340 NULL-terminate cache_entry_props. This and the last change resolves
crashes with GCC 2.x and 3.x reported by zas.
2005-12-20 22:10:59 +00:00
Miciah Dashiel Butler Masters
bb4f08172b In init_smjs, mark global_class static. 2005-12-20 22:09:56 +00:00
Miciah Dashiel Butler Masters
be76bed022 Check the return values of JS_SetPrivate and JS_DefineProperties in
get_cache_entry_object.
2005-12-20 10:44:51 +00:00
Miciah Dashiel Butler Masters
71fb9a1db7 Move smjs_invoke_elinks_object_method from hooks.c to elinks_object.c. 2005-12-20 05:26:55 +00:00
Miciah Dashiel Butler Masters
3302baca35 Rename call_script_hook to smjs_invoke_elinks_object_method and rename
its hook parameter to method.
2005-12-20 05:25:36 +00:00
Miciah Dashiel Butler Masters
f5b102cfea Assert smjs_ctx in get_cache_entry_object. 2005-12-19 21:33:10 +00:00
Miciah Dashiel Butler Masters
2e0907ff8d In script_hook_pre_format_html, check whether get_cache_entry_object
returns NULL.
2005-12-19 21:28:52 +00:00
Miciah Dashiel Butler Masters
2b6ef067be In init_smjs, destroy the runtime if JS_NewContext returns NULL. 2005-12-19 21:26:05 +00:00
Miciah Dashiel Butler Masters
fcd13e35cb Do nothing in cleanup_smjs is smjs_ctx is NULL. 2005-12-19 21:24:54 +00:00
Miciah Dashiel Butler Masters
11c90e7205 Add some assertions. 2005-12-19 21:24:27 +00:00
Miciah Dashiel Butler Masters
5ca5381fbc Rework smjs_load_hooks not to free path until it is done and to always
call done_string on the script string, even when add_file_to_string fails.
2005-12-19 19:08:34 +00:00
Jonas Fonseca
9bc71ec8a9 Retire the SEE-based *.js scripting backend 2005-12-19 01:22:32 +01:00
Miciah Dashiel Butler Masters
9fb9e8700d Predicate the SpiderMonkey scripting backend on CONFIG_SPIDERMONKEY
rather than on CONFIG_ECMASCRIPT.
2005-12-18 22:51:47 +00:00
Jonas Fonseca
fa124d0988 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-18 23:49:15 +01:00
Miciah Dashiel Butler Masters
2fef4bd531 In cache_entry_get_property and cache_entry_set_property, use
cache_entry_is_valid to check that the reference to the struct cache_entry
is still valid. Thanks to fonseca for the reminder.
2005-12-18 22:47:58 +00:00
Jonas Fonseca
8ea7f202b1 #include "src/scripting/smjs/cache_object.h" 2005-12-18 22:17:48 +01:00
Jonas Fonseca
838e2ea0c9 Make all global variables exported by src/scripting/smjs/core.h extern 2005-12-18 19:57:03 +01:00
Miciah Dashiel Butler Masters
51322649fe Load the default script. 2005-12-18 18:02:32 +00:00
Miciah Dashiel Butler Masters
e3fed7e19e Add a pre-format-html hook. 2005-12-18 17:58:42 +00:00
Miciah Dashiel Butler Masters
30ccbaaf21 Add the elinks.alert method. 2005-12-18 17:49:21 +00:00
Miciah Dashiel Butler Masters
6e0d4374c1 Add the "elinks" object. 2005-12-18 17:47:54 +00:00
Miciah Dashiel Butler Masters
acb2bb80be Create a global object. 2005-12-18 17:40:13 +00:00
Miciah Dashiel Butler Masters
60d40b7f50 Initial skeleton for SpiderMonkey scripting backend. 2005-12-18 17:40:00 +00:00
Miciah Dashiel Butler Masters
dc29fa0a0b Add a missing bracket in report_scripting_error. 2005-12-18 15:32:11 +00:00
Jonas Fonseca
3dadc0ad46 Fix order of args passed to SEE_string_sprintf("%.*s") 2005-12-17 19:19:42 +01:00
Jonas Fonseca
6251884765 One more compile fix for evhook_use_param() macro usage 2005-12-17 18:36:46 +01:00
Jonas Fonseca
1e60feacb4 Compile fix for arg usage macro 2005-12-17 18:27:49 +01:00
Miciah Dashiel Butler Masters
5145ae266a Follow-up for commit fdacffd113: change
the Python, Ruby, and SEE hooks for pre-format-html to work properly
now that they are given a non-NUL-terminated string. Thanks to fonseca
for noticing this problem as well as that fixed by the previous commit.
2005-12-17 16:38:24 +00:00
Miciah Dashiel Butler Masters
fdacffd113 Change the pre-format event so that hooks are given the cache entry
instead of the URI, content, and length of the entry. Change the hooks
to use add_fragment. This should fix the memory leakage when multiple
hooks change the same document, closing bug 703.
2005-12-17 06:32:08 +00:00
Miciah Dashiel Butler Masters
35aa8119e3 In run_lua_func, pass handle_ref 0 for the unref flag so that bindings
will work more than once.
2005-12-17 01:42:20 +00:00
Miciah Dashiel Butler Masters
717b440f62 Add an unref flag to handle_ref so that the unreferencing is optional. 2005-12-17 01:36:26 +00:00
Miciah Dashiel Butler Masters
8edcb292cb In l_set_option, use lua_toboolean for boolean options instead of
lua_tonumber. Now set_option(opt, not get_option(opt)) will always work
to toggle a boolean option.
2005-12-17 00:31:45 +00:00
Laurent MONIN
3dd81f003e Fix trailing whitespaces. 2005-11-25 09:38:32 +01:00