aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/awt/Toolkit.java45
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
*/