Commit Graph

199 Commits

Author SHA1 Message Date
Alexey Andreev
a6fb67817c jso: improve support of instanceof and cast against JS wrapper types
Fix #808
2024-04-04 21:18:54 +02:00
Alexey Andreev
f668e27daa jso: properly support JSWrapper generation when java.lang.Object method is called with receiver type of JSObject interface; add optimization for JSObject.toString call.
Fix #898
2024-04-01 17:52:28 +02:00
Alexey Andreev
32ae1ab8f0 js: fix deobfuscator, use new ES2015 module builder 2024-03-13 15:44:18 +01:00
Ivan Hetman
994e01ec9d
jso: add vararg versions of 'add' methods to DomTokenList 2024-03-12 19:02:16 +01:00
Alexey Andreev
582fcf904c jso: implement vararg support for method calls 2024-03-12 18:56:19 +01:00
Alexey Andreev
ccfe19994b js: refactor and simplify AstWriter, properly fix case with variable in catch block 2024-03-06 20:24:35 +01:00
Alexey Andreev
e4452152b7 jso: improve JS class import to Java 2024-02-27 20:16:10 +01:00
Alexey Andreev
eb91577509 jso apis: removed unused field 2024-02-19 20:17:30 +01:00
Alexey Andreev
26b9ae4292 jso apis: add Window.scrollX
Fix #886
2024-02-19 20:16:50 +01:00
Bernd Busse
6788642ea9
JSO: add interface for Promise (#884) 2024-02-17 19:11:04 +01:00
Alexey Andreev
8db406c603 jso: implement exporting Java methods to JS
Fix #785
2024-02-15 21:00:10 +01:00
Bernd Busse
7f333cc73e JSO: make global objects available in WebWorker contexts (no hardcoded window) 2024-02-15 11:55:05 +03:00
Alexey Andreev
6ac598b927 js: add limit for top-level declarations
Rationale: turns out that V8 utilizes stack even to represent module-level functions.
This can cause SOE when there's too many classes and methods in source JVM
2024-02-01 09:41:50 +01:00
Alexey Andreev
18e92a49e3 jso apis: fix declaration in IndexedDB API
Fix #874
2023-12-12 09:40:30 +01:00
Alexey Andreev
a9af6e4f33 JSO: fix wrapping undefined value 2023-12-07 10:02:30 +01:00
Alexey Andreev
067f7453fe JS: a better fix for wrapping/unwrapping JS objects implemented in Java 2023-11-27 13:05:51 +01:00
Alexey Andreev
9757213379 JS: fix unwrapping JS objects implemented in Java 2023-11-26 21:57:19 +01:00
Alexey Andreev
be53236d23 JS: fix wrapping keys for native indexers 2023-11-20 20:33:47 +01:00
Alexey Andreev
810012872c Add couple native declarations to JSO APIs. Update sample 2023-11-19 20:25:29 +01:00
Alexey Andreev
6738d6f1f8 JS: add remembering source writer, refactor PreparedMethod and Renderer to use it, get rid of $rt_globals 2023-11-02 19:03:10 +01:00
Alexey Andreev
23ad999bbd JS: get rid of IOException in SourceWriter and related classes 2023-10-31 20:09:55 +01:00
Alexey Andreev
32ee8943c1 JS: rewrite more natives with templates, get rid of runtime aliases in minification mode 2023-10-31 19:29:32 +01:00
Alexey Andreev
a1cc817504 JS: rewrite more native generators with templates, fix issues in template engine 2023-10-29 20:17:18 +01:00
Alexey Andreev
7acc81ce4d JS: remove lazy creation of primitive classes 2023-10-21 20:07:49 +02:00
Alexey Andreev
02b3c92912 JS: use native string to represent internals of java.lang.String 2023-10-21 19:30:16 +02:00
Jörg Hohwiller
2513ceb236
Re-add module name org.teavm.jso (#817)
Fix #778
2023-10-14 19:35:23 +03:00
Jörg Hohwiller
aaef8672d4
Re-add module name org.teavm.jso.apis (#816)
Fix #778
2023-10-14 19:34:40 +03:00
Alexey Andreev
772dd9eded JS: fix returning JSO objects from Async methods
Fix #805
2023-10-12 21:13:09 +02:00
Alexey Andreev
eed44998f0 jso: trying to improve optimization of JSWrapper 2023-09-27 13:50:30 +02:00
Alexey Andreev
f0f3b060e9 JS: change type of MessageEvent.data back JSObject 2023-08-22 17:55:01 +02:00
Alexey Andreev
b9f5e9be1c JS: optimize case when JS method returns java.lang.Object and then treated as JS object 2023-08-04 20:40:57 +02:00
Alexey Andreev
35f1284ac5 js: fix issue in obfuscated mode 2023-08-04 10:27:44 +02:00
Alexey Andreev
f30a050bfd JS: relax several JSO declarations to accept Object instead of JSObject 2023-08-03 20:50:22 +02:00
Alexey Andreev
334e2829b3 JS: supports module imports in JSBody 2023-08-03 15:42:15 +02:00
Alexey Andreev
a1ed797d73 JS: allow passing Object to JS methods 2023-07-31 20:42:09 +02:00
Alexey Andreev
4cfbca96b8 JS: fix visibility modifier for consistency 2023-07-31 13:13:35 +02:00
Alexey Andreev
c4c6b029e3 JS: add support for exporting Java methods as JS properties 2023-07-30 20:48:43 +02:00
Alexey Andreev
948244cbf4 JS: marshall JS object to Java in a wrapper 2023-07-29 18:54:23 +02:00
Ivan Hetman
db69f8ec58
JSO: TextMetrics addition 2023-06-06 10:04:01 +02:00
Alexey Andreev
7cd121ec97 JSO apis: remove wrong methods. See #695 2023-04-26 10:13:58 +02:00
Ivan Hetman
02a28613b4
jso apis: correct superinterface for Path2D (#690) 2023-04-11 12:58:19 +02:00
Ivan Hetman
928a8631a8
jso apis: add missing methods for Array and Object (#686) 2023-04-11 12:10:44 +02:00
Ivan Hetman
a4b2199142
jso apis: improve support of XMLHttpRequest 2023-02-18 11:14:18 +03:00
Christoph Aschwanden
f40cb430fa
jso apis: make static WebSocket method public (#663)
Co-authored-by: noblemaster <contact@noblemaster.com>
2023-02-17 19:39:10 +01:00
Christoph Aschwanden
8005ba54ec
js apis: missing method for idb object store (#664)
Co-authored-by: noblemaster <contact@noblemaster.com>
2023-02-17 19:38:14 +01:00
Alexey Andreev
8014c038c0 Migrate to gradle 2023-01-23 17:16:07 +01:00
Alexey Andreev
7e3197429d JSO: fix code style to satisfy checkstyle 2022-12-13 18:51:41 +01:00
Ivan Hetman
159db29757
JSO: add Path2D to Canvas API (#646) 2022-12-08 18:44:51 +03:00
Ivan Hetman
e12f99ab49
Crypto/UUID (#639)
JS: if possible, use crypto API to generate UUID
2022-12-07 14:33:27 +03:00
Ivan Hetman
f77cb9d52c
JS: added two missing functions to interop interfaces (#645) 2022-12-07 11:45:55 +03:00