New and Noteworthy
This chapter lists high-profile features in these releases.
Out-Of-Process Java Applet Plug-In (Plugin2)
Single NPAPI Plug-In
In this release, a single fixed symlink to the JavaPlugin2_NPAPI.plugin is present in /Library/Internet Plug-Ins
for all browsers to use. To toggle between the old in-process plug-in (Plugin1) and the new out-of-process plug-in (Plugin2) in Safari, the Java Preferences application creates or removes a symlink to JavaPluginCocoa.bundle. Because Safari loads Cocoa plugins before NPAPI plugins, the presence of this symlink toggles which plug-in is used. Other browsers that use the Java Embedding Plug-in (JEP) will have to disable it to use the NPAPI Plugin2.
Plugin2 Graphics Rendering
Plugin2 now renders cooperatively with the browser via CoreGraphics, which allows Java content to be seamlessly integrated with other DOM elements on a webpage. Previous versions of Plugin2 used an overlay window which was clipped and repositioned to make the Java applet track the browser window. The older model couldn't allow page elements to float above Java content, and also captured events which would often result in the browser application inadvertently deactivating.
Because rendering now occurs off-screen, hardware-accelerated technologies like JOGL and Java3D are no longer able to attach their content by grabbing a pointer to the underlying window. Further work is continuing to allow Plugin2 and the Java AWT to render into a CoreAnimation layer and vend an OpenGL context backed by a sublayer. As of this release, these 3D technologies are not supported.
Opening Windows, the Foreground Application, and the Dock
When an applet hosted via Plugin2 creates a new top-level window, a Dock icon is created for the applet host process. This allows the user to bring the applet's windows to the foreground, because the windows exist in a process separate from the browser. The browser’s windows and the applet's windows are in separate processes to Exposé, Spaces, and the window menus of each application's Dock icon.
Gesture Support
Gesture events are now routed through the EAWT event system. Applications can observe gestures by adding a GestureListener
to any javax.swing.JComponent
using the com.apple.eawt.event.GestureHelper
class. See the JavaDoc in appledocs.jar
for more information about the com.apple.eawt.event
API.
Accessibility Support
Many significant improvements have been made to the accessibility system in Java for OS X. Recent changes have improved how VoiceOver handles text fields and now pushes caret and selection notifications to the native AX API.
Unsupported JVMs
The "Java for OS X v10.6 Update 2" installer moves unsupported JVMs into the JavaVM.framework/Versions/disabled
directory. If you require an older version of Java to make an application run correctly, please contact the application developer to ask them to upgrade to support the current version of Java SE 6, and file a bug at http://bugreport.apple.com with specific details about the compatibility issues that require use of the older version.
Copyright © 2010 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2010-05-14