1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-01-03 14:57:44 -05:00
Commit Graph

5326 Commits

Author SHA1 Message Date
Witold Filipczyk
8d6f26c1d8 [quickjs] keyboard ref|unref 2024-06-19 18:33:16 +02:00
Witold Filipczyk
3290a9d174 [quickjs] event ref|unref 2024-06-19 18:26:30 +02:00
Witold Filipczyk
7b00db6265 [quickjs] element ref|unref 2024-06-19 18:23:08 +02:00
Witold Filipczyk
7c18364e9a [quickjs] document ref|unref 2024-06-19 17:34:17 +02:00
Witold Filipczyk
d67e8ce58b [quickjs] customevent ref|unref 2024-06-19 17:12:08 +02:00
Witold Filipczyk
94952dd006 [quickjs] collection ref|unref 2024-06-19 17:06:25 +02:00
Witold Filipczyk
51b735f695 [quickjs] attributes ref|unref 2024-06-19 17:00:56 +02:00
Witold Filipczyk
d631d32518 [quickjs] attr more ref|unref 2024-06-19 16:53:31 +02:00
Witold Filipczyk
2bf349a013 [quickjs] textContent 2024-06-19 16:48:36 +02:00
Witold Filipczyk
189115b661 [mujs] DOMRect 2024-06-16 20:18:16 +02:00
Witold Filipczyk
86affcf076 [quickjs] DOMRect 2024-06-16 19:41:15 +02:00
Witold Filipczyk
0bcdbef902 [spidermonkey] DOMRect 2024-06-16 18:59:52 +02:00
Witold Filipczyk
6f4e30f8b6 [ecmascript] placeholder for CSSStyleDeclaration.getPropertyValue
It returns undefined.
2024-06-16 18:17:01 +02:00
Witold Filipczyk
78b7499f52 [spidermonkey] Empty finalizer for attributes
There was double free. To be resolved later.
2024-06-16 14:45:54 +02:00
Witold Filipczyk
36571c79b3 [spidermonkey] check for empty string 2024-06-14 21:28:36 +02:00
Witold Filipczyk
42a5152cc4 [quickjs] URLSearchParams 2024-06-14 21:24:14 +02:00
Witold Filipczyk
fed5103e64 [spidermonkey] URLSearchParams 2024-06-12 19:34:13 +02:00
Witold Filipczyk
0a7895e362 [python] Updated comment 2024-06-10 13:25:29 +02:00
Witold Filipczyk
2577da8942 [python] module imp is deprecated. Refs #313 2024-06-10 13:07:23 +02:00
Witold Filipczyk
e12140658e [mujs] allow timeout 0 for setTimeout 2024-06-09 18:52:55 +02:00
Witold Filipczyk
3837f45127 [quickjs] allow timeout 0 for setTimeout 2024-06-09 18:46:47 +02:00
Witold Filipczyk
17eaef0688 [spidermonkey] allow timeout == 0 for setTimeout 2024-06-09 18:42:03 +02:00
Witold Filipczyk
761752239f [ecmascript] Try to not put_interpreter when page is modified 2024-06-08 14:08:28 +02:00
Witold Filipczyk
b3f6f44eaf [mujs] document.readyState 2024-06-06 21:50:59 +02:00
Witold Filipczyk
3178bb66a0 [quickjs] document.readyState 2024-06-06 21:41:43 +02:00
Witold Filipczyk
a4a8171d2a [spidermonkey] document.readyState 2024-06-06 21:30:06 +02:00
Witold Filipczyk
13bf5abfcb [spidermonkey] document.getElementsByName not implemented 2024-06-04 17:15:01 +02:00
Witold Filipczyk
dfa2d3f60c [spdermonkey] document.getElementByClassName not implemented 2024-06-04 17:05:43 +02:00
Witold Filipczyk
7d0b5899a3 [spidermonkey] JS::Heap in element listeners 2024-06-04 16:43:59 +02:00
Witold Filipczyk
bf1ef237b7 [mujs] Typos 2024-06-04 14:31:14 +02:00
Witold Filipczyk
de54805f6c [mujs] style.backgroundClip 2024-06-04 14:28:49 +02:00
Witold Filipczyk
fe0c162b2b [quickjs] style.backgroundClip 2024-06-04 14:24:48 +02:00
Witold Filipczyk
98276c2829 [spidermonkey] style.backgroundClip unused, but jquery checks it 2024-06-04 14:19:27 +02:00
Witold Filipczyk
16b2186d75 [spdermonkey] JS::Heap in document 2024-06-03 21:14:02 +02:00
Witold Filipczyk
ffa6c0c2a7 [meson] / operator for paths 2024-06-03 17:22:24 +02:00
Witold Filipczyk
9d5a827a68 [test] added libdomdeps 2024-06-03 16:54:21 +02:00
Witold Filipczyk
06790918b0 [test] Fix ecmascript tests 2024-06-02 10:13:35 +02:00
Witold Filipczyk
ff43fdccbe [tests] Removed alarm 2024-06-01 20:45:08 +02:00
Witold Filipczyk
b57e1eb565 [tests] alarm after 5 seconds for elinks -test 1 2024-06-01 19:05:39 +02:00
Witold Filipczyk
fd3502ede8 [mujs] Show number of assertions on exit 2024-06-01 13:25:37 +02:00
Witold Filipczyk
27580a98e9 [quickjs] Show number of assertions on exit 2024-06-01 13:21:50 +02:00
Witold Filipczyk
524cdeb09e [spidermonkey] Show number of assertions.
Return FAIL when number of failed assertions is not 0.
2024-06-01 13:15:28 +02:00
Witold Filipczyk
582c0e6e40 [mujs] element.addEventListener skip duplicates 2024-05-30 20:32:24 +02:00
Witold Filipczyk
ea947405c2 [quickjs] element.addEventListener skip duplicate listeners 2024-05-30 20:24:28 +02:00
Witold Filipczyk
f7e3626a7d [spidermonkey] element.addEventListener fixes 2024-05-30 20:17:13 +02:00
Witold Filipczyk
5c3ab7781d [mujs] document.addEventListener fixes and sample html file 2024-05-29 16:37:14 +02:00
Witold Filipczyk
4f6a439cbc [quickjs] changes in document.addEventListener
check for duplicates.
2024-05-29 16:30:37 +02:00
Witold Filipczyk
5efad5b30a [spidermonkey] fire_onload
This function is to dispatch the "DOMContentLoaded" event.
2024-05-28 21:07:59 +02:00
Witold Filipczyk
ee43345e4a Revert "[curl] include sys/cdefs.h for __STRING" . Refs #306
This reverts commit 3923ae6d64.
2024-05-27 20:25:23 +02:00
Witold Filipczyk
c42188c15a [curl] Distinguish FTP and SFTP 2024-05-27 16:39:07 +02:00
Witold Filipczyk
17e905b95d [SFTP] Added -Dsftp option. Enabled by default
Fixed building tests.
SFTP can be disabled, even if FTP and libcurl are enabled.
2024-05-27 16:31:25 +02:00
Witold Filipczyk
eb2aaf25ec [curl] Added include. Refs #304 2024-05-27 11:58:10 +02:00
Witold Filipczyk
a198d2da3c [curl] Compilation fix. Refs #304 2024-05-27 11:55:13 +02:00
Witold Filipczyk
1f0ee66aec [protolcols] Do not compile-in SFTP when ftp was disabled. Refs #304 2024-05-27 10:23:46 +02:00
Witold Filipczyk
21dcc580bc [mujs] element.dispatchEvent 2024-05-26 17:45:19 +02:00
Witold Filipczyk
912f1f2fe5 [quickjs] element.dispatchEvent 2024-05-26 17:27:50 +02:00
Witold Filipczyk
ded0717a64 [spidermonkey] element.dispatchEvent 2024-05-26 16:30:57 +02:00
Witold Filipczyk
7b2e8e7aca [mujs] document.dispatchEvent 2024-05-26 13:32:41 +02:00
Witold Filipczyk
488dc0a4aa [quickjs] dispatchEvent
There is an issue with ecmascript_heartbeat. Commented now.
2024-05-24 21:34:05 +02:00
Witold Filipczyk
fadf4f48a9 [spidermonkey] dispatchEvent
event_handler is called twice, but better than none.
2024-05-24 18:23:25 +02:00
Witold Filipczyk
44b743540e [ecmascript] keyboardEvent.target 2024-05-23 16:53:12 +02:00
Witold Filipczyk
6534c412c2 [ecmascript] customEvent.target getter 2024-05-23 16:39:43 +02:00
Witold Filipczyk
67deceb07a [ecmascript] Added event.target getters
It does not work, it is a bug in libdom (unintialised value).
2024-05-23 16:23:47 +02:00
Witold Filipczyk
f5ecff0fd0 [xterm] check also for cases like screen.xterm-256color 2024-05-20 17:06:35 +02:00
Witold Filipczyk
9e4541a0b2 [ecmascript] Check NULL 2024-05-20 16:05:52 +02:00
Witold Filipczyk
8b1fa5e1ff [mujs] Code related to document "similar" to quickjs and spidermonkey
Also added prototypes for endsWith and startsWith.
2024-05-19 21:08:35 +02:00
Witold Filipczyk
4d79093742 [quickjs] JS_DupValue in some places. 2024-05-19 16:32:51 +02:00
Witold Filipczyk
1dad777d14 [quickjs] document rewritten a bit 2024-05-19 15:42:02 +02:00
Witold Filipczyk
888f06c74c [spidermoneky] dom_node_ref
There was error in element_finalize.
2024-05-19 13:37:16 +02:00
Witold Filipczyk
cb8a1c5698 [spidermonkey] Typo 2024-05-18 21:11:59 +02:00
Witold Filipczyk
c152c4aeae [spidermonkey] Added initDocument function 2024-05-18 21:09:14 +02:00
Witold Filipczyk
7885fb0797 [libdom] debug_dump_xhtml
Helper function which print current state of document, called
after modification of DOM tree.
2024-05-17 22:05:25 +02:00
Witold Filipczyk
5c92b4ee96 [libdom] Free keyboard and dom related strings 2024-05-12 18:52:27 +02:00
Witold Filipczyk
8a2e85b73f [dom] keyCodes like in Firefox
KeyboardEvent.keyCode returns 0 in Firefox for test case.
I won't change the test, because elinks relies on libdom API.
2024-05-12 16:51:04 +02:00
Witold Filipczyk
2b4dd0f7ba [mujs] Typo, but still not ok 2024-05-12 13:53:53 +02:00
Witold Filipczyk
ffcbc08d12 [mujs] KeyboardEvent.keyCode (ENTER only)
Something is broken.
2024-05-12 13:48:31 +02:00
Witold Filipczyk
e44821367c [quickjs] KeyboardEvent.keyCode (ENTER only) 2024-05-12 13:30:57 +02:00
Witold Filipczyk
20ab63c1d1 [spidermonkey] KeyboardEvent.keyCode (Enter only)
Only Enter is handled. Strings are not "finalized".
2024-05-12 13:17:15 +02:00
Witold Filipczyk
4439f4e976 [spidermonkey] convert keyCode to dom_string 2024-05-12 12:11:26 +02:00
Witold Filipczyk
c45fa86605 [mujs] KeyboardEvent (libdom) 2024-05-11 14:24:27 +02:00
Witold Filipczyk
3e416135f1 [quickjs] KeyboardEvent (libdom) 2024-05-11 13:55:46 +02:00
Witold Filipczyk
078edf0966 [spideronkey] keyboardEvent.keyCode -> keyboardEvent.code 2024-05-11 13:45:18 +02:00
Witold Filipczyk
348bc937c0 [spidermonkey] KeyboardEvent (libdom)
It passes test, but there is a regression.
It will be addressed later.
2024-05-11 13:04:36 +02:00
Witold Filipczyk
6b053637b3 [ecmascript] Explicit comparison with NULL. Refs #303 2024-05-10 14:44:16 +02:00
Witold Filipczyk
d529265f02 [mujs] CustomEvent (libdom) 2024-05-09 21:22:06 +02:00
Witold Filipczyk
fec5bd561d [quickjs] CustomEvent (libdom) 2024-05-09 20:50:01 +02:00
Witold Filipczyk
4932a689c8 [spidermonkey] CustomEvent (libdom) 2024-05-09 19:19:00 +02:00
Witold Filipczyk
b9d266c52c [mujs] dom_string_unref 2024-05-09 17:32:46 +02:00
Witold Filipczyk
5779cd170b [mujs] Event (libdom) 2024-05-09 16:36:26 +02:00
Witold Filipczyk
1fc9cc8803 [quickjs] Event
libdom
2024-05-09 16:10:23 +02:00
Witold Filipczyk
ccf9fc2fed [spidermonkey] Event
This time libdom code.
2024-05-09 15:51:01 +02:00
Witold Filipczyk
16cbdc2501 [mujs] element.outerHTML setter 2024-05-08 18:57:11 +02:00
Witold Filipczyk
58bf489719 [quickjs] element.outerHTML setter 2024-05-08 18:47:21 +02:00
Witold Filipczyk
46a213ae49 [spidermonkey] element.outerHTML 2024-05-08 18:32:59 +02:00
Witold Filipczyk
ea2dbb05e2 [ecmascript] More add_lowercase_to_string 2024-05-08 15:37:00 +02:00
Witold Filipczyk
abc307e86b [libdom] Added add_lowercase_to_string
Replace uppercase with lowercase in tag names in html "rewrites"
2024-05-08 15:27:48 +02:00
Witold Filipczyk
a9ae51ae9f [mujs] nodelist.forEach passes test case 2024-05-07 19:33:34 +02:00
Witold Filipczyk
7748eb5ab9 [quickjs] Fix in url.c 2024-05-07 17:39:30 +02:00
Witold Filipczyk
948c22ea79 [quickjs] Do not FreeValue 2024-05-07 17:32:46 +02:00
Witold Filipczyk
786469da5f [quickjs] nodelist.forEach 2024-05-07 17:24:13 +02:00
Witold Filipczyk
3d92071eba [mujs] element.querySelectorAll 2024-05-07 16:51:29 +02:00
Witold Filipczyk
57202954bb [mujs] document.querySelectorAll 2024-05-07 16:45:43 +02:00
Witold Filipczyk
4da6e1f85a [mujs] element.closest 2024-05-07 16:41:30 +02:00
Witold Filipczyk
786cbf9500 [mujs] element.matches 2024-05-07 16:36:02 +02:00
Witold Filipczyk
1b954141eb [mujs] element.querySelector 2024-05-07 16:09:30 +02:00
Witold Filipczyk
6f64f8e9db [mujs] document.querySelector 2024-05-07 16:03:41 +02:00
Witold Filipczyk
ff3b231e42 [mujs] URL 2024-05-07 15:54:43 +02:00
Witold Filipczyk
bd7f271b0a [ecmascript] Removed debug fprintfs 2024-05-07 15:03:14 +02:00
Witold Filipczyk
0e42cf7d63 [quickjs] element.querySelectorAll 2024-05-06 21:49:03 +02:00
Witold Filipczyk
6deeb720b9 [quickjs] document.querySelectorAll 2024-05-06 21:41:02 +02:00
Witold Filipczyk
3c81545b81 [quickjs] element.closest 2024-05-06 21:22:16 +02:00
Witold Filipczyk
3406220379 [quickjs] element.matches
TODO forEach
2024-05-06 21:07:27 +02:00
Witold Filipczyk
7c9c3f83bf [quickjs] element.querySelector 2024-05-06 21:01:04 +02:00
Witold Filipczyk
42d2da4be5 [quickjs] document.querySelector 2024-05-06 20:52:29 +02:00
Witold Filipczyk
a6d368d2ab [quickjs] URL 2024-05-06 20:41:55 +02:00
Witold Filipczyk
8bba9f8c4e [spidermonkey] forEach and other Array methods for nodelist 2024-05-06 18:40:02 +02:00
Witold Filipczyk
15ac18c04f [spidermonkey] element.querySelectorAll 2024-05-06 16:32:15 +02:00
Witold Filipczyk
bbe14cddc3 [spidermonkey] document.querySelectorAll 2024-05-06 16:22:18 +02:00
Witold Filipczyk
610eb4b450 [spidermonkey] Fixes for closest 2024-05-05 21:52:07 +02:00
Witold Filipczyk
09447c7812 [spidermonkey] element.closest
There is invalid free when selector is not matched.
2024-05-05 21:02:36 +02:00
Witold Filipczyk
10555292b4 [interlink] trigger was unitialized 2024-05-05 20:46:48 +02:00
Witold Filipczyk
face74fd38 [spidermonkey] element.matches 2024-05-05 19:54:12 +02:00
Witold Filipczyk
667167bd90 [spidermonkey] element.querySelector 2024-05-05 19:36:41 +02:00
Witold Filipczyk
4a6b920586 [ecmascript] walk_tree_query moved to ecmascript-c.c 2024-05-05 19:29:52 +02:00
Witold Filipczyk
cc718c30b5 [spidermonkey] document.querySelector
It passes test case.
2024-05-05 16:58:10 +02:00
Witold Filipczyk
f2fbde2de7 [dos] fallback to __dpmi_get_free_memory_information 2024-05-02 20:47:01 +02:00
Witold Filipczyk
af85de2535 [win32] Get free memory info 2024-05-02 19:58:16 +02:00
Witold Filipczyk
f8d08d1db3 [osdep] os_get_free_mem_in_mib
DOS and Linux implementation. Called in bfu/leds.c
2024-05-02 14:31:27 +02:00
Witold Filipczyk
f48cec877e [spidermonkey] URL
A few getters passed tests.
2024-04-29 19:44:31 +02:00
Witold Filipczyk
1c9c30ad75 [types] %ld is for long 2024-04-26 22:41:39 +02:00
Witold Filipczyk
110cdef5c2 [anonymous] about:config was available in anonymous mode 2024-04-25 17:29:39 +02:00
Witold Filipczyk
23c5c8b866 [status] Boolean option ui.show_mem
Display available memory from /proc/meminfo.
2024-04-25 16:44:39 +02:00
Witold Filipczyk
0f1e056875 [options] Minor optimisation. Store value of "test" option in variable 2024-04-23 16:07:35 +02:00
Witold Filipczyk
af20c0e7e8 [css] execute old css code, when libcss is disabled, but compiled-in 2024-04-22 20:59:30 +02:00
Witold Filipczyk
d86ce27523 [css] Add to the end of list. Refs #301
It needs more testing.
2024-04-20 20:06:45 +02:00
Witold Filipczyk
e136d663c9 [idn2] This else does not make sense 2024-04-18 20:33:52 +02:00
Witold Filipczyk
ac7292ef82 [idn] one variable less 2024-04-18 19:31:48 +02:00
Witold Filipczyk
4d7e94c5e4 [idn2] Warnings when built with -Didn=false . Spotted by jon 2024-04-18 19:08:23 +02:00
Witold Filipczyk
cdf02f5e0c [libcss] Removed unused function 2024-04-18 17:12:27 +02:00
Witold Filipczyk
9ee4ebfa46 [bfu] clang's warning 2024-04-18 17:09:11 +02:00
Witold Filipczyk
77addf7277 [scripting] silence warning 2024-04-18 09:15:10 +02:00
Witold Filipczyk
ebe3672e10 [select] unused function 2024-04-18 08:57:52 +02:00
Witold Filipczyk
324bd02aa9 [encoding] compilation fix (unsigned int bitfields) 2024-04-18 08:51:56 +02:00
Witold Filipczyk
98e82717ea [curl] Option protocol.ftp.curl_tls13_ciphers
ciphers for ftpes.
2024-04-16 12:41:18 +02:00
Witold Filipczyk
f17f2d75ad [curl] option protocol.https.curl_tls13_ciphers
It is a colon separated list of ciphers. Mainly for testing.
See https://curl.se/docs/ssl-ciphers.html
2024-04-16 12:30:56 +02:00
Witold Filipczyk
141ad11ad5 [curl] Added bandwith limit for ftp and http.
protocol.ftp.curl_max_recv_speed
protocol.ftp.curl_max_send_speed
protocol.http.curl_max_recv_speed
protocol.http.curl_max_send_speed

