Cleaning base from references to applet. All eliminated except RepaintManager which has been enriched in 1.6 with a public method that takes Applet as parameter.
1.1 --- a/build.xml Fri Jun 19 17:10:53 2009 +0200
1.2 +++ b/build.xml Fri Jun 19 21:46:14 2009 +0200
1.3 @@ -53,12 +53,22 @@
1.4 of what classes belong into what compilation group.
1.5 -->
1.6 <selector id="applet">
1.7 - <or>
1.8 - <filename name="java/beans/AppletInitializer*"/>
1.9 - <filename name="java/applet/**"/>
1.10 - <filename name="sun/applet/**"/>
1.11 - <filename name="META-INF/services/sun.beans.AppletProxy"/>
1.12 - </or>
1.13 + <and>
1.14 + <or>
1.15 + <filename name="java/beans/AppletInitializer*"/>
1.16 + <filename name="java/applet/**"/>
1.17 + <filename name="javax/swing/JApplet*"/>
1.18 + <filename name="sun/applet/**"/>
1.19 + <filename name="META-INF/services/sun.beans.AppletProxy"/>
1.20 + <!-- either this or include AudioClip in client package
1.21 + <filename name="sun/net/www/content/audio/**"/>
1.22 + -->
1.23 + </or>
1.24 + <none>
1.25 + <filename name="java/applet/AudioClip*"/>
1.26 + <filename name="sun/applet/AppletAudioClip*"/>
1.27 + </none>
1.28 + </and>
1.29 </selector>
1.30 <selector id="corba">
1.31 <or>
1.32 @@ -95,9 +105,6 @@
1.33 <filename name="com/sun/jndi/url/iiop/iiopURLContext.java"/>
1.34 <filename name="sun/rmi/rmic/iiop/**"/>
1.35
1.36 - <!-- this actually does not depend on corba, but probably
1.37 - does not belong to base either -->
1.38 - <filename name="com/sun/tools/corba/**"/>
1.39 <!-- now there are just two references in jconsole -->
1.40 <filename name="sun/tools/jconsole/**"/>
1.41 </or>
1.42 @@ -119,6 +126,10 @@
1.43 <selector id="deprecated7">
1.44 <or>
1.45 <filename name="java/beans/Beans*"/>
1.46 +
1.47 + <!-- tools -->
1.48 + <filename name="sun/tools/serialver/**"/>
1.49 + <filename name="com/sun/tools/corba/**"/>
1.50 </or>
1.51 </selector>
1.52
1.53 @@ -126,6 +137,8 @@
1.54 <none>
1.55 <!-- exclude classes from other modules -->
1.56 <selector refid="corba"/>
1.57 + <selector refid="applet"/>
1.58 + <selector refid="deprecated7"/>
1.59 <!--
1.60 <selector refid="beans"/>
1.61 <selector refid="client"/>
1.62 @@ -154,13 +167,13 @@
1.63 <target name="deprecated7">
1.64 <antcall target="-compile-one-module">
1.65 <param name="module" value="deprecated7"/>
1.66 - <param name="depends" value="beans:applet"/>
1.67 + <param name="depends" value="base:applet"/>
1.68 </antcall>
1.69 </target>
1.70 <target name="applet">
1.71 <antcall target="-compile-one-module">
1.72 <param name="module" value="applet"/>
1.73 - <param name="depends" value="beans"/>
1.74 + <param name="depends" value="base"/>
1.75 </antcall>
1.76 </target>
1.77 <target name="beans">
2.1 --- a/src/share/classes/com/sun/naming/internal/ResourceManager.java Fri Jun 19 17:10:53 2009 +0200
2.2 +++ b/src/share/classes/com/sun/naming/internal/ResourceManager.java Fri Jun 19 21:46:14 2009 +0200
2.3 @@ -25,7 +25,7 @@
2.4
2.5 package com.sun.naming.internal;
2.6
2.7 -import java.applet.Applet;
2.8 +import java.awt.Component;
2.9 import java.io.InputStream;
2.10 import java.io.IOException;
2.11 import java.net.URL;
2.12 @@ -41,6 +41,7 @@
2.13 import java.util.WeakHashMap;
2.14
2.15 import javax.naming.*;
2.16 +import sun.swing.SwingUtilities2;
2.17
2.18 /**
2.19 * The ResourceManager class facilitates the reading of JNDI resource files.
2.20 @@ -143,7 +144,7 @@
2.21 if (env == null) {
2.22 env = new Hashtable(11);
2.23 }
2.24 - Applet applet = (Applet)env.get(Context.APPLET);
2.25 + Component applet = (Component)env.get(Context.APPLET);
2.26
2.27 // Merge property values from env param, applet params, and system
2.28 // properties. The first value wins: there's no concatenation of
2.29 @@ -157,7 +158,7 @@
2.30 Object val = env.get(props[i]);
2.31 if (val == null) {
2.32 if (applet != null) {
2.33 - val = applet.getParameter(props[i]);
2.34 + val = SwingUtilities2.getAppletParameter(applet, props[i]);
2.35 }
2.36 if (val == null) {
2.37 // Read system property.
3.1 --- a/src/share/classes/java/awt/Component.java Fri Jun 19 17:10:53 2009 +0200
3.2 +++ b/src/share/classes/java/awt/Component.java Fri Jun 19 21:46:14 2009 +0200
3.3 @@ -61,7 +61,6 @@
3.4 import java.security.PrivilegedAction;
3.5 import javax.accessibility.*;
3.6 import java.util.logging.*;
3.7 -import java.applet.Applet;
3.8
3.9 import sun.security.action.GetPropertyAction;
3.10 import sun.awt.AppContext;
3.11 @@ -7624,7 +7623,7 @@
3.12 }
3.13 }
3.14 if (toFocus == null) {
3.15 - Applet applet = EmbeddedFrame.getAppletIfAncestorOf(this);
3.16 + Component applet = EmbeddedFrame.getAppletIfAncestorOf(this);
3.17 if (applet != null) {
3.18 toFocus = applet;
3.19 }
4.1 --- a/src/share/classes/javax/swing/BufferStrategyPaintManager.java Fri Jun 19 17:10:53 2009 +0200
4.2 +++ b/src/share/classes/javax/swing/BufferStrategyPaintManager.java Fri Jun 19 21:46:14 2009 +0200
4.3 @@ -24,7 +24,6 @@
4.4 */
4.5 package javax.swing;
4.6
4.7 -import java.applet.Applet;
4.8 import java.awt.*;
4.9 import java.awt.event.*;
4.10 import java.awt.image.*;
4.11 @@ -36,6 +35,7 @@
4.12 import sun.awt.SubRegionShowable;
4.13 import sun.java2d.SunGraphics2D;
4.14 import sun.security.action.GetPropertyAction;
4.15 +import sun.swing.SwingUtilities2;
4.16
4.17 /**
4.18 * A PaintManager implementation that uses a BufferStrategy for
4.19 @@ -580,7 +580,7 @@
4.20 root = c;
4.21 xOffset = yOffset = 0;
4.22 while (root != null && (!(root instanceof Window) &&
4.23 - !(root instanceof Applet))) {
4.24 + !SwingUtilities2.isApplet(root))) {
4.25 xOffset += root.getX();
4.26 yOffset += root.getY();
4.27 root = root.getParent();
4.28 @@ -853,7 +853,7 @@
4.29 new ImageCapabilities(true),
4.30 type);
4.31 BufferStrategy bs = null;
4.32 - if (root instanceof Applet) {
4.33 + if (SwingUtilities2.isApplet(root)) {
4.34 try {
4.35 getCreateBufferStrategyMethod().invoke(root, 2, caps);
4.36 bs = (BufferStrategy)getGetBufferStrategyMethod().
5.1 --- a/src/share/classes/javax/swing/JComponent.java Fri Jun 19 17:10:53 2009 +0200
5.2 +++ b/src/share/classes/javax/swing/JComponent.java Fri Jun 19 21:46:14 2009 +0200
5.3 @@ -48,8 +48,6 @@
5.4 import java.beans.VetoableChangeSupport;
5.5 import java.beans.Transient;
5.6
5.7 -import java.applet.Applet;
5.8 -
5.9 import java.io.Serializable;
5.10 import java.io.ObjectOutputStream;
5.11 import java.io.ObjectInputStream;
5.12 @@ -560,7 +558,7 @@
5.13 return ((JComponent)parent).getComponentPopupMenu();
5.14 }
5.15 if(parent instanceof Window ||
5.16 - parent instanceof Applet) {
5.17 + SwingUtilities2.isApplet(parent)) {
5.18 // Reached toplevel, break and return null
5.19 break;
5.20 }
5.21 @@ -2922,7 +2920,7 @@
5.22 */
5.23 Container parent = this;
5.24 while (parent != null && !(parent instanceof Window) &&
5.25 - !(parent instanceof Applet)) {
5.26 + !SwingUtilities2.isApplet(parent)) {
5.27 if(parent instanceof JComponent) {
5.28 if(ksE != null && ((JComponent)parent).processKeyBinding(ksE, e,
5.29 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, pressed))
5.30 @@ -4426,7 +4424,7 @@
5.31 Container p = c.getParent();
5.32 Rectangle bounds = c.getBounds();
5.33
5.34 - if (p == null || p instanceof Window || p instanceof Applet) {
5.35 + if (p == null || p instanceof Window || SwingUtilities2.isApplet(p)) {
5.36 visibleRect.setBounds(0, 0, bounds.width, bounds.height);
5.37 } else {
5.38 computeVisibleRect(p, visibleRect);
5.39 @@ -4589,7 +4587,7 @@
5.40 */
5.41 public Container getTopLevelAncestor() {
5.42 for(Container p = this; p != null; p = p.getParent()) {
5.43 - if(p instanceof Window || p instanceof Applet) {
5.44 + if(p instanceof Window || SwingUtilities2.isApplet(p)) {
5.45 return p;
5.46 }
5.47 }
5.48 @@ -5013,7 +5011,7 @@
5.49 }
5.50 Component child;
5.51 for (c = this, child = null;
5.52 - c != null && !(c instanceof Window) && !(c instanceof Applet);
5.53 + c != null && !(c instanceof Window) && !SwingUtilities2.isApplet(c);
5.54 child = c, c = c.getParent()) {
5.55 JComponent jc = (c instanceof JComponent) ? (JComponent)c :
5.56 null;
6.1 --- a/src/share/classes/javax/swing/JDialog.java Fri Jun 19 17:10:53 2009 +0200
6.2 +++ b/src/share/classes/javax/swing/JDialog.java Fri Jun 19 21:46:14 2009 +0200
6.3 @@ -31,7 +31,6 @@
6.4 import java.util.Vector;
6.5 import java.io.Serializable;
6.6 import javax.accessibility.*;
6.7 -import java.applet.Applet;
6.8
6.9 /**
6.10 * The main class for creating a dialog window. You can use this class
7.1 --- a/src/share/classes/javax/swing/JPopupMenu.java Fri Jun 19 17:10:53 2009 +0200
7.2 +++ b/src/share/classes/javax/swing/JPopupMenu.java Fri Jun 19 21:46:14 2009 +0200
7.3 @@ -43,8 +43,6 @@
7.4 import javax.swing.event.*;
7.5 import sun.security.util.SecurityConstants;
7.6
7.7 -import java.applet.Applet;
7.8 -
7.9 /**
7.10 * An implementation of a popup menu -- a small window that pops up
7.11 * and displays a series of choices. A <code>JPopupMenu</code> is used for the
8.1 --- a/src/share/classes/javax/swing/JRootPane.java Fri Jun 19 17:10:53 2009 +0200
8.2 +++ b/src/share/classes/javax/swing/JRootPane.java Fri Jun 19 21:46:14 2009 +0200
8.3 @@ -24,7 +24,6 @@
8.4 */
8.5 package javax.swing;
8.6
8.7 -import java.applet.Applet;
8.8 import java.awt.*;
8.9 import java.awt.event.*;
8.10 import java.beans.*;
9.1 --- a/src/share/classes/javax/swing/JTable.java Fri Jun 19 17:10:53 2009 +0200
9.2 +++ b/src/share/classes/javax/swing/JTable.java Fri Jun 19 21:46:14 2009 +0200
9.3 @@ -27,7 +27,6 @@
9.4
9.5 import java.util.*;
9.6
9.7 -import java.applet.Applet;
9.8 import java.awt.*;
9.9 import java.awt.event.*;
9.10 import java.awt.print.*;
9.11 @@ -5970,7 +5969,7 @@
9.12 // focus remains inside the table
9.13 return;
9.14 } else if ((c instanceof Window) ||
9.15 - (c instanceof Applet && c.getParent() == null)) {
9.16 + (SwingUtilities2.isApplet(c) && c.getParent() == null)) {
9.17 if (c == SwingUtilities.getRoot(JTable.this)) {
9.18 if (!getCellEditor().stopCellEditing()) {
9.19 getCellEditor().cancelCellEditing();
10.1 --- a/src/share/classes/javax/swing/JViewport.java Fri Jun 19 17:10:53 2009 +0200
10.2 +++ b/src/share/classes/javax/swing/JViewport.java Fri Jun 19 21:46:14 2009 +0200
10.3 @@ -29,7 +29,6 @@
10.4 import java.awt.event.*;
10.5 import java.awt.image.VolatileImage;
10.6 import java.awt.peer.ComponentPeer;
10.7 -import java.applet.Applet;
10.8 import java.beans.Transient;
10.9 import javax.swing.plaf.ViewportUI;
10.10
10.11 @@ -39,6 +38,7 @@
10.12
10.13
10.14 import java.io.Serializable;
10.15 +import sun.swing.SwingUtilities2;
10.16
10.17
10.18 /**
10.19 @@ -501,7 +501,7 @@
10.20 if (c.getPeer() == null) {
10.21 return;
10.22 }
10.23 - if ((c instanceof Window) || (c instanceof Applet)) {
10.24 + if ((c instanceof Window) || SwingUtilities2.isApplet(c)) {
10.25 root = c;
10.26 break;
10.27 }
11.1 --- a/src/share/classes/javax/swing/KeyboardManager.java Fri Jun 19 17:10:53 2009 +0200
11.2 +++ b/src/share/classes/javax/swing/KeyboardManager.java Fri Jun 19 21:46:14 2009 +0200
11.3 @@ -28,10 +28,10 @@
11.4 import java.util.*;
11.5 import java.awt.*;
11.6 import java.awt.event.*;
11.7 -import java.applet.*;
11.8 import java.beans.*;
11.9 import javax.swing.event.*;
11.10 import sun.awt.EmbeddedFrame;
11.11 +import sun.swing.SwingUtilities2;
11.12
11.13 /**
11.14 * The KeyboardManager class is used to help dispatch keyboard actions for the
11.15 @@ -139,7 +139,7 @@
11.16 private static Container getTopAncestor(JComponent c) {
11.17 for(Container p = c.getParent(); p != null; p = p.getParent()) {
11.18 if (p instanceof Window && ((Window)p).isFocusableWindow() ||
11.19 - p instanceof Applet || p instanceof JInternalFrame) {
11.20 + SwingUtilities2.isApplet(p) || p instanceof JInternalFrame) {
11.21
11.22 return p;
11.23 }
12.1 --- a/src/share/classes/javax/swing/PopupFactory.java Fri Jun 19 17:10:53 2009 +0200
12.2 +++ b/src/share/classes/javax/swing/PopupFactory.java Fri Jun 19 21:46:14 2009 +0200
12.3 @@ -25,7 +25,6 @@
12.4
12.5 package javax.swing;
12.6
12.7 -import java.applet.Applet;
12.8 import java.awt.*;
12.9 import java.awt.event.WindowAdapter;
12.10 import java.awt.event.WindowEvent;
12.11 @@ -33,6 +32,7 @@
12.12 import java.util.HashMap;
12.13 import java.util.List;
12.14 import java.util.Map;
12.15 +import sun.swing.SwingUtilities2;
12.16 import static javax.swing.ClientPropertyKey.PopupFactory_FORCE_HEAVYWEIGHT_POPUP;
12.17
12.18 /**
12.19 @@ -577,7 +577,7 @@
12.20 result = parentBounds
12.21 .contains(x, y, popupWidth, popupHeight);
12.22 }
12.23 - } else if (parent instanceof JApplet) {
12.24 + } else if (SwingUtilities2.isApplet(parent)) {
12.25 Rectangle parentBounds = parent.getBounds();
12.26 Point p = parent.getLocationOnScreen();
12.27 parentBounds.x = p.x;
12.28 @@ -737,7 +737,7 @@
12.29 parent = p;
12.30 }
12.31 break;
12.32 - } else if (p instanceof JApplet) {
12.33 + } else if (SwingUtilities2.isJApplet(p)) {
12.34 // Painting code stops at Applets, we don't want
12.35 // to add to a Component above an Applet otherwise
12.36 // you'll never see it painted.
12.37 @@ -882,7 +882,7 @@
12.38 if it has a layered pane,
12.39 add to that, otherwise
12.40 add to the window. */
12.41 - while (!(parent instanceof Window || parent instanceof Applet) &&
12.42 + while (!(parent instanceof Window || SwingUtilities2.isApplet(parent)) &&
12.43 (parent!=null)) {
12.44 parent = parent.getParent();
12.45 }
13.1 --- a/src/share/classes/javax/swing/RepaintManager.java Fri Jun 19 17:10:53 2009 +0200
13.2 +++ b/src/share/classes/javax/swing/RepaintManager.java Fri Jun 19 21:46:14 2009 +0200
13.3 @@ -42,6 +42,7 @@
13.4 import sun.security.action.GetPropertyAction;
13.5
13.6 import com.sun.java.swing.SwingUtilities3;
13.7 +import sun.swing.SwingUtilities2;
13.8
13.9 /**
13.10 * This class manages repaint requests, allowing the number
13.11 @@ -341,7 +342,7 @@
13.12 if (!c.isVisible() || (c.getPeer() == null)) {
13.13 return;
13.14 }
13.15 - if ((c instanceof Window) || (c instanceof Applet)) {
13.16 + if ((c instanceof Window) || SwingUtilities2.isApplet(c)) {
13.17 root = c;
13.18 break;
13.19 }
13.20 @@ -434,7 +435,7 @@
13.21 if (!p.isVisible() || (p.getPeer() == null)) {
13.22 return;
13.23 }
13.24 - if ((p instanceof Window) || (p instanceof Applet)) {
13.25 + if ((p instanceof Window) || SwingUtilities2.isApplet(p)) {
13.26 // Iconified frames are still visible!
13.27 if (p instanceof Frame &&
13.28 (((Frame)p).getExtendedState() & Frame.ICONIFIED) ==
13.29 @@ -534,7 +535,7 @@
13.30 addDirtyRegion((Window)hw, dirty.x, dirty.y,
13.31 dirty.width, dirty.height);
13.32 }
13.33 - else if (hw instanceof Applet) {
13.34 + else if (SwingUtilities2.isApplet(hw)) {
13.35 addDirtyRegion((Applet)hw, dirty.x, dirty.y,
13.36 dirty.width, dirty.height);
13.37 }
14.1 --- a/src/share/classes/javax/swing/SwingUtilities.java Fri Jun 19 17:10:53 2009 +0200
14.2 +++ b/src/share/classes/javax/swing/SwingUtilities.java Fri Jun 19 21:46:14 2009 +0200
14.3 @@ -27,14 +27,11 @@
14.4 import sun.swing.SwingUtilities2;
14.5 import sun.swing.UIAction;
14.6
14.7 -import java.applet.*;
14.8
14.9 import java.awt.*;
14.10 import java.awt.event.*;
14.11 import java.awt.dnd.DropTarget;
14.12
14.13 -import java.util.Vector;
14.14 -import java.util.Hashtable;
14.15
14.16 import java.lang.reflect.*;
14.17
14.18 @@ -374,7 +371,7 @@
14.19 if(c instanceof JComponent) {
14.20 x = c.getX();
14.21 y = c.getY();
14.22 - } else if(c instanceof java.applet.Applet ||
14.23 + } else if(SwingUtilities2.isApplet(c) ||
14.24 c instanceof java.awt.Window) {
14.25 try {
14.26 Point pp = c.getLocationOnScreen();
14.27 @@ -392,7 +389,7 @@
14.28 p.x += x;
14.29 p.y += y;
14.30
14.31 - if(c instanceof java.awt.Window || c instanceof java.applet.Applet)
14.32 + if(c instanceof java.awt.Window || SwingUtilities2.isApplet(c))
14.33 break;
14.34 c = c.getParent();
14.35 } while(c != null);
14.36 @@ -413,7 +410,7 @@
14.37 if(c instanceof JComponent) {
14.38 x = c.getX();
14.39 y = c.getY();
14.40 - } else if(c instanceof java.applet.Applet ||
14.41 + } else if(SwingUtilities2.isApplet(c) ||
14.42 c instanceof java.awt.Window) {
14.43 try {
14.44 Point pp = c.getLocationOnScreen();
14.45 @@ -431,7 +428,7 @@
14.46 p.x -= x;
14.47 p.y -= y;
14.48
14.49 - if(c instanceof java.awt.Window || c instanceof java.applet.Applet)
14.50 + if(c instanceof java.awt.Window || SwingUtilities2.isApplet(c))
14.51 break;
14.52 c = c.getParent();
14.53 } while(c != null);
14.54 @@ -1529,7 +1526,7 @@
14.55 if (p instanceof Window) {
14.56 return p;
14.57 }
14.58 - if (p instanceof Applet) {
14.59 + if (SwingUtilities2.isApplet(p)) {
14.60 applet = p;
14.61 }
14.62 }
14.63 @@ -1571,7 +1568,7 @@
14.64 return ((JComponent)component).processKeyBindings(
14.65 event, pressed);
14.66 }
14.67 - if ((component instanceof Applet) ||
14.68 + if ((SwingUtilities2.isApplet(component)) ||
14.69 (component instanceof Window)) {
14.70 // No JComponents, if Window or Applet parent, process
14.71 // WHEN_IN_FOCUSED_WINDOW bindings.
15.1 --- a/src/share/classes/javax/swing/ToolTipManager.java Fri Jun 19 17:10:53 2009 +0200
15.2 +++ b/src/share/classes/javax/swing/ToolTipManager.java Fri Jun 19 21:46:14 2009 +0200
15.3 @@ -27,10 +27,8 @@
15.4 package javax.swing;
15.5
15.6 import java.awt.event.*;
15.7 -import java.applet.*;
15.8 import java.awt.*;
15.9 -import java.io.Serializable;
15.10 -import sun.swing.UIAction;
15.11 +import sun.swing.SwingUtilities2;
15.12
15.13 /**
15.14 * Manages all the <code>ToolTips</code> in the system.
15.15 @@ -695,7 +693,7 @@
15.16 if(parent instanceof JFrame || parent instanceof JDialog ||
15.17 parent instanceof JWindow) { // no check for awt.Frame since we use Heavy tips
15.18 return getWidthAdjust(parent.getBounds(),popupRectInScreen);
15.19 - } else if (parent instanceof JApplet || parent instanceof JInternalFrame) {
15.20 + } else if (SwingUtilities2.isApplet(parent) || parent instanceof JInternalFrame) {
15.21 if (popupFrameRect == null){
15.22 popupFrameRect = new Rectangle();
15.23 }
15.24 @@ -719,7 +717,7 @@
15.25 if(parent instanceof JFrame || parent instanceof JDialog ||
15.26 parent instanceof JWindow) {
15.27 return getHeightAdjust(parent.getBounds(),popupRectInScreen);
15.28 - } else if (parent instanceof JApplet || parent instanceof JInternalFrame) {
15.29 + } else if (SwingUtilities2.isApplet(parent) || parent instanceof JInternalFrame) {
15.30 if (popupFrameRect == null){
15.31 popupFrameRect = new Rectangle();
15.32 }
16.1 --- a/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java Fri Jun 19 17:10:53 2009 +0200
16.2 +++ b/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java Fri Jun 19 21:46:14 2009 +0200
16.3 @@ -31,8 +31,6 @@
16.4 import javax.swing.plaf.basic.*;
16.5 import javax.swing.border.*;
16.6
16.7 -import java.applet.Applet;
16.8 -
16.9 import java.awt.Component;
16.10 import java.awt.Container;
16.11 import java.awt.Dimension;
16.12 @@ -51,6 +49,7 @@
16.13 import sun.swing.UIAction;
16.14
16.15 import sun.awt.AppContext;
16.16 +import sun.swing.SwingUtilities2;
16.17
16.18 /**
16.19 * A Windows L&F implementation of PopupMenuUI. This implementation
16.20 @@ -894,7 +893,7 @@
16.21
16.22 boolean isInPopup(Component src) {
16.23 for (Component c=src; c!=null; c=c.getParent()) {
16.24 - if (c instanceof Applet || c instanceof Window) {
16.25 + if (SwingUtilities2.isApplet(c) || c instanceof Window) {
16.26 break;
16.27 } else if (c instanceof JPopupMenu) {
16.28 return true;
16.29 @@ -1148,8 +1147,8 @@
16.30 invoker = ((JFrame)c).getRootPane();
16.31 } else if(c instanceof JDialog) {
16.32 invoker = ((JDialog)c).getRootPane();
16.33 - } else if(c instanceof JApplet) {
16.34 - invoker = ((JApplet)c).getRootPane();
16.35 + } else if(SwingUtilities2.isApplet(c)) {
16.36 + invoker = ((RootPaneContainer)c).getRootPane();
16.37 } else {
16.38 while (!(c instanceof JComponent)) {
16.39 if (c == null) {
17.1 --- a/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java Fri Jun 19 17:10:53 2009 +0200
17.2 +++ b/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java Fri Jun 19 21:46:14 2009 +0200
17.3 @@ -26,27 +26,14 @@
17.4 package javax.swing.plaf.synth;
17.5
17.6 import javax.swing.*;
17.7 -import javax.swing.event.*;
17.8 import javax.swing.plaf.*;
17.9 import javax.swing.plaf.basic.*;
17.10 -import javax.swing.border.*;
17.11
17.12 -import java.applet.Applet;
17.13 -
17.14 -import java.awt.Component;
17.15 -import java.awt.Container;
17.16 -import java.awt.Dimension;
17.17 import java.awt.Graphics;
17.18 -import java.awt.KeyboardFocusManager;
17.19 -import java.awt.Window;
17.20 -import java.awt.event.*;
17.21 -import java.awt.AWTEvent;
17.22 -import java.awt.Toolkit;
17.23
17.24 import java.beans.PropertyChangeListener;
17.25 import java.beans.PropertyChangeEvent;
17.26
17.27 -import java.util.*;
17.28 import sun.swing.plaf.synth.SynthUI;
17.29
17.30 /**
18.1 --- a/src/share/classes/sun/awt/EmbeddedFrame.java Fri Jun 19 17:10:53 2009 +0200
18.2 +++ b/src/share/classes/sun/awt/EmbeddedFrame.java Fri Jun 19 21:46:14 2009 +0200
18.3 @@ -27,20 +27,15 @@
18.4
18.5 import java.awt.*;
18.6 import java.awt.event.*;
18.7 -import java.awt.image.*;
18.8 import java.awt.peer.*;
18.9 import java.security.AccessController;
18.10 import java.security.PrivilegedAction;
18.11 -import java.lang.reflect.Constructor;
18.12 -import java.lang.reflect.InvocationTargetException;
18.13 -import java.lang.reflect.Modifier;
18.14 import java.lang.reflect.Field;
18.15 import java.beans.PropertyChangeListener;
18.16 import java.beans.PropertyChangeEvent;
18.17 import java.util.Set;
18.18 import java.awt.AWTKeyStroke;
18.19 -import java.applet.Applet;
18.20 -import sun.applet.AppletPanel;
18.21 +import sun.swing.SwingUtilities2;
18.22
18.23 /**
18.24 * A generic container used for embedding Java components, usually applets.
18.25 @@ -523,12 +518,12 @@
18.26 * @return the parent applet or {@ null}
18.27 * @since 1.6
18.28 */
18.29 - public static Applet getAppletIfAncestorOf(Component comp) {
18.30 + public static Component getAppletIfAncestorOf(Component comp) {
18.31 Container parent = comp.getParent();
18.32 - Applet applet = null;
18.33 + Component applet = null;
18.34 while (parent != null && !(parent instanceof EmbeddedFrame)) {
18.35 - if (parent instanceof Applet) {
18.36 - applet = (Applet)parent;
18.37 + if (SwingUtilities2.isApplet(parent)) {
18.38 + applet = parent;
18.39 }
18.40 parent = parent.getParent();
18.41 }
19.1 --- a/src/share/classes/sun/font/FontManager.java Fri Jun 19 17:10:53 2009 +0200
19.2 +++ b/src/share/classes/sun/font/FontManager.java Fri Jun 19 21:46:14 2009 +0200
19.3 @@ -62,6 +62,7 @@
19.4 import java.lang.reflect.Constructor;
19.5
19.6 import sun.java2d.Disposer;
19.7 +import sun.swing.SwingUtilities2;
19.8
19.9 /*
19.10 * Interface between Java Fonts (java.awt.Font) and the underlying
19.11 @@ -2777,7 +2778,7 @@
19.12 public Object run() {
19.13 SecurityManager sm = System.getSecurityManager();
19.14 return new Boolean
19.15 - (sm instanceof sun.applet.AppletSecurity);
19.16 + (SwingUtilities2.isAppletSecurity(sm));
19.17 }
19.18 });
19.19 return appletSM.booleanValue();
20.1 --- a/src/share/classes/sun/swing/SwingUtilities2.java Fri Jun 19 17:10:53 2009 +0200
20.2 +++ b/src/share/classes/sun/swing/SwingUtilities2.java Fri Jun 19 21:46:14 2009 +0200
20.3 @@ -1844,4 +1844,46 @@
20.4 boolean three) {
20.5 return liesIn(rect, p, false, false, three);
20.6 }
20.7 +
20.8 + /** Find whether a component is Applet without directly depending on
20.9 + * applet module.
20.10 + * @param c the componet
20.11 + * @return result of c instanceof java.applet.Applet
20.12 + */
20.13 + public static boolean isApplet(Component c) {
20.14 + return isSubclassOf(c, "java.applet.Applet");
20.15 + }
20.16 +
20.17 + /** Find whether a component is JApplet without directly depending on
20.18 + * applet module.
20.19 + * @param c the componet
20.20 + * @return result of c instanceof java.applet.Applet
20.21 + */
20.22 + public static boolean isJApplet(Component c) {
20.23 + return isSubclassOf(c, "javax.swing.JApplet");
20.24 + }
20.25 +
20.26 + public static boolean isAppletSecurity(SecurityManager sm) {
20.27 + return isSubclassOf(sm, "sun.applet.AppletSecurity");
20.28 + }
20.29 +
20.30 + /** className does not work for interfaces right now */
20.31 + private static boolean isSubclassOf(Object o, String className) {
20.32 + if (o == null) {
20.33 + return false;
20.34 + }
20.35 + Class<?> c = o.getClass();
20.36 + while (c != null) {
20.37 + if (c.getName().equals(className)) {
20.38 + return true;
20.39 + }
20.40 + c = c.getSuperclass();
20.41 + }
20.42 + return false;
20.43 + }
20.44 +
20.45 + public static String getAppletParameter(Component applet, String name) {
20.46 + // JST-TBD: some trick, maybe reflection, may code injection
20.47 + return null;
20.48 + }
20.49 }