src/java.corba/share/classes/com/sun/corba/se/spi/orb/ORB.java

Print this page

        

*** 23,32 **** --- 23,33 ---- * questions. */ package com.sun.corba.se.spi.orb; + import java.lang.reflect.Method; import java.util.Map ; import java.util.HashMap ; import java.util.Properties ; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger ;
*** 200,217 **** * AppContext to hold it. Creates and records one if needed. */ public static PresentationManager getPresentationManager() { SecurityManager sm = System.getSecurityManager(); ! sun.misc.JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess(); if (sm != null && javaAwtAccess != null) { ! final Object appletContext = javaAwtAccess.getAppletContext(); if (appletContext != null) { return pmContexts.computeIfAbsent(appletContext, x -> setupPresentationManager()); } } // No security manager or AppletAppContext return Holder.defaultPresentationManager; } --- 201,238 ---- * AppContext to hold it. Creates and records one if needed. */ public static PresentationManager getPresentationManager() { SecurityManager sm = System.getSecurityManager(); ! ! if (sm != null) { ! PresentationManager pm = AccessController.doPrivileged( ! (PrivilegedAction<PresentationManager>) () -> { ! try { ! Class<?> c = Class.forName("jdk.internal.misc.SharedSecrets"); ! Method m = c.getDeclaredMethod("getJavaAWTAccess"); ! final Object javaAwtAccess = m.invoke(null); ! if (sm != null && javaAwtAccess != null) { ! c = Class.forName("jdk.internal.misc.JavaAWTAccess"); ! m = c.getDeclaredMethod("getAppletContext"); ! ! final Object appletContext = m.invoke(javaAwtAccess); if (appletContext != null) { return pmContexts.computeIfAbsent(appletContext, x -> setupPresentationManager()); } } + return null; + } catch (ReflectiveOperationException x) { + throw new InternalError(x); + } + }); + + if (pm != null) + return pm; + } // No security manager or AppletAppContext return Holder.defaultPresentationManager; }