src/share/classes/java/awt/Window.java

Print this page

        

*** 193,206 **** } /** * This represents the warning message that is * to be displayed in a non secure window. ie : ! * a window that has a security manager installed for ! * which calling SecurityManager.checkTopLevelWindow() ! * is false. This message can be displayed anywhere in ! * the window. * * @serial * @see #getWarningString */ String warningString; --- 193,205 ---- } /** * This represents the warning message that is * to be displayed in a non secure window. ie : ! * a window that has a security manager installed that denies ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. ! * This message can be displayed anywhere in the window. * * @serial * @see #getWarningString */ String warningString;
*** 415,440 **** /** * Constructs a new, initially invisible window in default size with the * specified {@code GraphicsConfiguration}. * <p> ! * If there is a security manager, this method first calls ! * the security manager's {@code checkTopLevelWindow} ! * method with {@code this} ! * as its argument to determine whether or not the window ! * must be displayed with a warning banner. * * @param gc the {@code GraphicsConfiguration} of the target screen * device. If {@code gc} is {@code null}, the system default * {@code GraphicsConfiguration} is assumed * @exception IllegalArgumentException if {@code gc} * is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.lang.SecurityManager#checkTopLevelWindow */ Window(GraphicsConfiguration gc) { init(gc); } --- 414,437 ---- /** * Constructs a new, initially invisible window in default size with the * specified {@code GraphicsConfiguration}. * <p> ! * If there is a security manager, then it is invoked to check ! * {@code AWTPermission("showWindowWithoutWarningBanner")} ! * to determine whether or not the window must be displayed with ! * a warning banner. * * @param gc the {@code GraphicsConfiguration} of the target screen * device. If {@code gc} is {@code null}, the system default * {@code GraphicsConfiguration} is assumed * @exception IllegalArgumentException if {@code gc} * is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless */ Window(GraphicsConfiguration gc) { init(gc); }
*** 509,537 **** SunToolkit.checkAndSetPolicy(this); } /** * Constructs a new, initially invisible window in the default size. ! * ! * <p>First, if there is a security manager, its ! * {@code checkTopLevelWindow} ! * method is called with {@code this} ! * as its argument ! * to see if it's ok to display the window without a warning banner. ! * If the default implementation of {@code checkTopLevelWindow} ! * is used (that is, that method is not overriden), then this results in ! * a call to the security manager's {@code checkPermission} method ! * with an {@code AWTPermission("showWindowWithoutWarningBanner")} ! * permission. It that method raises a SecurityException, ! * {@code checkTopLevelWindow} returns false, otherwise it ! * returns true. If it returns false, a warning banner is created. * * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.lang.SecurityManager#checkTopLevelWindow */ Window() throws HeadlessException { GraphicsEnvironment.checkHeadless(); init((GraphicsConfiguration)null); } --- 506,525 ---- SunToolkit.checkAndSetPolicy(this); } /** * Constructs a new, initially invisible window in the default size. ! * <p> ! * If there is a security manager set, it is invoked to check ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. ! * If that check fails with a {@code SecurityException} then a warning ! * banner is created. * * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless */ Window() throws HeadlessException { GraphicsEnvironment.checkHeadless(); init((GraphicsConfiguration)null); }
*** 539,563 **** /** * Constructs a new, initially invisible window with the specified * {@code Frame} as its owner. The window will not be focusable * unless its owner is showing on the screen. * <p> ! * If there is a security manager, this method first calls ! * the security manager's {@code checkTopLevelWindow} ! * method with {@code this} ! * as its argument to determine whether or not the window ! * must be displayed with a warning banner. * * @param owner the {@code Frame} to act as owner or {@code null} * if this window has no owner * @exception IllegalArgumentException if the {@code owner}'s * {@code GraphicsConfiguration} is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.lang.SecurityManager#checkTopLevelWindow * @see #isShowing */ public Window(Frame owner) { this(owner == null ? (GraphicsConfiguration)null : owner.getGraphicsConfiguration()); --- 527,549 ---- /** * Constructs a new, initially invisible window with the specified * {@code Frame} as its owner. The window will not be focusable * unless its owner is showing on the screen. * <p> ! * If there is a security manager set, it is invoked to check ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. ! * If that check fails with a {@code SecurityException} then a warning ! * banner is created. * * @param owner the {@code Frame} to act as owner or {@code null} * if this window has no owner * @exception IllegalArgumentException if the {@code owner}'s * {@code GraphicsConfiguration} is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless} returns {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless * @see #isShowing */ public Window(Frame owner) { this(owner == null ? (GraphicsConfiguration)null : owner.getGraphicsConfiguration());
*** 568,593 **** * Constructs a new, initially invisible window with the specified * {@code Window} as its owner. This window will not be focusable * unless its nearest owning {@code Frame} or {@code Dialog} * is showing on the screen. * <p> ! * If there is a security manager, this method first calls ! * the security manager's {@code checkTopLevelWindow} ! * method with {@code this} ! * as its argument to determine whether or not the window ! * must be displayed with a warning banner. * * @param owner the {@code Window} to act as owner or * {@code null} if this window has no owner * @exception IllegalArgumentException if the {@code owner}'s * {@code GraphicsConfiguration} is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns * {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.lang.SecurityManager#checkTopLevelWindow * @see #isShowing * * @since 1.2 */ public Window(Window owner) { --- 554,577 ---- * Constructs a new, initially invisible window with the specified * {@code Window} as its owner. This window will not be focusable * unless its nearest owning {@code Frame} or {@code Dialog} * is showing on the screen. * <p> ! * If there is a security manager set, it is invoked to check ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. ! * If that check fails with a {@code SecurityException} then a ! * warning banner is created. * * @param owner the {@code Window} to act as owner or * {@code null} if this window has no owner * @exception IllegalArgumentException if the {@code owner}'s * {@code GraphicsConfiguration} is not from a screen device * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns * {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless * @see #isShowing * * @since 1.2 */ public Window(Window owner) {
*** 601,615 **** * {@code Window} and a {@code GraphicsConfiguration} * of a screen device. The Window will not be focusable unless * its nearest owning {@code Frame} or {@code Dialog} * is showing on the screen. * <p> ! * If there is a security manager, this method first calls ! * the security manager's {@code checkTopLevelWindow} ! * method with {@code this} ! * as its argument to determine whether or not the window ! * must be displayed with a warning banner. * * @param owner the window to act as owner or {@code null} * if this window has no owner * @param gc the {@code GraphicsConfiguration} of the target * screen device; if {@code gc} is {@code null}, --- 585,598 ---- * {@code Window} and a {@code GraphicsConfiguration} * of a screen device. The Window will not be focusable unless * its nearest owning {@code Frame} or {@code Dialog} * is showing on the screen. * <p> ! * If there is a security manager set, it is invoked to check ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. If that ! * check fails with a {@code SecurityException} then a warning banner ! * is created. * * @param owner the window to act as owner or {@code null} * if this window has no owner * @param gc the {@code GraphicsConfiguration} of the target * screen device; if {@code gc} is {@code null},
*** 619,629 **** * @exception HeadlessException when * {@code GraphicsEnvironment.isHeadless()} returns * {@code true} * * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.lang.SecurityManager#checkTopLevelWindow * @see GraphicsConfiguration#getBounds * @see #isShowing * @since 1.3 */ public Window(Window owner, GraphicsConfiguration gc) { --- 602,611 ----
*** 1360,1394 **** /** * Gets the warning string that is displayed with this window. * If this window is insecure, the warning string is displayed * somewhere in the visible area of the window. A window is ! * insecure if there is a security manager, and the security ! * manager's {@code checkTopLevelWindow} method returns ! * {@code false} when this window is passed to it as an ! * argument. * <p> * If the window is secure, then {@code getWarningString} * returns {@code null}. If the window is insecure, this * method checks for the system property * {@code awt.appletWarning} * and returns the string value of that property. * @return the warning string for this window. - * @see java.lang.SecurityManager#checkTopLevelWindow(java.lang.Object) */ public final String getWarningString() { return warningString; } private void setWarningString() { warningString = null; SecurityManager sm = System.getSecurityManager(); if (sm != null) { ! if (!sm.checkTopLevelWindow(this)) { // make sure the privileged action is only // for getting the property! We don't want the ! // above checkTopLevelWindow call to always succeed! warningString = AccessController.doPrivileged( new GetPropertyAction("awt.appletWarning", "Java Applet Window")); } } --- 1342,1376 ---- /** * Gets the warning string that is displayed with this window. * If this window is insecure, the warning string is displayed * somewhere in the visible area of the window. A window is ! * insecure if there is a security manager and the security ! * manager denies ! * {@code AWTPermission("showWindowWithoutWarningBanner")}. * <p> * If the window is secure, then {@code getWarningString} * returns {@code null}. If the window is insecure, this * method checks for the system property * {@code awt.appletWarning} * and returns the string value of that property. * @return the warning string for this window. */ public final String getWarningString() { return warningString; } private void setWarningString() { warningString = null; SecurityManager sm = System.getSecurityManager(); if (sm != null) { ! try { ! sm.checkPermission(SecurityConstants.AWT.TOPLEVEL_WINDOW_PERMISSION); ! } catch (SecurityException se) { // make sure the privileged action is only // for getting the property! We don't want the ! // above checkPermission call to always succeed! warningString = AccessController.doPrivileged( new GetPropertyAction("awt.appletWarning", "Java Applet Window")); } }