6167 if (value != null) {
6168 return value;
6169 }
6170
6171 // Need to check non-bootstraps.
6172 Boolean enabled = java.security.AccessController.doPrivileged(
6173 new java.security.PrivilegedAction<Boolean>() {
6174 public Boolean run() {
6175 return isCoalesceEventsOverriden(clazz);
6176 }
6177 }
6178 );
6179 coalesceMap.put(clazz, enabled);
6180 return enabled;
6181 }
6182 }
6183
6184 /**
6185 * Parameter types of coalesceEvents(AWTEvent,AWTEVent).
6186 */
6187 private static final Class[] coalesceEventsParams = {
6188 AWTEvent.class, AWTEvent.class
6189 };
6190
6191 /**
6192 * Indicates whether a class or its superclasses override coalesceEvents.
6193 * Must be called with lock on coalesceMap and privileged.
6194 * @see checkCoalsecing
6195 */
6196 private static boolean isCoalesceEventsOverriden(Class<?> clazz) {
6197 assert Thread.holdsLock(coalesceMap);
6198
6199 // First check superclass - we may not need to bother ourselves.
6200 Class<?> superclass = clazz.getSuperclass();
6201 if (superclass == null) {
6202 // Only occurs on implementations that
6203 // do not use null to represent the bootsrap class loader.
6204 return false;
6205 }
6206 if (superclass.getClassLoader() != null) {
6207 Boolean value = coalesceMap.get(superclass);
|
6167 if (value != null) {
6168 return value;
6169 }
6170
6171 // Need to check non-bootstraps.
6172 Boolean enabled = java.security.AccessController.doPrivileged(
6173 new java.security.PrivilegedAction<Boolean>() {
6174 public Boolean run() {
6175 return isCoalesceEventsOverriden(clazz);
6176 }
6177 }
6178 );
6179 coalesceMap.put(clazz, enabled);
6180 return enabled;
6181 }
6182 }
6183
6184 /**
6185 * Parameter types of coalesceEvents(AWTEvent,AWTEVent).
6186 */
6187 private static final Class<?>[] coalesceEventsParams = {
6188 AWTEvent.class, AWTEvent.class
6189 };
6190
6191 /**
6192 * Indicates whether a class or its superclasses override coalesceEvents.
6193 * Must be called with lock on coalesceMap and privileged.
6194 * @see checkCoalsecing
6195 */
6196 private static boolean isCoalesceEventsOverriden(Class<?> clazz) {
6197 assert Thread.holdsLock(coalesceMap);
6198
6199 // First check superclass - we may not need to bother ourselves.
6200 Class<?> superclass = clazz.getSuperclass();
6201 if (superclass == null) {
6202 // Only occurs on implementations that
6203 // do not use null to represent the bootsrap class loader.
6204 return false;
6205 }
6206 if (superclass.getClassLoader() != null) {
6207 Boolean value = coalesceMap.get(superclass);
|