Re: RFR: 8201538: Remove implementation support for applets from JavaFX
On Tue, 31 Aug 2021 16:28:53 GMT, Kevin Rushforth wrote: > 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 > > > com.sun.javafx.tk.AppletWindow > com.sun.javafx.tk.quantum.GlassAppletWindow > > > Removed methods > > The following methods were removed in the parent class and all subclasses. > > > com.sun.glass.ui.Application: > public abstract Window createWindow(long parent) > > com.sun.glass.ui.Window: > public boolean getAppletMode() > public void setAppletMode(boolean appletMode) > public void dispatchNpapiEvent(Map eventInfo) > protected abstract long _createChildWindow(long parent) > protected Window(long parent) > protected abstract int _getEmbeddedX(long ptr) > protected abstract int _getEmbeddedY(long ptr) > > com.sun.javafx.tk.Toolkit: > public abstract AppletWindow createAppletWindow(...) > public abstract void closeAppletWindow() > > com.sun.javafx.tk.quantum.WindowStage: > static void setAppletWindow(GlassAppletWindow aw) > static GlassAppletWindow getAppletWindow() > > > > ### Linux (Gtk) Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.gtk.GtkChildWindow (class removed) > > com.sun.glass.ui.gtk.GtkWindow: > protected GtkWindow(long parent) > > > ### Linux (Gtk) native glass: > > The following native classes were removed: > > > WindowContextChild > WindowContextPlug > > > ### macOS Java code > > The following classes or methods were removed: > > > com.sun.glass.events.mac.NpapiEvent (class removed) > > com.sun.glass.ui.mac.MacApplication: > native protected String _getRemoteLayerServerName() > > com.sun.glass.ui.View: > public int getNativeRemoteLayerId(String serverName) > > com.sun.glass.ui.mac.MacView: > native protected int _getNativeRemoteLayerId(long ptr, String serverName) > native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) > > com.sun.glass.ui.mac.MacWindow: > protected MacWindow(long parent) > > > ### macOS native code > > The following native classes were removed: > > > GlassEmbeddedWindow* > GlassNSEvent > GlassView3D+Remote > RemoteLayerSupport > > > 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: > > > - (id)_initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)windowStyle > screen:(NSScreen *)screen jwindow:(jobject)jwindow > jIsChild:(jboolean)jIsChild > > > This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since > `jIsChild` was only set to true by the (now removed) > `_createChildWindow(long)` method, we can remove the parameter, the > `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if > (jIsChild)`. > > ### Windows Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.win.WinChildWindow (class removed) > > com.sun.glass.ui.win.WinWindow: > protected WinWindow(long parent) > > > ### Windows native code > > After removing all references to `IsChild()`, which was only ever true for > `_createChildWindow()`, we can also remove the following: > > > GlassApplication::InstallMouseLLHook > GlassApplication::UninstallMouseLLHook > > > ### iOS Java code > > > com.sun.glass.ui.ios.IosWindow: > protected IosWindow(long parent) > > > ### iOS native code > > With the removal of the `_createChildWindow` method, the following JNI method > in `IosWindow` can be removed: > > > Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, > jlong) > > > 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. I did a build and sanity check for iOS, and it looks good. The removed code should indeed not be referenced. - Marked as reviewed by jvos (Reviewer). PR: https://git.openjdk.java.net/jfx/pull/615
Re: RFR: 8201538: Remove implementation support for applets from JavaFX
On Tue, 31 Aug 2021 16:28:53 GMT, Kevin Rushforth wrote: > 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 > > > com.sun.javafx.tk.AppletWindow > com.sun.javafx.tk.quantum.GlassAppletWindow > > > Removed methods > > The following methods were removed in the parent class and all subclasses. > > > com.sun.glass.ui.Application: > public abstract Window createWindow(long parent) > > com.sun.glass.ui.Window: > public boolean getAppletMode() > public void setAppletMode(boolean appletMode) > public void dispatchNpapiEvent(Map eventInfo) > protected abstract long _createChildWindow(long parent) > protected Window(long parent) > protected abstract int _getEmbeddedX(long ptr) > protected abstract int _getEmbeddedY(long ptr) > > com.sun.javafx.tk.Toolkit: > public abstract AppletWindow createAppletWindow(...) > public abstract void closeAppletWindow() > > com.sun.javafx.tk.quantum.WindowStage: > static void setAppletWindow(GlassAppletWindow aw) > static GlassAppletWindow getAppletWindow() > > > > ### Linux (Gtk) Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.gtk.GtkChildWindow (class removed) > > com.sun.glass.ui.gtk.GtkWindow: > protected GtkWindow(long parent) > > > ### Linux (Gtk) native glass: > > The following native classes were removed: > > > WindowContextChild > WindowContextPlug > > > ### macOS Java code > > The following classes or methods were removed: > > > com.sun.glass.events.mac.NpapiEvent (class removed) > > com.sun.glass.ui.mac.MacApplication: > native protected String _getRemoteLayerServerName() > > com.sun.glass.ui.View: > public int getNativeRemoteLayerId(String serverName) > > com.sun.glass.ui.mac.MacView: > native protected int _getNativeRemoteLayerId(long ptr, String serverName) > native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) > > com.sun.glass.ui.mac.MacWindow: > protected MacWindow(long parent) > > > ### macOS native code > > The following native classes were removed: > > > GlassEmbeddedWindow* > GlassNSEvent > GlassView3D+Remote > RemoteLayerSupport > > > 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: > > > - (id)_initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)windowStyle > screen:(NSScreen *)screen jwindow:(jobject)jwindow > jIsChild:(jboolean)jIsChild > > > This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since > `jIsChild` was only set to true by the (now removed) > `_createChildWindow(long)` method, we can remove the parameter, the > `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if > (jIsChild)`. > > ### Windows Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.win.WinChildWindow (class removed) > > com.sun.glass.ui.win.WinWindow: > protected WinWindow(long parent) > > > ### Windows native code > > After removing all references to `IsChild()`, which was only ever true for > `_createChildWindow()`, we can also remove the following: > > > GlassApplication::InstallMouseLLHook > GlassApplication::UninstallMouseLLHook > > > ### iOS Java code > > > com.sun.glass.ui.ios.IosWindow: > protected IosWindow(long parent) > > > ### iOS native code > > With the removal of the `_createChildWindow` method, the following JNI method > in `IosWindow` can be removed: > > > Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, > jlong) > > > 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. @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. - PR: https://git.openjdk.java.net/jfx/pull/615
Re: RFR: 8201538: Remove implementation support for applets from JavaFX
On Tue, 31 Aug 2021 16:28:53 GMT, Kevin Rushforth wrote: > 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 > > > com.sun.javafx.tk.AppletWindow > com.sun.javafx.tk.quantum.GlassAppletWindow > > > Removed methods > > The following methods were removed in the parent class and all subclasses. > > > com.sun.glass.ui.Application: > public abstract Window createWindow(long parent) > > com.sun.glass.ui.Window: > public boolean getAppletMode() > public void setAppletMode(boolean appletMode) > public void dispatchNpapiEvent(Map eventInfo) > protected abstract long _createChildWindow(long parent) > protected Window(long parent) > protected abstract int _getEmbeddedX(long ptr) > protected abstract int _getEmbeddedY(long ptr) > > com.sun.javafx.tk.Toolkit: > public abstract AppletWindow createAppletWindow(...) > public abstract void closeAppletWindow() > > com.sun.javafx.tk.quantum.WindowStage: > static void setAppletWindow(GlassAppletWindow aw) > static GlassAppletWindow getAppletWindow() > > > > ### Linux (Gtk) Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.gtk.GtkChildWindow (class removed) > > com.sun.glass.ui.gtk.GtkWindow: > protected GtkWindow(long parent) > > > ### Linux (Gtk) native glass: > > The following native classes were removed: > > > WindowContextChild > WindowContextPlug > > > ### macOS Java code > > The following classes or methods were removed: > > > com.sun.glass.events.mac.NpapiEvent (class removed) > > com.sun.glass.ui.mac.MacApplication: > native protected String _getRemoteLayerServerName() > > com.sun.glass.ui.View: > public int getNativeRemoteLayerId(String serverName) > > com.sun.glass.ui.mac.MacView: > native protected int _getNativeRemoteLayerId(long ptr, String serverName) > native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) > > com.sun.glass.ui.mac.MacWindow: > protected MacWindow(long parent) > > > ### macOS native code > > The following native classes were removed: > > > GlassEmbeddedWindow* > GlassNSEvent > GlassView3D+Remote > RemoteLayerSupport > > > 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: > > > - (id)_initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)windowStyle > screen:(NSScreen *)screen jwindow:(jobject)jwindow > jIsChild:(jboolean)jIsChild > > > This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since > `jIsChild` was only set to true by the (now removed) > `_createChildWindow(long)` method, we can remove the parameter, the > `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if > (jIsChild)`. > > ### Windows Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.win.WinChildWindow (class removed) > > com.sun.glass.ui.win.WinWindow: > protected WinWindow(long parent) > > > ### Windows native code > > After removing all references to `IsChild()`, which was only ever true for > `_createChildWindow()`, we can also remove the following: > > > GlassApplication::InstallMouseLLHook > GlassApplication::UninstallMouseLLHook > > > ### iOS Java code > > > com.sun.glass.ui.ios.IosWindow: > protected IosWindow(long parent) > > > ### iOS native code > > With the removal of the `_createChildWindow` method, the following JNI method > in `IosWindow` can be removed: > > > Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, > jlong) > > > 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. Changes look good. - Marked as reviewed by aghaisas (Reviewer). PR: https://git.openjdk.java.net/jfx/pull/615
Re: RFR: 8201538: Remove implementation support for applets from JavaFX
On Tue, 31 Aug 2021 16:28:53 GMT, Kevin Rushforth wrote: > 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 > > > com.sun.javafx.tk.AppletWindow > com.sun.javafx.tk.quantum.GlassAppletWindow > > > Removed methods > > The following methods were removed in the parent class and all subclasses. > > > com.sun.glass.ui.Application: > public abstract Window createWindow(long parent) > > com.sun.glass.ui.Window: > public boolean getAppletMode() > public void setAppletMode(boolean appletMode) > public void dispatchNpapiEvent(Map eventInfo) > protected abstract long _createChildWindow(long parent) > protected Window(long parent) > protected abstract int _getEmbeddedX(long ptr) > protected abstract int _getEmbeddedY(long ptr) > > com.sun.javafx.tk.Toolkit: > public abstract AppletWindow createAppletWindow(...) > public abstract void closeAppletWindow() > > com.sun.javafx.tk.quantum.WindowStage: > static void setAppletWindow(GlassAppletWindow aw) > static GlassAppletWindow getAppletWindow() > > > > ### Linux (Gtk) Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.gtk.GtkChildWindow (class removed) > > com.sun.glass.ui.gtk.GtkWindow: > protected GtkWindow(long parent) > > > ### Linux (Gtk) native glass: > > The following native classes were removed: > > > WindowContextChild > WindowContextPlug > > > ### macOS Java code > > The following classes or methods were removed: > > > com.sun.glass.events.mac.NpapiEvent (class removed) > > com.sun.glass.ui.mac.MacApplication: > native protected String _getRemoteLayerServerName() > > com.sun.glass.ui.View: > public int getNativeRemoteLayerId(String serverName) > > com.sun.glass.ui.mac.MacView: > native protected int _getNativeRemoteLayerId(long ptr, String serverName) > native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) > > com.sun.glass.ui.mac.MacWindow: > protected MacWindow(long parent) > > > ### macOS native code > > The following native classes were removed: > > > GlassEmbeddedWindow* > GlassNSEvent > GlassView3D+Remote > RemoteLayerSupport > > > 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: > > > - (id)_initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)windowStyle > screen:(NSScreen *)screen jwindow:(jobject)jwindow > jIsChild:(jboolean)jIsChild > > > This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since > `jIsChild` was only set to true by the (now removed) > `_createChildWindow(long)` method, we can remove the parameter, the > `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if > (jIsChild)`. > > ### Windows Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.win.WinChildWindow (class removed) > > com.sun.glass.ui.win.WinWindow: > protected WinWindow(long parent) > > > ### Windows native code > > After removing all references to `IsChild()`, which was only ever true for > `_createChildWindow()`, we can also remove the following: > > > GlassApplication::InstallMouseLLHook > GlassApplication::UninstallMouseLLHook > > > ### iOS Java code > > > com.sun.glass.ui.ios.IosWindow: > protected IosWindow(long parent) > > > ### iOS native code > > With the removal of the `_createChildWindow` method, the following JNI method > in `IosWindow` can be removed: > > > Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, > jlong) > > > 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. 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. - Marked as reviewed by mstrauss (Author). PR: https://git.openjdk.java.net/jfx/pull/615
Re: RFR: 8201538: Remove implementation support for applets from JavaFX
On Tue, 31 Aug 2021 16:28:53 GMT, Kevin Rushforth wrote: > 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 > > > com.sun.javafx.tk.AppletWindow > com.sun.javafx.tk.quantum.GlassAppletWindow > > > Removed methods > > The following methods were removed in the parent class and all subclasses. > > > com.sun.glass.ui.Application: > public abstract Window createWindow(long parent) > > com.sun.glass.ui.Window: > public boolean getAppletMode() > public void setAppletMode(boolean appletMode) > public void dispatchNpapiEvent(Map eventInfo) > protected abstract long _createChildWindow(long parent) > protected Window(long parent) > protected abstract int _getEmbeddedX(long ptr) > protected abstract int _getEmbeddedY(long ptr) > > com.sun.javafx.tk.Toolkit: > public abstract AppletWindow createAppletWindow(...) > public abstract void closeAppletWindow() > > com.sun.javafx.tk.quantum.WindowStage: > static void setAppletWindow(GlassAppletWindow aw) > static GlassAppletWindow getAppletWindow() > > > > ### Linux (Gtk) Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.gtk.GtkChildWindow (class removed) > > com.sun.glass.ui.gtk.GtkWindow: > protected GtkWindow(long parent) > > > ### Linux (Gtk) native glass: > > The following native classes were removed: > > > WindowContextChild > WindowContextPlug > > > ### macOS Java code > > The following classes or methods were removed: > > > com.sun.glass.events.mac.NpapiEvent (class removed) > > com.sun.glass.ui.mac.MacApplication: > native protected String _getRemoteLayerServerName() > > com.sun.glass.ui.View: > public int getNativeRemoteLayerId(String serverName) > > com.sun.glass.ui.mac.MacView: > native protected int _getNativeRemoteLayerId(long ptr, String serverName) > native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) > > com.sun.glass.ui.mac.MacWindow: > protected MacWindow(long parent) > > > ### macOS native code > > The following native classes were removed: > > > GlassEmbeddedWindow* > GlassNSEvent > GlassView3D+Remote > RemoteLayerSupport > > > 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: > > > - (id)_initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)windowStyle > screen:(NSScreen *)screen jwindow:(jobject)jwindow > jIsChild:(jboolean)jIsChild > > > This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since > `jIsChild` was only set to true by the (now removed) > `_createChildWindow(long)` method, we can remove the parameter, the > `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if > (jIsChild)`. > > ### Windows Java code > > The following classes or methods were removed: > > > com.sun.glass.ui.win.WinChildWindow (class removed) > > com.sun.glass.ui.win.WinWindow: > protected WinWindow(long parent) > > > ### Windows native code > > After removing all references to `IsChild()`, which was only ever true for > `_createChildWindow()`, we can also remove the following: > > > GlassApplication::InstallMouseLLHook > GlassApplication::UninstallMouseLLHook > > > ### iOS Java code > > > com.sun.glass.ui.ios.IosWindow: > protected IosWindow(long parent) > > > ### iOS native code > > With the removal of the `_createChildWindow` method, the following JNI method > in `IosWindow` can be removed: > > > Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, > jlong) > > > 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. modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java line 157: > 155: if (isPrimaryStage && (null != appletWindow)) { > 156: platformWindow = > app.createWindow(appletWindow.getGlassWindow().getNativeWindow()); > 157: } else { The diffs in this method below this point are mostly caused by indentation. I recommend reviewers select the "Hide whitespace changes" option. - PR:
RFR: 8201538: Remove implementation support for applets from JavaFX
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 com.sun.javafx.tk.AppletWindow com.sun.javafx.tk.quantum.GlassAppletWindow Removed methods The following methods were removed in the parent class and all subclasses. com.sun.glass.ui.Application: public abstract Window createWindow(long parent) com.sun.glass.ui.Window: public boolean getAppletMode() public void setAppletMode(boolean appletMode) public void dispatchNpapiEvent(Map eventInfo) protected abstract long _createChildWindow(long parent) protected Window(long parent) protected abstract int _getEmbeddedX(long ptr) protected abstract int _getEmbeddedY(long ptr) com.sun.javafx.tk.Toolkit: public abstract AppletWindow createAppletWindow(...) public abstract void closeAppletWindow() com.sun.javafx.tk.quantum.WindowStage: static void setAppletWindow(GlassAppletWindow aw) static GlassAppletWindow getAppletWindow() ### Linux (Gtk) Java code The following classes or methods were removed: com.sun.glass.ui.gtk.GtkChildWindow (class removed) com.sun.glass.ui.gtk.GtkWindow: protected GtkWindow(long parent) ### Linux (Gtk) native glass: The following native classes were removed: WindowContextChild WindowContextPlug ### macOS Java code The following classes or methods were removed: com.sun.glass.events.mac.NpapiEvent (class removed) com.sun.glass.ui.mac.MacApplication: native protected String _getRemoteLayerServerName() com.sun.glass.ui.View: public int getNativeRemoteLayerId(String serverName) com.sun.glass.ui.mac.MacView: native protected int _getNativeRemoteLayerId(long ptr, String serverName) native protected void _hostRemoteLayerId(long ptr, int nativeLayerId) com.sun.glass.ui.mac.MacWindow: protected MacWindow(long parent) ### macOS native code The following native classes were removed: GlassEmbeddedWindow* GlassNSEvent GlassView3D+Remote RemoteLayerSupport 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: - (id)_initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle screen:(NSScreen *)screen jwindow:(jobject)jwindow jIsChild:(jboolean)jIsChild This created a `GlassEmbeddedWindow` iff `jIsChild == JNI_TRUE`. Since `jIsChild` was only set to true by the (now removed) `_createChildWindow(long)` method, we can remove the parameter, the `GlassEmbeddedWindow*` classes, and all code blocks that are qualified by `if (jIsChild)`. ### Windows Java code The following classes or methods were removed: com.sun.glass.ui.win.WinChildWindow (class removed) com.sun.glass.ui.win.WinWindow: protected WinWindow(long parent) ### Windows native code After removing all references to `IsChild()`, which was only ever true for `_createChildWindow()`, we can also remove the following: GlassApplication::InstallMouseLLHook GlassApplication::UninstallMouseLLHook ### iOS Java code com.sun.glass.ui.ios.IosWindow: protected IosWindow(long parent) ### iOS native code With the removal of the `_createChildWindow` method, the following JNI method in `IosWindow` can be removed: Java_com_sun_glass_ui_ios_IosWindow__1createChildWindow(JNIEnv *, jobject, jlong) 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. - Commit messages: - 8201538: Remove implementation support for applets from JavaFX Changes: https://git.openjdk.java.net/jfx/pull/615/files Webrev: https://webrevs.openjdk.java.net/?repo=jfx=615=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8201538 Stats: 3424 lines in 64 files changed: 32 ins; 3308 del; 84 mod Patch: https://git.openjdk.java.net/jfx/pull/615.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/615/head:pull/615 PR: https://git.openjdk.java.net/jfx/pull/615