Commit Graph

244 Commits

Author SHA1 Message Date
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
Alexey Andreev
64ae44ee01 JS: store global object in a variable to avoid name clashes between generated declarations (in minified mode) and global declarations 2022-11-17 12:02:46 +01:00
Kirill Prazdnikov
fc9748ab06
jso: add missing scrollIntoView method to Element (#623) 2022-10-12 11:03:25 +03:00
LAX1DUDE
19f070840c
Fixed invalid JSBody annotation in IDBObjectStore, fixed IDBFactory compatibility check (#582)
* Fixed invalid JSBody annotation in IDBObjectStore
* Fixed backwards IndexedDB support check, it was throwing an exception only if IndexedDB IS SUPPORTED
2022-02-15 10:04:20 +03:00
Alexey Andreev
0cff9e104c Fix checkstyle warnings after migration to the new version 2021-03-18 11:51:20 +03:00
Alexey Andreev
81bfe3f6e2 Improve pom.xml configuration 2021-03-18 11:16:41 +03:00
Alexey Andreev
195f4c8426 Fix checkstyle error 2021-03-18 00:12:42 +03:00
Alexey Andreev
4c0c7872a1 JS: add support for CCE in strict mode 2021-03-17 21:11:18 +03:00
Alexey Andreev
f435d43996 Revert "JS: fix for creation of typed arrays from view method (#532)"
This reverts commit dfef5ffd
2021-01-28 17:57:35 +03:00
Ivan Hetman
66ce993019
JS: add getter for Element.classList (#553) 2021-01-11 12:12:20 +03:00
Alexey Andreev
660214aefd JS: fix features for opening popup 2020-12-10 19:02:45 +03:00
Ivan Hetman
14ca8ecdbb
JS: fix Element.tagName property (#545) 2020-11-23 11:50:21 +03:00
Ivan Hetman
bec0f44869
JS: add missing mouseevent methods (#542) 2020-11-23 11:47:30 +03:00
Ivan Hetman
dfef5ffd24
JS: fix for creation of typed arrays from view method (#532) 2020-10-26 13:02:54 +03:00
Ivan Hetman
03c70e3a06
Image data fix (#524)
JS: add constructors for ImageData API
2020-10-07 12:21:02 +03:00
falko
7271a394db XMLSerializer added 2020-06-13 13:55:25 +03:00
falko
7506e60762 New DOMParser class 2020-06-13 13:55:25 +03:00
Jörg Hohwiller
3254dce53b added module names form JPMS 2020-04-01 18:57:28 +03:00
Jörg Hohwiller
eeca1a502c added Element.id property 2020-02-26 10:38:49 +03:00
kris-scheibe
9daba6e5a6 add HTMLElement.innerText 2020-02-25 10:47:17 +03:00
Alexey Andreev
d76eeb9be3 Improve <clinit> elimination. Improve inlining in ADVANCED optimization mode 2020-02-14 12:46:57 +03:00
norzak
5397d2ec6b
JS: rename misspelled property name (#466)
It should be setTextContent not getTextContent
2020-02-03 14:38:36 +03:00
Jörg Hohwiller
236c6191c2 #457: also add check/reportValidity 2020-01-16 18:33:39 +03:00
Jörg Hohwiller
9b6f5e7895 added setCustomValidity (#458) 2020-01-15 11:10:00 +03:00
Jörg Hohwiller
5ed4de3a5a added placeholder property (was present in text area but missing in input) 2020-01-14 11:21:41 +03:00
Jörg Hohwiller
c0d42a9d7a #455: added Node.textContent property support 2020-01-13 11:02:01 +03:00
devnewton
0ff17fc2fb Gamepad api (#444)
Add gamepad API to JSO
2019-12-02 18:59:29 +03:00
Alexey Andreev
fb78377db8 Fix various issues reported by PVS Studio and LGTM 2019-10-31 14:36:37 +03:00
Colin Alworth
4e0381950a Added WebSocket.send overrides to support typedarrays 2019-10-04 11:50:16 +03:00
Alexey Andreev
f0b6cc2f30 Update version to 0.7.0 2019-09-24 16:26:14 +03:00
Anton Kot
c031e11107 383_teavm_issue 2019-07-05 17:17:14 +03:00
Alexey Andreev
62b3c68a5b Don't report compile-0time error when there's possible way to reach suspension point. Generate runtime error instead. 2019-06-22 23:30:05 +03:00
Alexey Andreev
c1d4ed2e3c JS: get rid of float type from CanvasRenderingContext2D 2019-05-14 14:50:17 +03:00
Alexey Andreev
b57b628107 JS: add HTMLCanvasElement.toDataURL overloads 2019-05-14 14:49:51 +03:00
Alexey Andreev
ca50f72fe9 Fix displaying diagnostics in out-of-process mode 2019-05-14 14:46:44 +03:00
Alexey Andreev
70ff079113 Mark some JS native methods as not having side effects 2019-03-25 12:47:26 +03:00
Alexey Andreev
f33c90f778 Improve <clinit> elimination:
* Generate clinit instruction instead of calling <clinit>
  directly
* Rename annotation that indicates absence of side effects
* Don't apply this annotation automatically to all JSBody methods
2019-03-24 12:54:06 +03:00
Alexey Andreev
de84105241 Call <clinit> methods before main method when possible, eliminate
lazy class initialization for these <clinit> methods.
2019-03-22 19:40:56 +03:00
Alexey Andreev
ac627580c6 JS: Support JSByRef annotation on method return types 2019-03-21 18:09:38 +03:00
Alexey Andreev
5c90d786a0 Fixes and improvements to JS APIs 2019-02-08 12:45:39 +03:00
Alexey Andreev
fc9a53bdd3 JS: add more API declarations 2019-01-27 23:46:09 +03:00
Alexey Andreev
68522811f2 Fix issue with incremental compilation and JSBody annotation 2019-01-23 19:24:42 +03:00
Alexey Andreev
9305a532bb Replace ArrayList with array to store arguments of InvokeInstruction 2019-01-09 12:51:52 +03:00
Alexey Andreev
f589b0035a Decrease memory consumption 2018-12-29 19:02:03 +03:00
Alexey Andreev
d7d4dc1571 Add IDEA run configuration that runs dev server 2018-12-16 20:42:21 +03:00
Alexey Andreev
d74bcbe2b9 Fast dependency analyzer, fix bugs in incremental compiler 2018-12-07 17:41:21 +03:00
Alexey Andreev
a3dfc0c486 Add API to catch native JS exceptions 2018-11-23 19:54:37 +03:00
Alexey Andreev
753755918d Update build config to avoid jar hell 2018-11-22 14:49:30 +03:00
Alexey Andreev
fc799afcda Add Maven option to run TeaVM in a separate process 2018-11-20 14:22:35 +03:00
Alexey Andreev
e5c85dd3bd Prevent inlining of JSBody code in some complex cases 2018-11-16 19:04:15 +03:00
Alexey Andreev
4d2c075c07 Always embed runtime into generated file. Remove 'runtime' build property 2018-10-28 00:15:36 +03:00
Alexey Andreev
6551f3eb68 Make JS function out of JS object when casting to JSFunctor interface 2018-10-24 14:30:26 +03:00
ScraM Team
65c92aab1f Added Geolocation API interfaces, callbacks and data structures. 2018-10-23 11:53:32 +03:00
Alexey Andreev
b66053f5ce Don't generate virtual wrappers for methods that aren't ever called virtually 2018-10-04 11:55:34 +03:00
Alexey Andreev
4b77a5d15f Fix String.contains. Fix crashing in rare cases or improper use of JSO 2018-09-19 12:47:32 +03:00
Alexey Andreev
243901ec10 Add more JS API wrappers 2018-06-19 22:38:21 +03:00