New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8201538: Remove implementation support for applets from JavaFX #615
8201538: Remove implementation support for applets from JavaFX #615
Conversation
|
/reviewers 2 |
@kevinrushforth |
@@ -152,73 +139,70 @@ public final WindowStage init(GlassSystemMenu sysmenu) { | |||
private void initPlatformWindow() { | |||
if (platformWindow == null) { | |||
Application app = Application.GetApplication(); | |||
if (isPrimaryStage && (null != appletWindow)) { | |||
platformWindow = app.createWindow(appletWindow.getGlassWindow().getNativeWindow()); | |||
} else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The diffs in this method below this point are mostly caused by indentation. I recommend reviewers select the "Hide whitespace changes" option.
This PR does what I would expect it to do. I tested it by building an application on all three desktop platforms and it works as usual.
@kevinrushforth This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 65 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
|
@johanvos or @jperedadnr -- before I integrate this do you want to take a look at the iOS changes here? The changes look trivially correct to me, but since I don't have the ability to build the iOS code, I wanted to give you a change to comment. |
I did a build and sanity check for iOS, and it looks good.
The removed code should indeed not be referenced.
/integrate |
Going to push as commit 4f9b047.
Your commit was automatically rebased without conflicts. |
@kevinrushforth Pushed as commit 4f9b047. |
This PR removes the obsolete applet implementation from JavaFX. It is an ongoing maintenance burden to carry around this legacy code. Also, cleaning this up could help in the implementation of GTK4, Wayland, and Metal, since we won't have to account for the way applet windows are created and managed.
Notes to reviewers:
The first part of the removal was to eliminate the methods and classes on the Java side that are associated with creating and managing an applet window, and which are no longer called. After these were removed, I then removed the corresponding methods and classes on the native side that are no longer called.
Shared Code
The following were removed from the shared code.
Removed Java classes
Removed methods
The following methods were removed in the parent class and all subclasses.
Linux (Gtk) Java code
The following classes or methods were removed:
Linux (Gtk) native glass:
The following native classes were removed:
macOS Java code
The following classes or methods were removed:
macOS native code
The following native classes were removed:
I also removed the
jIsChild
parameter from the window creation code which allowed for removing a lot of dead blocks of code. The main window creation method was:This created a
GlassEmbeddedWindow
iffjIsChild == JNI_TRUE
. SincejIsChild
was only set to true by the (now removed)_createChildWindow(long)
method, we can remove the parameter, theGlassEmbeddedWindow*
classes, and all code blocks that are qualified byif (jIsChild)
.Windows Java code
The following classes or methods were removed:
Windows native code
After removing all references to
IsChild()
, which was only ever true for_createChildWindow()
, we can also remove the following:iOS Java code
iOS native code
With the removal of the
_createChildWindow
method, the following JNI method inIosWindow
can be removed:As a note, I don't have a setup to build this. It is a simple, safe change, but should be double-checked by someone from Gluon.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jfx pull/615/head:pull/615
$ git checkout pull/615
Update a local copy of the PR:
$ git checkout pull/615
$ git pull https://git.openjdk.java.net/jfx pull/615/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 615
View PR using the GUI difftool:
$ git pr show -t 615
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jfx/pull/615.diff