1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
Commit Graph

679 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
7645a836fc Cast the NULL argument of straconcat to unsigned char *.
straconcat reads the args with va_arg(ap, const unsigned char *),
and the NULL macro may have the wrong type (e.g. int).

Many places pass string literals of type char * to straconcat.  This
is in principle also a violation, but I'm ignoring it for now because
if it becomes a problem with some C implementation, then so will the
use of unsigned char * with printf "%s", which is so widespread in
ELinks that I'm not going to try fixing it now.
2007-03-11 12:59:11 +02:00
Kalle Olavi Niemitalo
801d520ddd Fix compiler errors without HAVE_VARIADIC_MACROS. 2007-03-11 12:22:02 +02:00
Witold Filipczyk
cf86e2e72f Added SEE_CFLAGS to the Makefile.config. Use SEE_CFLAGS only when necessary. 2007-02-18 17:09:32 +02:00
Kalle Olavi Niemitalo
92d079de82 Set ecmascript.enable = 0 by default.
ECMAScript support is still considered experimental, and there are
several known vulnerabilities (bugs 548, 755, 771).
2006-12-29 23:24:42 +02:00
Kalle Olavi Niemitalo
49c3c89dcb Add an initial comment as commanded in doc/hacking.txt. 2006-12-23 01:44:26 +02:00
Kalle Olavi Niemitalo
846a8f9a4e Bug 846, SEE: Add checktype.c and checktype.h.
These should have been in commit 8bc3d7a798.
2006-12-10 17:12:27 +02:00
Kalle Olavi Niemitalo
8bc3d7a798 Bug 846, SEE: Check thisobj->objectclass before casting. 2006-12-10 01:09:06 +02:00
Kalle Olavi Niemitalo
d731fe2db0 Renumber all tinyids of SMJS properties to negative integers.
This change does not fix any bug, but the SMJS builtin classes use
negative tinyids already, so I presume this is the preferred practice.
At least it means the tinyids won't have to be renumbered later if
some of these objects are changed to behave as arrays.
2006-12-06 23:09:14 +02:00
Kalle Olavi Niemitalo
7894e30ace Bug 870: Don't panic if an SMJS property ID is unrecognized.
If ECMAScript code does obj[42], then the getProperty or setProperty
function of the JSClass of obj gets 42 as the property ID and must not
treat that as an internal error.
2006-12-03 12:07:07 +02:00
Kalle Olavi Niemitalo
aa410301f1 Bug 846: {get,set}Property check JS_InstanceOf without asserting.
The getProperty and setProperty functions of a JSClass must not assume
that the obj parameter points to an instance of that class.  It might
instead point to another object that merely has an instance of the
class in its prototype chain.  Thus, do not assert that JS_InstanceOf
returns true there.  Instead, run the check even with CONFIG_FASTMEM,
and just return JS_FALSE if it fails.
2006-12-03 11:17:48 +02:00
Kalle Olavi Niemitalo
bddafe5f7e Document how timer callbacks erase timer IDs; add some assertions.
Tangential to bug 868.
2006-12-02 18:35:03 +02:00
Kalle Olavi Niemitalo
7e52d23d2f Bug 846: Document the expected parents of form_elements_class instances.
This should have been in commit 36f5f73a60.
The corresponding commit e76e047196 in the
REL_0_10 branch does include it.
2006-11-26 17:35:33 +02:00
Kalle Olavi Niemitalo
47dce0922b Bug 846: Add plenty of JS_InstanceOf assertions and checks. 2006-11-25 16:09:38 +02:00
Kalle Olavi Niemitalo
bbf0d478e9 Bug 846: Separate JS_GetParent & JS_GetPrivate calls from initializations.
This will allow the types of objects to be checked before those calls.
2006-11-25 15:55:25 +02:00
Kalle Olavi Niemitalo
98a120b3d5 Bug 846: Rename some local variables.
Rename parent to parent_win if it points to an instance of window_class.
2006-11-25 14:57:44 +02:00
Kalle Olavi Niemitalo
356678dd80 Bug 846: Document the JSClass assumed in each JS_{Set,Get}Private call. 2006-11-25 14:52:58 +02:00
Kalle Olavi Niemitalo
36f5f73a60 Bug 846: Document the expected parents of SMJS class instances. 2006-11-25 14:42:20 +02:00
Kalle Olavi Niemitalo
670ad939c3 Bug 846: Comments on the relations between JSClasses and functions. 2006-11-25 13:36:28 +02:00
Kalle Olavi Niemitalo
d6ea143f36 Bug 846: Document the private data in each SMJS class. 2006-11-25 13:19:35 +02:00
Petr Baudis
eab3cb762f ECMAScript: Fix a leak in case of setTimeout(..., 0)
identified by Jonas seconds after I pushed the original fix out. *blush*
2006-11-23 01:24:56 +01:00
Petr Baudis
e66b6737db ECMAScript: Fix crash on setTimeout(..., 0) 2006-11-21 08:01:36 +01:00
Petr Baudis
8ecf87b7b7 setTimeout: Fix da assert
Yeah, Miciah, I'm an idiot, don't walk around the fact.
2006-11-05 01:13:29 +01:00
Petr Baudis
da5ec748b6 setTimeout: kill previous timer when planting a new one
Otherwise if the page installs multiple timers the old one would live
on unreferenced and possibly (likely) trigger after the document's death
and everything would go to hell.
2006-11-05 00:53:04 +01:00
Petr Baudis
74997f772c setTimeout: A more sensibel assert 2006-11-05 00:35:04 +01:00
Petr Baudis
a3a85ef453 setTimeout: Second try to fix timer crashes 2006-11-04 13:20:29 +01:00
Petr Baudis
847feea09e setTimeout: Kill timer when it timed out, fixes random crashes 2006-11-03 20:18:31 +01:00
Miciah Dashiel Butler Masters
6a53f92179 SMJS (doc): Don't signal an error when assigning to window.status 2006-10-26 20:30:26 +00:00
Witold Filipczyk
f4e66f1fc6 ECMAScript: added writeonly property window.status 2006-10-24 20:41:25 +02:00
Witold Filipczyk
6e08e1bf5d ECMAScript: Probably superfluous kill_timer. Removed unused include. 2006-10-24 19:10:10 +02:00
Witold Filipczyk
2fe0623298 Moved the setTimeout timer to the struct document. 2006-10-24 16:47:41 +02:00
Witold Filipczyk
c76ce39a87 SpiderMonkey: added setTimeout. 2006-10-24 15:52:44 +02:00
Witold Filipczyk
e5e6727e81 SEE: setTimeout is a window object method. 2006-10-24 15:33:14 +02:00
Witold Filipczyk
cc4d02b0ae SEE: Added setTimeout function. 2006-10-23 22:45:55 +02:00
Witold Filipczyk
86bc6a534b Should be visible not location. 2006-09-26 19:40:59 +02:00
Witold Filipczyk
c961564d0b SEE: use keystr as return value. Killed warning. 2006-09-03 13:21:23 +02:00
Kalle Olavi Niemitalo
8850d85998 ECMAScript: If accessKey is a surrogate, throw an error when reading it.
Surrogates are now treated the same way as out-of-range characters
like U+110000; if a link has such an access key, then the ECMAScript
accessKey property cannot be read.  It seems currently impossible to
set such an access key though, because accesskey_string_to_unicode()
doesn't support multibyte characters yet.
2006-08-27 11:45:11 +03:00
Kalle Olavi Niemitalo
38fe5b72f7 Define and use macros for handling UTF-16 surrogates. 2006-08-24 23:30:41 +03:00
Kalle Olavi Niemitalo
2d898272c1 ECMAScript: Preserve all of Unicode when setting the accessKey property.
Well, almost all.  U+0000 cannot be used because ELinks thinks that
means the link has no access key.
2006-08-20 17:40:27 +03:00
Kalle Olavi Niemitalo
45b194d1e7 ECMAScript: Fix previous careless SEE changes. 2006-08-20 17:36:06 +03:00
Kalle Olavi Niemitalo
00a5b88371 ECMAScript: Preserve all of Unicode when reading the accessKey property.
Setting the property does not yet support Unicode.
2006-08-20 13:37:03 +03:00
Witold Filipczyk
b1c8eb5572 SEE: use periodic callback. SEE engine passes infinite test 2006-08-12 19:07:16 +02:00
Witold Filipczyk
19315e136e Ecmascript: the code adjusted for SEE-2.0 2006-08-12 18:43:31 +02:00
Witold Filipczyk
2d9e28bd68 Used dir_sep instead of hard coded '/' 2006-07-09 13:02:44 +02:00
Laurent MONIN
5acb5e6663 Trim trailing whitespaces. 2006-05-31 19:34:49 +02:00
Witold Filipczyk
9f69170c2a fixup_select_state was unnecessary 2006-05-02 12:56:05 +02:00
Witold Filipczyk
cdd86d3c20 Ecmascript: write to the variable selectedIndex. Not tested 2006-05-02 11:28:41 +02:00
Witold Filipczyk
d9d6bc23ae Ecmascript: introduced selectedIndex 2006-05-02 09:36:23 +02:00
Witold Filipczyk
c540a9ed63 Ecmascript: more id checks 2006-05-01 19:55:43 +02:00
Witold Filipczyk
8761bf04a9 Ecmascript: check also id, not only name of form controls. This is required
by scripts at http://www.ecs.com.tw/
2006-05-01 19:37:54 +02:00
Witold Filipczyk
dc8f89e5b1 SEE: see_eval_stringback returns either string when SEE_value is string
or NULL otherwise. At www.ecs.com.tw hyperlinks didn't "work".
When document.browse.forms.confirm_submit is 1 there is a problem with
big dialog box.
2006-04-15 19:22:38 +02:00
Witold Filipczyk
3feb4a55a4 SEE: window.navigator is alias for navigator 2006-04-13 22:47:32 +02:00
Witold Filipczyk
83d0d6f84a Fixed the memleak 2006-04-02 17:57:12 +02:00
Witold Filipczyk
c571aea567 Ecmascript: 8 last urls opened by window.open() remembered in a safer way. 2006-04-02 17:00:55 +02:00
Miciah Dashiel Butler Masters
d7a964efaf SMJS: fix segfault on exit
Create and immediately destroy a context when initialising the SMJS
document scripting module, because SMJS crashes on exit if there has
been no context created since it started, which is the case if one does
not load any documents.
2006-03-26 20:28:25 +00:00
Witold Filipczyk
dc075685ae ECMAScript: better handling of set action 2006-03-21 18:45:40 +01:00
witekfl
30a60caa12 SpiderMonkey: do not remember context. Maybe this time it won't hung. 2006-03-01 18:17:16 +01:00
Miciah Dashiel Butler Masters
4b3d88dd6e Delegate ECMAScript submodule initialisation the right way
Replace the ECMAScript module initialisation and de-initialisation
routines that wrapped the SMJS and SEE module initialisation and
de-initialisation routines by having the module system call the SMJS
and SEE routines its own darned self.
2006-02-26 08:51:36 +00:00
Miciah Dashiel Butler Masters
a464157d4d SEE & SMJS: document.write(ln): use all arguments
Additionally add a test to test/ecmascript/document_write.html.

