diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/java/awt/Toolkit.java | 45 |
2 files changed, 46 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 8a633e6..a1551e6 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-09-11 Sascha Brawer <brawer@dandelis.ch> + + * java/awt/Toolkit.java (getSystemEventQueue): Call SecurityManager + if one is installed. Improve Javadoc. + (getSystemEventQueueImpl): Improve Javadoc. + 2003-09-11 Tom Tromey <tromey@redhat.com> * java/io/natFilePosix.cc (getCanonicalPath): Handle case where 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 */ |