EVALUATION
After studying the code in the old Java Plug-In supporting roaming
user profiles and custom locations for deployment.properties, it was
decided to not propagate the code which overrides the Java system
property user.home with the USERPROFILE environment variable from the
old Java Plug-In to the new Java Plug-In. The native code in the
System class which determines the value of user.home seems to be more
well-founded than the code in the old Java Plug-In, and apparently the
discrepancy in behavior between the Java Plug-In and the standard Java
launcher has been a longstanding issue (see 6317103). There have been
no complaints from enterprise customers testing the new Java Plug-In
of any loss in functionality (in particular, lack of support for
roaming user profiles) so it is believed that the workarounds in the
old Java Plug-In may not even be necessary any more.
To provide support for retargeting the directory containing the
deployment data using the USER_JPI_PROFILE environment variable, this
variable is now queried on the browser side and the
javaplugin.user.profile system property is set both on the browser and
attached JVM sides to achieve consistency, since both sides use the
Config class, which pays attention to the setting of this system
property.
Did some associated cleanups and simplifications, including making
JavaRunTime.initEnvironment public to avoid needing to use reflection
to call it, and removed some FIXMEs from earlier in development that
are incorrect based on our new understanding of how running on earlier
versions of the JRE works.
Tested manually by setting USER_JPI_PROFILE and ensuring that the
appropriate directory was created and used for deployment.properties
and other deployment file accesses. No other test case at this time.
|