Thanks to Kirk Reiser for observing that ELinks only printed the first.
2006-02-12 04:33:42 +00:00
Miciah Dashiel Butler Masters
7b092af628 SEE: document.writeln: always add new line
Add the new-line character even if SEE_value_to_unsigned_char returns
NULL.
2006-02-12 04:25:10 +00:00
witekfl
10589b04eb Base href was lost while setting form->action by ECMAScript. This is
attempt to fix it
2006-02-09 22:50:30 +01:00
witekfl
d267fcc747 SpiderMonkey: Handling both 'document.location.href ='
and 'document.location ='
2006-02-01 09:31:26 +01:00
witekfl
3c0c912198 SpiderMonkey: target was not set 2006-01-31 13:03:17 +01:00
Miciah Dashiel Butler Masters
db9768963f Merge with git+ssh://pasky.or.cz/srv/git/elinks.git
git+ssh://pasky.or.cz/srv/git/elinks.git
2006-01-30 15:42:03 +00:00
b4d9b7f5a6 Make SpiderMonkey consistent with SEE. Do not cache ecmascript_objs 2006-01-30 11:15:04 +01:00
44710bb1e9 The same trick as in SEE: Remember last 8 locations and do not open
them again
2006-01-30 10:47:24 +01:00
Miciah Dashiel Butler Masters
be07858b2b Refactor the document.write routines
Factor js_document_write_do out of js_document_write and
js_document_writeln and document_write_do out of document_write and
document_write_ln.
2006-01-28 20:39:07 +00:00
645689f1aa I have no idea why it is still crashing. This is last attempt
today to fix it
2006-01-28 19:57:40 +01:00
71871edd43 Maybe this time it won't crash 2006-01-28 17:08:45 +01:00
7c7541f4d1 parent, self and top are the same since now 2006-01-28 14:15:55 +01:00
9cc9db4e24 Handling onsubmit 2006-01-28 11:17:22 +01:00
9c9fa1d81c Defined document.write and document.writeln for SEE 2006-01-27 14:55:53 +01:00
8bf45d0ece Spidermonkey's document.write and document.writeln defined. They work,
but rendering doesn't work
2006-01-27 13:29:38 +01:00
62d42380f8 Added ret param for document.write 2006-01-27 12:07:45 +01:00
6761b3995d Avoided code duplication 2006-01-27 10:08:19 +01:00
witekfl
e5dbbff398 Set returned value. 2006-01-25 22:22:10 +01:00
Laurent MONIN
cf8de45782 Cleanup and tidy up window.open workaround. 2006-01-25 17:20:47 +01:00
Laurent MONIN
f6f66a28c8 Fix warning: variable xxx might be clobbered by longjmp or vfork, that
occur with gcc 2.95.3.
2006-01-25 17:03:15 +01:00
witekfl
c204af75fe Because of gradual rendering window.open is called many times with the same
arguments. This workaround remembers 8 last opened URLs and do not let
open them again.
2006-01-25 11:50:46 +01:00
61c43faacc Do not include see/see.h in header files 2006-01-21 22:19:22 +01:00
Jonas Fonseca
4570c4976e Use CONFIG_ECMASCRIPT_SMJS in favour of CONFIG_SPIDERMONKEY, specificity! 2006-01-20 15:56:40 +01:00
Miciah Dashiel Butler Masters
958b0d308d Re-introduce the stracpy in the correct place
See commit 836744ea84 and commit
bf3faa5c2b.
2006-01-18 20:26:01 +00:00
witekfl
bf3faa5c2b There is no reason to "stracpy" already allocated string. 2006-01-18 20:08:50 +01:00
2de1a840a6 I was wrong. self is function object, thisobj is peculiar object 2006-01-17 20:29:48 +01:00
Miciah Dashiel Butler Masters
836744ea84 js_window_open: Fix extra free that I just introduced
Assign deo->target a copy of target instead of target itself because
delayed_goto_uri_frame frees deo->target and SpiderMonkey owns target.

