diff options
Diffstat (limited to 'libjava/java/awt/Toolkit.java')
-rw-r--r-- | libjava/java/awt/Toolkit.java | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/libjava/java/awt/Toolkit.java b/libjava/java/awt/Toolkit.java index f8cc6bf..e13bd5f 100644 --- a/libjava/java/awt/Toolkit.java +++ b/libjava/java/awt/Toolkit.java @@ -803,23 +803,58 @@ public abstract class Toolkit return props.getProperty(key, def); } + /** - * Returns the event queue for the applet. Despite the word "System" - * in the name of this method, there is no guarantee that the same queue - * is shared system wide. + * Returns the event queue that is suitable for the calling context. + * + * <p>Despite the word “System” in the name of this + * method, a toolkit may provide different event queues for each + * applet. There is no guarantee that the same queue is shared + * system-wide. + * + * <p>The implementation first checks whether a + * SecurityManager has been installed. If so, its {@link + * java.lang.SecurityManager#checkAwtEventQueueAccess()} method gets + * called. The security manager will throw a SecurityException if it + * does not grant the permission to access the event queue. * - * @return The event queue for this applet (or application) + * <p>Next, the call is delegated to {@link + * #getSystemEventQueueImpl()}. + * + * @return The event queue for this applet (or application). + * + * @throws SecurityException if a security manager has been + * installed, and it does not grant the permission to access the + * event queue. */ public final EventQueue getSystemEventQueue() { + SecurityManager sm; + + sm = System.getSecurityManager(); + if (sm != null) + sm.checkAwtEventQueueAccess(); + return getSystemEventQueueImpl(); } + /** - * // FIXME: What does this do? + * Returns the event queue that is suitable for the calling context. + * + * <p>Despite the word “,System”, in the name of this + * method, a toolkit may provide different event queues for each + * applet. There is no guarantee that the same queue is shared + * system-wide. + * + * <p>No security checks are performed, which is why this method + * may only be called by Toolkits. + * + * @see #getSystemEventQueue() */ protected abstract EventQueue getSystemEventQueueImpl(); + /** * @since 1.3 */ |