The code in the old plugin which installed the Java icon in the system
tray was inextricably tied to the old plugin's infrastructure, both
COM and the old plug-in's interfaces.
Ported this code from C++ and COM to Java, and placed the port in the
shared deployment code. Internationalization of the associated strings
and loading of the icon resource are now handled in Java code. A new
interface, JavaTrayIconController, has been defined to allow outside
code to define how it shows and hides the Java Console. This will
allow Java Web Start to trivially reuse this code, for example to fix
6349995 (RFE: A way to open the console at run-time when running a
Ensured that the fix for 6626909 (Java Control Panel not launching
from System tray in Vista) is present in this webrev.
In conjunction with the new Java Plug-In, this code also fixes the
longstanding problem of lingering Java icons in the system tray after
the browser exits, since shutdown hooks are run when the new plug-in's
attached JVM instances exit.
Tested manually with all menu actions and balloon tooltip on Windows
XP, including running on top of multiple JREs simultaneously and
opening and closing their Java Consoles from the system tray menu. No
regression test; hard to create one.
Note that this fix also contains fixes that were found to be necessary
to make fetching of proxies and cookies work in the system AppContext
in the new plug-in. These issues showed up when attempting to dismiss
the About Java dialog launched from the tray icon.
*** (#1 of 1): [ UNSAVED ] ###@###.###