Reported by Jonas.
2006-01-17 03:15:56 +00:00
Miciah Dashiel Butler Masters
466bb18be0 Move delayed_open to src/terminal/tab.c
The two copies of delayed_open in src/ecmascript/spidermonkey/window.c
and in src/ecmascript/see/window.c are identical, so move them
to src/terminal/tab.c and eliminate the duplication.
2006-01-16 19:28:03 +00:00
Miciah Dashiel Butler Masters
1f68492d57 Move delayed_goto_uri_frame to src/session/task.c
Until the last change in src/ecmascript/see/window.c, the two copies
of delayed_goto_uri_frame in src/ecmascript/spidermonkey/window.c and
in src/ecmascript/see/window.c were identical. That change applies to
both versions, so move the newer one to src/session/task.c and eliminate
the duplication. Also move struct delayed_open to src/session/session.h.
2006-01-16 19:18:33 +00:00
6cd9a11fdc Use frame->name instead of target avoiding possible segfault. 2006-01-16 14:32:13 +01:00
b8126ea9de Introduced ecmascript submodules 2006-01-16 14:14:14 +01:00
8782b01659 thisobj is for function object, self is for
object
2006-01-16 13:51:08 +01:00
Jonas Fonseca
2748d043f9 Autogenerate .vimrc files and put the master in config/vimrc
This changes the init target to be idempotent: most importantly it will now
never overwrite a Makefile if it exists. Additionally 'make init' will
generate the .vimrc files. Yay, no more stupid 'added fairies' commits! ;)
2006-01-15 18:38:58 +01:00
Jonas Fonseca
b9316b3a9c Fix a few possible leaks 2006-01-14 12:06:10 +01:00
Jonas Fonseca
5d38e99465 Sort Makefile conditionals 2006-01-14 10:41:58 +01:00
Laurent MONIN
5685221512 Trim trailing whitespaces. 2006-01-13 00:11:39 +01:00
Laurent MONIN
fd39e595a3 CONFIG_SEE -> CONFIG_ECMASCRIPT_SEE. 2006-01-12 17:33:33 +01:00
witekfl
cbb1c5ea23 Fixes some bugs related with SEE 2006-01-12 15:21:32 +01:00
witekfl
0fae27fc27 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-11 20:40:57 +01:00
witekfl
80b0607167 Prevent flooding. Similar to rate_limit. What is the origin of "flood" is
unknown to me.
2006-01-11 20:40:22 +01:00
Laurent MONIN
3f9bb0d7f9 CONFIG_BEOS -> CONFIG_OS_BEOS 2006-01-11 20:12:59 +01:00
Laurent MONIN
202965d338 CONFIG_WIN32 -> CONFIG_OS_WIN32 2006-01-11 20:10:27 +01:00
Laurent MONIN
86f5f2cf48 CONFIG_UNIX -> CONFIG_OS_UNIX 2006-01-11 20:10:27 +01:00
Laurent MONIN
9eafa94fd9 CONFIG_RISCOS -> CONFIG_OS_RISCOS 2006-01-11 20:10:26 +01:00
Laurent MONIN
b6ccfc0e07 CONFIG_OS2 -> CONFIG_OS_OS2 2006-01-11 20:10:26 +01:00
Laurent MONIN
043e6aa4e7 More white lines. 2006-01-11 13:45:09 +01:00
witekfl
179fdf2bb1 Global open() and alert(). Both ECMAScript engines has similar state.
Both doesn't work with my bank account :(
2006-01-11 13:19:51 +01:00
witekfl
c2e9448f49 Fixed focus() in SEE ecmascript. 2006-01-11 09:17:17 +01:00
Jonas Fonseca
1d2a6e4d1b Introduce CONFIG_ECMASCRIPT_SMJS used for Spidermonkey document scripting
It makes it possible to build with SEE document scripting and Spidermonkey
browser scripting.
2006-01-11 02:21:53 +01:00
Jonas Fonseca
4b132e0f63 A few compile fixes
You should _always_ #include "elinks.h" before other ELinks header files,
to take care of CONFIG_DEBUG. Drop unused variable.
2006-01-11 01:57:03 +01:00
Jonas Fonseca
cd493ae7a8 Remove see.o 2006-01-10 20:38:43 +01:00
witekfl
d8592e4f99 Alternative experimental ECMAScript engine. 2006-01-10 19:17:29 +01:00
Miciah Dashiel Butler Masters
62de7cc750 In delayed_goto, do not load the page if the doc_view has changed since
the delayed_goto was registered. This fixes bug 611, the infinite loop
on Gmane.
2005-12-26 14:12:45 +00:00
Jonas Fonseca
83dca03a27 Remove indentation from option description 2005-11-27 07:29:36 +01:00
Jonas Fonseca
acf2ec806b Remove empty lines in start of header files
A left over from the CVS Id removal. Also, for a few files, normalize the
order in which things are declared in headers.
2005-11-15 11:33:27 +01:00
Miciah Dashiel Butler Masters
8fb4fc437a Redraw the title when the document changes it with ECMAScript. 2005-10-30 04:33:40 +00:00
Miciah Dashiel Butler Masters
dcbb9cf909 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-10-24 00:32:42 +00:00
Miciah Dashiel Butler Masters
82c4d457d6 Add a boolean option ecmascript.ignore_noscript, default off,
that when enabled causes ELinks to ignore any content enclosed
with <noscript> tags.
2005-10-23 21:59:05 +00:00
Laurent MONIN
df065ead80 Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
Jonas Fonseca
c88afeb1c2 path_to_top -> top_builddir 2005-10-20 04:00:35 +02:00
Jonas Fonseca
e39a4342d6 Include $(top_srcdir)/Makefile.lib instead of $(path_to_top)/Makefile.lib
A step towards out of tree builds ...
2005-10-20 01:11:47 +02:00
Jonas Fonseca
94ed6fa754 Finalize and cleanup the denser Makefile format
Convert remaining conditional file building to use

	OBJS-$(CONFIG_FOO) += foo.o

