There are now three layers of functionality:
- Core layer which contains the main JavaPoly API and logic
- Dipatcher layer which deals with dispatching messages to JVM
- JVM layer which runs the JVM and request handling of JavaPoly commands
Things which have been removed
- QueueExecutor and associated logic such as jvmReadyPromise
installListener()API from dispatchers and JVM (it is now an internal detail of dispatcher)
- callback parameter from JavaPolyLoader
- There were two listeners for webworker messages. There is now only one listener.
This branch has been tested with 8 combinations:
- Chromium and Firefox
- With and without webworkers
- Two test pages: test/index.html and test/java_source_file.html
There are still some changes that can be done, especially around the loading of "Java mime" scripts. However, I am making a PR early, so that others don't get blocked.
Note: there are some test failures in this combination:
Firefox + webworker + java_source_file.html. Proxy objects for Java classes are not being created in web-worker mode. But I believe it is not related to changes in this PR. This PR is just exposing the failure. I will raise an issue for it after this PR gets merged.
Status changed to merged
23 Dec, 2015