Miciah Dashiel Butler Masters
9d4893e384
Mark smjs_load_hooks static.
2005-12-29 13:26:38 +00:00
Miciah Dashiel Butler Masters
79cf499cf9
Use JS_PropertyStub instead of NULL where applicable in JSClass
...
definitions.
2005-12-29 07:25:04 +00:00
Miciah Dashiel Butler Masters
46b1db47a2
Check JS_TRUE == ... instead of JS_FALSE != ... in smjs_get_keymap_object.
2005-12-29 07:20:33 +00:00
Miciah Dashiel Butler Masters
1ba2b6931a
Don't check CACHE_ENTRY_LENGTH in cache_entry_set_property since, as
...
Jonas pointed out, .length is read-only, so SpiderMonkey will never
pass the setter CACHE_ENTRY_LENGTH. Anyway, .uri is also read-only and
is not handled in the setter.
2005-12-29 07:19:15 +00:00
Miciah Dashiel Butler Masters
17b7ffc7df
Add elinks.bookmarks interface for reading bookmarks.
2005-12-29 07:05:31 +00:00
Miciah Dashiel Butler Masters
81be17108b
Understand a boolean true from elinks.goto_url_hook and
...
elinks.follow_url_hook to mean that the URI should be unchanged and that
further hooks should be permitted to run.
2005-12-28 07:12:09 +00:00
Miciah Dashiel Butler Masters
76d9b9de91
Add elinks.follow_url_hook.
2005-12-28 07:07:21 +00:00
Miciah Dashiel Butler Masters
d7c7736008
Add elinks.goto_url_hook.
2005-12-28 07:06:42 +00:00
Miciah Dashiel Butler Masters
c0fd25b368
Add a read-only .uri property to the cache_entry class.
2005-12-28 06:37:00 +00:00
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