one problem with reverse meaining (in util/) fixed with local 'hack'.

Cleanup and remove stuff which is now default targets.
2005-09-28 12:38:17 +02:00
Jonas Fonseca
68de9e35d3 Automagically link in subdir lib.o files
It is a little ugly since I couldn't get $(wildcard) to expand *.o files
so it just checks if there are any *.c files and then link in the lib.o
based on that.
2005-09-27 22:38:00 +02:00
Jonas Fonseca
1efab31581 Simplify building of and linking with directories
Ditch the building of an archive (.a) in favour of linking all objects in a
directory into a lib.o file. This makes it easy to link in subdirectories
and more importantly keeps the build logic in the local subdirectories.

Note: after updating you will have to rm **/*.a if you do not make clean
before updating.
2005-09-27 21:38:58 +02:00
Jonas Fonseca
b30064c0d0 Rename targets: *-l -> *-local 2005-09-27 21:11:28 +02:00
Petr Baudis
204bbe5d2c Fix starting a build from a subdirectory ELBuild-wise
Now all the submakefiles contain informationa buot where in the directory
hierarchy they stay.
2005-09-16 02:07:36 +02:00
Petr Baudis
32fe41fae7 ELBuild: Use 'include' instead of '-include'
We _do_ want to error on when including .config and .lib failed.
2005-09-16 01:09:42 +02:00
Petr Baudis
fffc573769 Use all-l,install-l,clean-l targets in individual makefiles and let
Makefile.lib multiplex the real ones. That's so that the -recursive
ones always come first.
2005-09-16 00:52:54 +02:00
Petr Baudis
833770a5f7 Implicit recursiveness and clean rule
All objects defining $(OBJS) will get them and *.a deleted during
make clean.

The all, clean and install rules now implicitly imply their -recursive
counterparts - those will just do nothing in case of $(SUBDIRS) not
defined, so that's ok.
2005-09-15 23:28:56 +02:00
Petr Baudis
06ea255a22 Convert part of the build to the new build system
The root makefile is converted as well as some leaf Makefiles. This
also brings in the required infrastructure and adjusts configure.in
appropriately.

I converted only makefiles containing no configurable stuff, since
that'll require more consideration yet.
2005-09-15 21:03:56 +02:00
Jonas Fonseca
7462f22635 Remove now obsolete .cvsignore files. 2005-09-15 18:33:20 +02:00
Petr Baudis
0f6d4310ad Initial commit of the HEAD branch of the ELinks CVS repository, as of
Thu Sep 15 15:57:07 CEST 2005. The previous history can be added to this
by grafting.
2005-09-15 15:58:31 +02:00