Unit is byte per second. 0 - unlimited.
2024-04-15 19:52:23 +02:00
Witold Filipczyk
ea9d93d44b [test] Make compilable test mailcap-cache. Refs #298 2024-04-15 08:34:08 +02:00
Witold Filipczyk
26815e829a Merge branch 'assert' 2024-04-13 13:56:54 +02:00
Scott Mcdermott
3d1f020a3b [interlink] speed up first elinks, and use pipe trigger for fork_on_start
When the first elinks session starts (whether fork_on_start or not), it
tries to connect on AF_UNIX socket, to see if an existing master is
present.  The current code implements a retry loop with linear-increase
retry backoff, 50ms *= attempts, with 3 attempts, total delay 300ms,
before concluding master is not present.

After forking for fork_on_start, we do have to wait for the new master
to finish setup, so we can connect to it.  This is the case where retry
loop might be useful.  However in fork_on_start=0 case, there should be
no reason to ever wait: if we get ECONNREFUSED or ENOENT, the master
simply is not there, we can go on about our business as the master.

With fork_on_start=1 however, we will race with the child (that will
become the new master), which has to complete its socket/bind/listen
sequence.  Therefore we typically have to wait another 50ms (first
attempt delay), for a total of 350ms delay.

In both cases, there does not seem to be a purpose to the initial
connection attempt retry.  Conclusion after connect() failure should be
authoritative: there is no master.  We do not race with anyone.

If we have done fork_on_start and have to wait, we can instead open a
pipe before forking, and wait for the "new" master (its child) to send
us a byte over the pipe.  Thus, we do not need to poll, but can simply
block until we get the trigger, to indicate that AF_UNIX socket setup
has completed.

This speeds up the first start of elinks by 300ms for fork_on_start=0,
and between 300-350ms for fork_on_start=1 (or possibly more, if the
machine is loaded and child did not finish AF_UNIX setup in first 50ms).
2024-04-12 22:51:01 -07:00
Scott Mcdermott
b482b9e069 [interlink] do not nest retries for connect_to_af_unix(), it has already
Not sure why a retry loop using MAX_BIND_TRIES / BIND_TRIES_DELAY
surrounds connect_to_af_unix(), since bind() is done elsewhere in the
code, and connect_to_af_unix() already has its own retry loop inside the
function, with its own set of defines for retries, i.e. MAX_CONNECT_TRIES
/ CONNECT_TRIES_DELAY, surrounding the connect().  No need to have two
levels of retry; if it's not successful within connect_to_af_unix() it
will never be.
2024-04-12 20:05:53 -07:00