home *** CD-ROM | disk | FTP | other *** search
- package netscape.applet;
-
- import java.applet.Applet;
- import java.applet.AppletContext;
- import java.applet.AudioClip;
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.Window;
- import java.io.PrintStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import netscape.debug.Debugger;
- import netscape.net.URLStreamHandlerFactory;
- import netscape.security.AppletSecurity;
- import netscape.security.AppletSecurityException;
- import netscape.security.PrivilegeManager;
- import sun.awt.image.URLImageSource;
-
- class MozillaAppletContext implements AppletContext {
- int frameMWContext;
- Mapping appletFrames;
- Hashtable imageCache;
- Hashtable audioClipCache;
- URL documentURL;
- Integer contextID;
- static AppletThreadKiller killer;
- static Console console;
- static boolean javaInitialized;
- static boolean javaOneTimeInitDone;
- static int totalApplets;
- static int trimThreshold;
- static boolean noisyTrimming;
- static Mapping appletContexts;
- static int debug;
- static final int DBG_NONE = 0;
- static final int DBG_APPLET_USER = 1;
- static final int DBG_LOADING_USER = 2;
- static final int DBG_CONTEXT_USER = 3;
- static final int DBG_APPLET_DEV = 4;
- static final int DBG_LOADING_DEV = 5;
- static final int DBG_CONTEXT_DEV = 6;
- static final int DBG_APPLET_NS = 7;
- static final int DBG_LOADING_NS = 8;
- static final int DBG_CONTEXT_NS = 9;
-
- MozillaAppletContext(int var1, Integer var2, String var3) {
- this.frameMWContext = var1;
- this.contextID = var2;
- this.appletFrames = new Mapping();
- this.imageCache = new Hashtable();
- this.audioClipCache = new Hashtable();
- if (debug >= 3) {
- System.out.println("# New applet context: " + var3 + ", contextID=" + var2);
- }
-
- if (var3 != null) {
- try {
- this.documentURL = new URL(var3);
- } catch (MalformedURLException var4) {
- if (debug >= 4) {
- System.err.println("# Malformed documentURL: " + var3);
- }
-
- this.mochaOnLoad(-1);
- }
- }
-
- Debugger.debuggerStartHook();
- }
-
- static void indent(PrintStream var0, int var1) {
- while(true) {
- --var1;
- if (var1 < 0) {
- return;
- }
-
- var0.print(" ");
- }
- }
-
- void dumpState(PrintStream var1, int var2) {
- indent(var1, var2);
- int var3 = this.appletFrames == null ? 0 : this.appletFrames.size();
- int var4 = this.imageCache == null ? 0 : this.imageCache.size();
- int var5 = this.audioClipCache == null ? 0 : this.audioClipCache.size();
- var1.println("MozillaAppletContext id=" + this.contextID + " #frames=" + var3 + " #images=" + var4 + " #audioClips=" + var5 + " url=" + this.documentURL);
-
- for(int var6 = 0; var6 < var3; ++var6) {
- DerivedAppletFrame var7 = (DerivedAppletFrame)this.appletFrames.elementAt(var6);
- var7.dumpState(var1, var2 + 1);
- }
-
- if (var4 > 0) {
- indent(var1, var2 + 1);
- var1.println("image cache:");
- Enumeration var9 = this.imageCache.keys();
-
- while(var9.hasMoreElements()) {
- URL var8 = (URL)var9.nextElement();
- indent(var1, var2 + 2);
- var1.println(var8.toString());
- }
- }
-
- if (var5 > 0) {
- indent(var1, var2 + 1);
- var1.println("audio clip cache:");
- Enumeration var10 = this.audioClipCache.keys();
-
- while(var10.hasMoreElements()) {
- URL var11 = (URL)var10.nextElement();
- indent(var1, var2 + 2);
- var1.println(var11.toString());
- }
- }
-
- }
-
- synchronized boolean destroy() {
- if (debug >= 3) {
- System.err.println("# Destroying applet context: " + this.documentURL + ", contextID=" + this.contextID);
- }
-
- if (debug >= 9) {
- System.err.println("# frameMWContext=" + this.frameMWContext);
- }
-
- this.destroyApplets();
- this.frameMWContext = 0;
- this.appletFrames = null;
- this.imageCache = null;
- this.audioClipCache = null;
- appletContexts.remove(this.contextID);
- return true;
- }
-
- public AudioClip getAudioClip(URL var1) {
- AudioClip var2 = lookupAudioClip(this, var1);
- return var2;
- }
-
- public Image getImage(URL var1) {
- Image var2 = lookupImage(this, var1);
- return var2;
- }
-
- public Applet getApplet(String var1) {
- int var2 = this.appletFrames.size();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- DerivedAppletFrame var4 = (DerivedAppletFrame)this.appletFrames.elementAt(var3);
- if (var1.equals(var4.applet.getParameter("name"))) {
- return var4.applet;
- }
- }
-
- return null;
- }
-
- public Enumeration getApplets() {
- int var1 = this.appletFrames.size();
- Vector var2 = new Vector(var1);
-
- for(int var3 = 0; var3 < var1; ++var3) {
- DerivedAppletFrame var4 = (DerivedAppletFrame)this.appletFrames.elementAt(var3);
- var2.addElement(var4.applet);
- }
-
- return var2.elements();
- }
-
- public void showDocument(URL var1) {
- this.showDocument(var1, "_top");
- }
-
- public void showDocument(URL var1, String var2) {
- this.pShowDocument(var1.toExternalForm(), (String)null, var2);
- }
-
- public void showStatus(String var1) {
- if (this.frameMWContext != 0) {
- this.pShowStatus(var1);
- }
-
- }
-
- public void mochaOnLoad(int var1) {
- this.pMochaOnLoad(var1);
- }
-
- private native void pShowDocument(String var1, String var2, String var3);
-
- private native void pShowStatus(String var1);
-
- private native void pMochaOnLoad(int var1);
-
- static synchronized AudioClip lookupAudioClip(MozillaAppletContext var0, URL var1) {
- int var2 = appletContexts.size();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- MozillaAppletContext var4 = (MozillaAppletContext)appletContexts.elementAt(var3);
- Object var5 = var4.audioClipCache.get(var1);
- if (var5 != null) {
- return (AudioClip)var5;
- }
- }
-
- AppletAudioClip var6 = new AppletAudioClip(var1);
- var0.audioClipCache.put(var1, var6);
- if (debug >= 2) {
- System.err.println("# Loaded audio clip: " + var1);
- }
-
- return var6;
- }
-
- static synchronized Image lookupImage(MozillaAppletContext var0, URL var1) {
- int var2 = appletContexts.size();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- MozillaAppletContext var4 = (MozillaAppletContext)appletContexts.elementAt(var3);
- Object var5 = var4.imageCache.get(var1);
- if (var5 != null) {
- return (Image)var5;
- }
- }
-
- Image var7;
- try {
- URLImageSource var8 = new URLImageSource(var1);
- var7 = Toolkit.getDefaultToolkit().createImage(var8);
- var0.imageCache.put(var1, var7);
- if (debug >= 2) {
- System.err.println("# Loaded image: " + var1);
- }
- } catch (Exception var6) {
- var7 = null;
- }
-
- return var7;
- }
-
- synchronized void initApplet(int var1, String var2, Hashtable var3, boolean var4) {
- if (debug >= 4) {
- String var5 = (String)var3.get("code");
- System.err.println("# Initializing applet: " + var5 + ", appletID=" + var1 + ", contextID=" + this.contextID);
- }
-
- if (debug >= 7) {
- System.err.println("# docURL=" + var2 + " reloadClasses=" + var4);
- }
-
- if (this.documentURL != null) {
- String var18 = (String)var3.get("codebase");
- if (var18 == null) {
- int var6 = var2.lastIndexOf(47) + 1;
- var18 = var2.substring(0, var6);
- } else {
- if (!var18.endsWith("/")) {
- var18 = var18 + "/";
- }
-
- try {
- URL var19 = new URL(this.documentURL, var18);
- var18 = var19.toString();
- int var7 = var18.lastIndexOf(47) + 1;
- if (var7 != var18.length() - 1) {
- var18 = var18.substring(0, var7);
- }
- } catch (MalformedURLException var17) {
- }
-
- if (!var2.startsWith("file:") && var18.startsWith("file:")) {
- throw new AppletSecurityException("Illegal access from non-'file:' document to 'file:' codebase.\n#\tdocument: " + var2 + "\n#\tcodebase: " + var18);
- }
- }
-
- var3.put("codebase", var18);
- URL var20 = this.documentURL;
-
- try {
- var20 = new URL(var18);
- } catch (MalformedURLException var16) {
- }
-
- URL var21 = null;
- String var8 = (String)var3.get("archive");
- if (var8 != null) {
- try {
- int var9 = var8.indexOf(44);
- if (var9 != -1) {
- var8 = var8.substring(0, var9);
- }
-
- URL var10 = new URL(var20, var8);
- var8 = var10.toString();
- } catch (MalformedURLException var15) {
- }
-
- if (!var2.startsWith("file:") && var18.startsWith("file:")) {
- throw new AppletSecurityException("Illegal access from non-'file:' document to 'file:' codebase.\n#\tdocument: " + var2 + "\n#\tcodebase: " + var18);
- }
-
- var3.put("archive", var8);
-
- try {
- var21 = new URL(var8);
- } catch (MalformedURLException var14) {
- }
- }
-
- Integer var22 = new Integer(var1);
- DerivedAppletFrame var23 = new DerivedAppletFrame(this.documentURL, var20, var21, var3, this, var22, var4);
- this.appletFrames.put(var22, var23);
- ++totalApplets;
- if (debug >= 7) {
- System.err.println("# total applets=" + totalApplets);
- }
-
- if (debug >= 7) {
- String var11 = "";
-
- Object var13;
- for(Enumeration var12 = var3.keys(); var12.hasMoreElements(); var11 = var11 + (String)var13 + "=" + (String)var3.get(var13) + " ") {
- var13 = var12.nextElement();
- }
-
- System.err.println("# New applet: " + var1 + " at " + var20 + " " + var11);
- }
-
- var23.start();
- ((Window)var23).pack();
- ((Window)var23).show();
- var23.sendEvent(new AppletEvent(1));
- var23.sendEvent(new AppletEvent(2));
- }
- }
-
- DerivedAppletFrame getAppletFrame(Integer var1) {
- DerivedAppletFrame var2 = (DerivedAppletFrame)this.appletFrames.get(var1);
- if (var2 == null && debug >= 7) {
- System.err.println("# Warning: AppletFrame not found for appletID " + var1);
- }
-
- return var2;
- }
-
- synchronized void startApplet(int var1) {
- DerivedAppletFrame var2 = this.getAppletFrame(new Integer(var1));
- if (debug >= 4) {
- System.err.println("# Starting applet: " + (var2 != null ? var2.getAppletName() : "?") + ", appletID=" + var1 + ", contextID=" + this.contextID);
- }
-
- if (var2 == null) {
- if (debug >= 7) {
- System.err.println("# applet must have been pruned: " + var1 + " on " + this.documentURL);
- }
-
- } else {
- var2.inHistory = false;
- var2.sendEvent(new AppletEvent(3));
- }
- }
-
- synchronized void resizeApplet(int var1, int var2, int var3, int var4, int var5) {
- }
-
- synchronized void printApplet(int var1, int var2) {
- }
-
- static void printApplet(int var0, int var1, int var2) {
- System.err.println("Applet printing will be supported soon");
- }
-
- synchronized void stopApplet(int var1) {
- DerivedAppletFrame var2 = this.getAppletFrame(new Integer(var1));
- if (var2 != null) {
- if (debug >= 4) {
- System.err.println("# Stopping applet: " + var2.getAppletName() + ", appletID=" + var1 + ", contextID=" + this.contextID);
- }
-
- var2.inHistory = true;
- var2.sendEvent(new AppletEvent(4));
- }
- }
-
- synchronized void destroyApplet(Integer var1) {
- DerivedAppletFrame var2 = this.getAppletFrame(var1);
- boolean var3 = false;
- if (var2 != null) {
- if (noisyTrimming && debug >= 4) {
- System.err.println("# Destroying applet: " + var2.getAppletName() + ", appletID=" + var1 + ", contextID=" + this.contextID);
- }
-
- --totalApplets;
- if (noisyTrimming && debug >= 7) {
- System.err.println("# total applets=" + totalApplets);
- }
-
- if (!noisyTrimming) {
- var2.noisy = false;
- }
-
- this.appletFrames.remove(var1, true);
- ThreadGroup var4 = var2.handler.getThreadGroup();
- AppletThreadList var5 = new AppletThreadList(var4, var2);
- var2.pData = 0;
- killer.addAppletThread(var5);
- if (this.appletFrames.isEmpty()) {
- if (debug >= 9) {
- System.err.println("# destroying context for contextID " + this.contextID);
- }
-
- var3 = this.destroy();
- }
-
- }
- }
-
- synchronized void iconifyApplets() {
- if (debug >= 6) {
- System.err.println("# Iconifying all applets: " + this.documentURL + ", contextID=" + this.contextID);
- }
-
- int var1 = this.appletFrames.size();
-
- for(int var2 = 0; var2 < var1; ++var2) {
- DerivedAppletFrame var3 = (DerivedAppletFrame)this.appletFrames.elementAt(var2);
- if (debug >= 7) {
- System.err.println("# iconifyApplets: stopping appletID " + var3.pData);
- }
-
- var3.sendEvent(new AppletEvent(4));
- }
-
- }
-
- synchronized void uniconifyApplets() {
- if (debug >= 6) {
- System.err.println("# Uniconifying all applets: " + this.documentURL + ", contextID=" + this.contextID);
- }
-
- int var1 = this.appletFrames.size();
-
- for(int var2 = 0; var2 < var1; ++var2) {
- DerivedAppletFrame var3 = (DerivedAppletFrame)this.appletFrames.elementAt(var2);
- if (debug >= 7) {
- System.err.println("# uniconifyApplets: starting appletID " + var3.pData);
- }
-
- var3.sendEvent(new AppletEvent(3));
- }
-
- }
-
- synchronized Object reflectApplet(int var1) {
- if (debug >= 7) {
- System.err.println("# reflectApplet: appletID=" + var1);
- }
-
- DerivedAppletFrame var2 = this.getAppletFrame(new Integer(var1));
- return var2 == null ? null : var2.applet;
- }
-
- synchronized void destroyApplets() {
- if (debug >= 6) {
- System.err.println("# Destroying all applets: " + this.documentURL + ", contextID=" + this.contextID);
- }
-
- this.frameMWContext = 0;
- int var1 = this.appletFrames.size();
-
- for(int var2 = var1 - 1; var2 >= 0; --var2) {
- Integer var3 = (Integer)this.appletFrames.keyAt(var2);
- this.destroyApplet(var3);
- }
-
- }
-
- static void init() {
- if (!javaOneTimeInitDone) {
- SecurityManager.enablePrivilege("UniversalSetFactory");
- URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory());
- AppletSecurity.setPrivilegeManager(new PrivilegeManager());
- System.setSecurityManager(new AppletSecurity());
- javaOneTimeInitDone = true;
- }
-
- console = new Console();
-
- try {
- SecurityManager.enablePrivilege("UniversalPropertyWrite");
- System.setProperties(new AppletProperties());
- } catch (SecurityException var0) {
- }
-
- appletContexts = new Mapping();
- killer = new AppletThreadKiller();
- javaInitialized = true;
- }
-
- static boolean shutdown() {
- javaInitialized = false;
- destroyAll();
- Task.destroyAll();
- boolean var0 = killer.shutdown();
- killer = null;
- appletContexts = null;
- return var0;
- }
-
- static void setConsoleState(int var0) {
- setConsoleState0(var0);
- }
-
- static native void setConsoleState0(int var0);
-
- static void showConsole() {
- console.show();
- }
-
- static void hideConsole() {
- console.hide();
- }
-
- static int trimApplets(int var0, boolean var1) {
- int var2 = trimApplets1(var0, true);
- if (var2 < var0 && !var1) {
- var2 += trimApplets1(var0 - var2, false);
- }
-
- return var2;
- }
-
- static int trimApplets1(int var0, boolean var1) {
- int var2;
- for(var2 = 0; var0-- > 0; ++var2) {
- long var3 = -1L;
- DerivedAppletFrame var5 = null;
- MozillaAppletContext var6 = null;
- int var7 = appletContexts.size();
-
- for(int var8 = 0; var8 < var7; ++var8) {
- MozillaAppletContext var9 = (MozillaAppletContext)appletContexts.elementAt(var8);
- int var10 = var9.appletFrames.size();
-
- for(int var11 = 0; var11 < var10; ++var11) {
- DerivedAppletFrame var12 = (DerivedAppletFrame)var9.appletFrames.elementAt(var11);
- if ((!var1 || var12.inHistory) && (var3 == -1L || var12.timestamp < var3)) {
- var3 = var12.timestamp;
- var5 = var12;
- var6 = var9;
- }
- }
- }
-
- if (var5 == null) {
- if (noisyTrimming && debug >= 4) {
- System.err.println("# No stopped applets to prune.");
- }
-
- return var2;
- }
-
- try {
- if (noisyTrimming) {
- Applet var15 = var5.applet;
- String var16 = null;
- if (var15 != null) {
- var16 = var15.getParameter("name");
- }
-
- if (var16 == null) {
- var16 = var15.getClass().getName().toString();
- }
-
- System.err.println("# Pruning applet " + var16 + " from " + var6.documentURL + " to save memory.");
- if (debug >= 7) {
- System.err.println("# Pruning appletID=" + var5.pData + " contextID=" + var6.contextID + " applet=" + var5.applet);
- }
- }
- } catch (Throwable var14) {
- }
-
- try {
- var6.destroyApplet(var5.appletID);
- } catch (Throwable var13) {
- }
- }
-
- return var2;
- }
-
- static void trimApplets() {
- trimApplets(totalApplets - trimThreshold, true);
- }
-
- static MozillaAppletContext getAppletContext(int var0) {
- Integer var1 = new Integer(var0);
- MozillaAppletContext var2 = (MozillaAppletContext)appletContexts.get(var1);
- if (var2 == null && debug >= 9) {
- System.err.println("# Warning: applet context not found for contextID " + var0);
- }
-
- return var2;
- }
-
- static MozillaAppletContext ensureAppletContext(int var0, int var1, String var2) {
- Integer var3 = new Integer(var1);
- MozillaAppletContext var4 = (MozillaAppletContext)appletContexts.get(var3);
- if (var4 == null) {
- var4 = new MozillaAppletContext(var0, var3, var2);
- appletContexts.put(var3, var4);
- }
-
- return var4;
- }
-
- static void initApplet(int var0, int var1, int var2, int var3, String[] var4, boolean var5) {
- if (javaInitialized) {
- Hashtable var6 = new Hashtable();
-
- for(int var7 = 1; var7 < var4.length; ++var7) {
- String var8 = var4[var7];
- int var9 = var8.indexOf(61);
- if (var9 >= 0) {
- var6.put(var8.substring(0, var9).toLowerCase(), var8.substring(var9 + 1));
- }
- }
-
- String var11 = (String)var6.get("debug");
- if (var11 != null) {
- try {
- debug = Integer.parseInt(var11);
- } catch (Exception var10) {
- }
- }
-
- if (debug >= 7) {
- System.err.println("# initApplet: contextID=" + var2 + " appletID=" + var3 + " parentContext=" + var0 + " frameContext=" + var1);
- }
-
- trimApplets();
- MozillaAppletContext var12 = ensureAppletContext(var1, var2, var4[0]);
- var12.frameMWContext = var1;
- var12.initApplet(var3, var4[0], var6, var5);
- }
- }
-
- static void startApplet(int var0, int var1, int var2) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# startApplet: contextID=" + var0 + " appletID=" + var1 + " newFrameMWContext=" + var2);
- }
-
- MozillaAppletContext var3 = getAppletContext(var0);
- if (var3 != null) {
- var3.frameMWContext = var2;
- var3.startApplet(var1);
- }
- }
- }
-
- static void resizeApplet(int var0, int var1, int var2, int var3, int var4, int var5) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# resizeApplet: contextID=" + var0 + " appletID=" + var1);
- }
-
- MozillaAppletContext var6 = getAppletContext(var0);
- if (var6 != null) {
- var6.resizeApplet(var1, var2, var3, var4, var5);
- }
- }
- }
-
- static void stopApplet(int var0, int var1, int var2) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# stopApplet: contextID=" + var0 + " appletID=" + var1 + " parentMWContext=" + var2);
- }
-
- MozillaAppletContext var3 = getAppletContext(var0);
- if (var3 != null) {
- var3.frameMWContext = var2;
- var3.stopApplet(var1);
- }
- }
- }
-
- static void destroyApplet(int var0, int var1) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# destroyApplet: contextID=" + var0 + " appletID=" + var1);
- }
-
- MozillaAppletContext var2 = getAppletContext(var0);
- if (var2 != null) {
- var2.destroyApplet(new Integer(var1));
- }
- }
- }
-
- static Object reflectApplet(int var0, int var1) {
- if (!javaInitialized) {
- return null;
- } else {
- if (debug >= 7) {
- System.err.println("# reflectApplet: contextID=" + var0 + " appletID=" + var1);
- }
-
- MozillaAppletContext var2 = getAppletContext(var0);
- return var2 == null ? null : var2.reflectApplet(var1);
- }
- }
-
- static void iconifyApplets(int var0) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# iconifyApplets: contextID=" + var0);
- }
-
- MozillaAppletContext var1 = getAppletContext(var0);
- if (var1 != null) {
- var1.iconifyApplets();
- }
- }
- }
-
- static void uniconifyApplets(int var0) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# uniconifyApplets: contextID=" + var0);
- }
-
- MozillaAppletContext var1 = getAppletContext(var0);
- if (var1 != null) {
- var1.uniconifyApplets();
- }
- }
- }
-
- static void destroyApplets(int var0) {
- if (javaInitialized) {
- if (debug >= 7) {
- System.err.println("# destroyApplets: contextID=" + var0);
- }
-
- MozillaAppletContext var1 = getAppletContext(var0);
- if (var1 == null) {
- if (debug >= 7) {
- System.out.println("# Failed to find context " + var0);
- }
-
- } else {
- var1.destroy();
- }
- }
- }
-
- static void destroyAll() {
- if (debug >= 7) {
- System.err.println("# destroyAll");
- }
-
- int var0 = appletContexts.size();
-
- for(int var1 = var0 - 1; var1 >= 0; --var1) {
- MozillaAppletContext var2 = (MozillaAppletContext)appletContexts.elementAt(var1);
- var2.destroy();
- }
-
- }
-
- static void dumpState(PrintStream var0) {
- int var1 = appletContexts.size();
- boolean var2 = false;
-
- for(int var3 = 0; var3 < var1; ++var3) {
- if (!var2) {
- var0.println("# Active applets and applet contexts:");
- var2 = true;
- }
-
- MozillaAppletContext var4 = (MozillaAppletContext)appletContexts.elementAt(var3);
- var4.dumpState(var0, 0);
- }
-
- if (!var2) {
- var0.println("# No active applets or applet contexts.");
- }
-
- if (killer != null) {
- killer.dumpState(var0);
- }
-
- }
-
- Applet[] getContextAppletArray() {
- Mapping var2 = this.appletFrames;
- synchronized(var2){}
-
- Applet[] var1;
- try {
- int var4 = this.appletFrames.size();
- Applet[] var5 = new Applet[var4];
-
- for(int var6 = var4 - 1; var6 >= 0; --var6) {
- DerivedAppletFrame var7 = (DerivedAppletFrame)this.appletFrames.elementAt(var6);
- var5[var6] = var7.applet;
- }
-
- var1 = var5;
- } catch (Throwable var9) {
- throw var9;
- }
-
- return var1;
- }
-
- static Applet[] getAppletArray() {
- int var0 = 0;
- Mapping var2 = appletContexts;
- synchronized(var2){}
-
- Applet[][] var1;
- try {
- int var4 = appletContexts.size();
- var1 = new Applet[var4][];
-
- for(int var5 = var4 - 1; var5 >= 0; --var5) {
- MozillaAppletContext var6 = (MozillaAppletContext)appletContexts.elementAt(var5);
- var1[var5] = var6.getContextAppletArray();
- var0 += var1[var5].length;
- }
- } catch (Throwable var8) {
- throw var8;
- }
-
- Applet[] var9 = new Applet[var0];
- int var3 = 0;
-
- for(int var10 = 0; var10 < var1.length; ++var10) {
- for(int var11 = 0; var11 < var1[var10].length; ++var11) {
- var9[var3++] = var1[var10][var11];
- }
- }
-
- return var9;
- }
-
- static MozillaAppletContext[] getAppletContexts() {
- Mapping var1 = appletContexts;
- synchronized(var1){}
-
- MozillaAppletContext[] var0;
- try {
- int var3 = appletContexts.size();
- var0 = new MozillaAppletContext[var3];
-
- for(int var4 = var3 - 1; var4 >= 0; --var4) {
- var0[var4] = (MozillaAppletContext)appletContexts.elementAt(var4);
- }
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var0;
- }
-
- EmbeddedAppletFrame getAppletFrame(Applet var1) {
- Mapping var3 = this.appletFrames;
- synchronized(var3){}
-
- try {
- int var5 = this.appletFrames.size();
-
- for(int var6 = var5 - 1; var6 >= 0; --var6) {
- DerivedAppletFrame var7 = (DerivedAppletFrame)this.appletFrames.elementAt(var6);
- if (var7.applet == var1) {
- DerivedAppletFrame var2 = var7;
- return var2;
- }
- }
-
- return null;
- } catch (Throwable var9) {
- throw var9;
- }
- }
- }
-