Forum Stats

  • 3,826,085 Users
  • 2,260,593 Discussions
  • 7,896,783 Comments

Discussions

Google Chrome On Mac OSX Won't Show A Simple Applet

801394
801394 Member Posts: 14
edited Jul 27, 2011 6:02AM in Java Applet Development
I have a problem where Google Chrome on Mac OSX won't show the applet or the plugin just crashes. This seems to only happen when running in the Google Chrome web browser on Mac OSX. So I'm wondering if the community also experiences this problem and if there's any workaround or solution. I was running the applet on a Mac mini on Snow Leopard with the latest version of Google Chrome. I thought I would converse with the community before filing a bug report on this issue.

Note: I've included a link that has more information and a working example of the applet source code.

Click here for the test case.

Comments

  • 793415
    793415 Member Posts: 7,279 Bronze Badge
    Post re-ordered to suit my reply.
    RhinoGuy wrote:
    Note: I've included a link that has more information ..
    AVG blocked that URL, and since then FF has not allowed access to it.
    ..I'm wondering if the community also experiences this problem ..
    If you can find a single other user who sees the same effect..
    ..and a working example of the applet source code. ..
    ..and can provide a complete example including validated HTML..
    .. I thought I would converse with the community before filing a bug report on this issue.
    .. raise a bug report with both the maker of the browser & JRE. It may not be a bug, but given applet/JRE/browser interaction problems, I'd ask the makers to look into it.
  • darrylburke
    darrylburke Member Posts: 18,007
    You seem to have a habit of posting external links. Note that many sites are blocked by a corporate firewall for many members here, and others (self included) won't click a link. What's your problem in posting the relevant code here?

    Note that if the code is too long/large to post on a forum, it's hardly likely that a volunteer will make even the slightest effort to help you fathom your problem.

    db
  • 801394
    801394 Member Posts: 14
    edited Jul 1, 2011 5:21PM
    Sorry, the last source code post got mangled. Let's try this again...

    --- Java file ---
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.domain;
    
    import java.awt.AWTEvent;
    import java.awt.Color;
    import java.awt.Cursor;
    import java.awt.Toolkit;
    import java.awt.Window;
    import java.awt.event.*;
    import java.text.DateFormat;
    import java.text.FieldPosition;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.TimerTask;
    import javax.swing.*;
    
    //	In order to use JSObject, you have to include "plugin.jar" on the classpath
    //	http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/deployment/applet/iac.html
    import netscape.javascript.*;
    
    
    /**
     *
     * @author dbladorn
     */
    public class CApplet extends JApplet implements ActionListener
    {
    	static public boolean										DEBUG = (true);
    	static public boolean										DEBUG_APPLET_METHODS = ((DEBUG) && (true));
    	static public boolean										DEBUG_PARMS = ((DEBUG) && (true));
    	static public boolean										DEBUG_JSOBJECT = ((DEBUG) && (true));
    	static public boolean										DEBUG_CONSOLE = ((DEBUG) && (true));
    
    
    	//	our app
    	private CApplet												m_rApplet;
    
    	//	applet parameters
    	private String												m_sAppletID;
    	private String												m_sOnInitFunc;
    
    	//	UI
    	private JPanel												m_cMainPanel;
    
    	private JLabel												m_cLogLabel;
    	private JScrollPane											m_cLogScroll;
    	private JTextArea											m_cLogTextArea;
    	private JButton												m_cLogProperties;
    
    	private JButton												m_cShowDlg;
    
    
    	/**
    	*	@inherited
    	*/
    	@Override
    	public void init()
    	{
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.init -->");
    
    		//	call base
    		super.init();
    
    		//	set our global
    		m_rApplet = this;
    
    		//	execute on the EDT
    		try {
    			javax.swing.SwingUtilities.invokeLater(
    				new Runnable()
    				{
    					@Override
    					public void run()
    					{
    						//	let's parse our parameters
    						String sVal = getParameter("-debug");
    						if ((sVal != null) && (! sVal.isEmpty()))
    							DEBUG = true;
    
    						sVal = getParameter("appletid");
    						if ((sVal != null) && (! sVal.isEmpty()))
    							m_sAppletID = sVal;
    
    						sVal = getParameter("oninitfunc");
    						if ((sVal != null) && (! sVal.isEmpty()))
    							m_sOnInitFunc = sVal;
    					} // run
    				} // Runnable
    			); // invokeAndWait
    		} // try
    		catch (Exception e) {
    
    			System.err.println("createGUI didn't successfully complete");
    		} // catch
    
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.init <--");
    	} // init
    
    
    	/**
    	*	@inherited
    	*/
    	@Override
    	public void start()
    	{
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.start -->");
    
    		//	start the applet
    		super.start();
    
    		//	initialize the UI
    		InitUI();
    		SwingUtilities.updateComponentTreeUI(this);
    
    		try {
    			javax.swing.SwingUtilities.invokeLater(
    				new Runnable()
    				{
    					@Override
    					public void run()
    					{
    						CreateUI();
    					} // run
    				} // Runnable
    			); // invokeAndWait
    		} // try
    		catch (Exception e) {
    
    			System.err.println("createGUI didn't successfully complete");
    		} // catch
    
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.start <--");
    	} // OnAppletStart
    
    
    	/**
    	*	@inherited
    	*/
    	@Override
    	public void stop()
    	{
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.stop -->");
    
    		super.stop();
    
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.stop <--");
    	} // stop
    
    
    	/**
    	*	@inherited
    	*/
    	@Override
    	public void destroy()
    	{
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.destroy -->");
    
    		super.destroy();
    
    		if (DEBUG_APPLET_METHODS)
    			System.out.println("CApplet.destroy <--");
    	} // destroy
    
    
    	private void InitUI()
    	{
    		String sClassName = UIManager.getCrossPlatformLookAndFeelClassName();
    		sClassName = UIManager.getSystemLookAndFeelClassName();
    
    		// set the L&F for the UI
    		try {
    			UIManager.setLookAndFeel(sClassName);
    		} // try
    		catch (ClassNotFoundException cnfe) {
    
    			if (DEBUG)
    				cnfe.printStackTrace();
    		} // catch
    		catch (InstantiationException ie) {
    
    			if (DEBUG)
    				ie.printStackTrace();
    		} // catch
    		catch (IllegalAccessException iae) {
    
    			if (DEBUG)
    				iae.printStackTrace();
    		} // catch
    		catch (UnsupportedLookAndFeelException ulafe) {
    
    			if (DEBUG)
    				ulafe.printStackTrace();
    		} // catch
    	} // InitUI
    
    	
    	private void CreateUI()
    	{
    		m_cMainPanel = new JPanel();
    
    		m_cLogProperties = new JButton("Print Restricted Properties");
    		m_cShowDlg = new JButton("Show JOptionPane");
    
    		JButton[] aBtns = { m_cLogProperties,
    							m_cShowDlg
    						};
    		for (JButton rNextBtn : aBtns)
    			rNextBtn.addActionListener(this);
    
    		m_cLogTextArea = new JTextArea();
    		m_cLogTextArea.setForeground(Color.BLACK);
    
    		JTextArea[] aTextAreas = { m_cLogTextArea };
    		for (JTextArea rNext : aTextAreas)
    			rNext.setEditable(false);
    
    		m_cLogLabel = new JLabel("Log:");
    
    		m_cLogScroll = new JScrollPane(m_cLogTextArea);
    
    		JSeparator cSeparator = new JSeparator();
    
    		//	group layout
    		GroupLayout layout = new GroupLayout(m_cMainPanel);
    		m_cMainPanel.setLayout(layout);
    
    		//	auto-create gaps
    		layout.setAutoCreateContainerGaps(true);
    		layout.setAutoCreateGaps(true);
    
    		// layout the horizontal comps
            layout.setHorizontalGroup(layout.createParallelGroup()
    			.addGroup(layout.createSequentialGroup()
    				.addGroup(layout.createParallelGroup()
    					.addComponent(m_cLogLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
    					.addComponent(m_cLogScroll, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
    					.addComponent(m_cLogProperties, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    				) // group
    			) // group
    			.addComponent(cSeparator, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
    			.addGroup(layout.createSequentialGroup()
    				.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED, GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
    				.addComponent(m_cShowDlg, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    			) // group
    		); // horizontal group
    
    		// layout the vertical comps
            layout.setVerticalGroup(layout.createSequentialGroup()
    			.addGroup(layout.createParallelGroup()
    				.addGroup(layout.createSequentialGroup()
    					.addComponent(m_cLogLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    					.addComponent(m_cLogScroll, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
    					.addComponent(m_cLogProperties, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    				) // group
    			) // group
    			.addComponent(cSeparator, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    			.addComponent(m_cShowDlg, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
    		); // vertical group
    
    		//	add the main panel to our applet
    		add(m_cMainPanel);
    	} // CreateUI
    
    
    	@Override
    	public void actionPerformed(ActionEvent rEvent)
    	{
    		if (rEvent.getSource() == m_cLogProperties)
    			OnLogSystemProperties();
    		else if (rEvent.getSource() == m_cShowDlg) {
    
    			Window rWnd = (Window) (SwingUtilities.getAncestorOfClass(Window.class, m_cMainPanel));
    			JOptionPane.showMessageDialog(rWnd, "Show a JOptionPane dialog!");
    		} // else if
    
    	} // actionPerformed
    
    
    	private void OnLogSystemProperties()
    	{
    		StringBuilder sLog = new StringBuilder();
    
    		if (m_cLogTextArea != null)
    			sLog.append(m_cLogTextArea.getText());
    
    		try {
    
    			//	NOTE:	1) This call will fail if the applet JAR files are not signed!
    			//			2) If the JARs are signed, but the applet is running in Firefox on Mac OSX, then this call will also fail.  Which is
    			//				what we're trying to reproduce for the bug report.
    			// get the property
    			String sProperty = System.getProperty("sun.cpu.endian");
    
    			// format the property into readable text
    			String sFmtItem = String.format("CPU Endian: %s\r\n", sProperty);
    
    			// set the text
    			System.out.println(sFmtItem);
    			sLog.append(sFmtItem);
    		} // try
    		catch (Exception e) {
    
    			if (DEBUG)
    				e.printStackTrace();
    		} // catch
    
    		if (m_cLogTextArea != null)
    			m_cLogTextArea.setText(sLog.toString());
    	} // OnLogSystemProperties
    
    } // JApplet
    Edited by: RhinoGuy on Jul 1, 2011 4:20 PM
  • 801394
    801394 Member Posts: 14
    edited Jul 1, 2011 5:26PM
    This is the HTML I use, unfortunately this code gets mangled and I had to include HTML comment tags, so remove those if you want to use this.
    <!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    -->
    <script src="/FileNames.js" type="text/javascript" language="JavaScript"></script>
    <script type="text/javascript" language="JavaScript">
    
    	function IsInternetExplorer()
    	{
    		var bFound = false;
    
    		// parse the User-Agent field looking for the token
    		var sFind = "msie";
    		var sUserAgent = navigator.userAgent.toLowerCase();
    
    		var nStartIdx = sUserAgent.indexOf(sFind);
    
    		// did we find the indices? if so, then we're running inside the Mozilla Firefox web browser!
    		if (nStartIdx >= 0)
    			bFound = true;
    
    		//	NOTE:	We could use "deployJava" to find this out too.
    		//var sBrowser = deployJava.getBrowser();
            //if (sBrowser == 'MSIE')
    		//	bFound = true;
    
    		//	return true if we found the string we were looking for in the User-Agent field
    		return (bFound);
    	} // IsInternetExplorer
    
    
    	var g_sAppletID = "TestAppletID";
    	var g_sAppletName = "Blocked Applet Test";
    	var g_bDebugApplet = true;
    
    	function CreateApplet()
    	{
    		var sHTML = "<p>Hello Applet!</p>";
    
    		//	NOTE:	Google Chrome on NIX will not launch applets that don't have a valid size.   Apparently, a valid size consists of a width and height greater than 0.
    		var sAppletInitialWidth = "100%";
    		var sAppletInitialHeight = "400px;";
    
    		//	create a WebPage argument list, so we can put these into the applet parameter list
    		var asWebPageItems = ["appletid", g_sAppletID,											// tells us what ID to use when referencing the applet; this is important b/c depending on the browser, we either reference the applet w/ "XferApplet" or "XferAppletEmbed" when calling functions inside the applet
    								"oninitfunc", "OnInitFunc" ];									// called after the applet has been loaded, so the webpage knows for sure that the applet is alive and kicking
    
    		//	IMPORTANT NOTES:
    		//		- Do not include "jnlp_href" for the applet html tag, b/c it makes the reloading of the applet much, much slower!
    		//			Ex.  Launch your browser, and activate the applet.  Now reload the page or navigate back to some other page then come back here.
    		//			Notice how much longer it takes the JVM/browser to reload the applet.
    
    		//	if we running in Internet Explorer
            if (IsInternetExplorer()) {
    
    			//	format the HTML for the inserting the applet into the web page
    			sHTML = '<object type="application/x-java-applet;version=1.6"' +											// "type" tells the browser what addon to use
    								' id="' + g_sAppletID + '"' +															// "id" allows us to reference this object again
    								' width="' + sAppletInitialWidth + '"' + 												// "width" = the initial width of the object on our page
    								' height="' + sAppletInitialHeight + '"' +												// "height" = the initial height of the object on our page
    								' name="' + g_sAppletName + '"' +														// "name" shows up in the security dialog
    								' classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93">';								// "classid" is mostly used to tell Internet Explorer what addon to use; other browsers ignore this attribute
    
    			//	insert our parameters to the <object> tag
    			//	IMPORTANT:  see Notes above; do not include "jnlp_href"
    			sHTML += '<param name="code" value="com.domain.CApplet.class">' +											// tells the JRE the main class; which is a JApplet
    								'<param name="archive" value="./AppletTest.jar">' +										// tells older JREs where the main jar is located
    								'<param name="type" value="application/x-java-applet;version=1.6">' + 					// tells browser what addon to use
    								//'<param name="jnlp_href" value="./TestApplet.jnlp">' +								// tells newer JREs (>= J6U10) to use a JNLP file to launch applet
    								'<param name="separate_jvm" value="true">' +											// allows the applet to run in another instance of a JVM
    								'<param name="scriptable" value="true">' + 												// tells browser that this object is scriptable
    								'<param name="MAYSCRIPT" value="true">';												// tells Plugin that the applet might call into the DOM
    
    			//	if debug mode, insert the debug tags
    			if (g_bDebugApplet)
    				sHTML += '<param name="-debug" value="1">';																// allows the applet to show some debugging output
    
    			//	insert the web-page items
    			for (var nIdx = 0; nIdx < asWebPageItems.length; nIdx += 2) {
    				sHTML += '<param name="' + asWebPageItems[nIdx] + '" value="' + asWebPageItems[nIdx + 1] + '">';
    			} // for
    
    			//	close off the <object> tag
    			sHTML += '</object>';
    		} // if
    		else {
    
    			//	format the HTML for the inserting the applet into the web page
    			//	IMPORTANT:  see Notes above; do not include "jnlp_href"
    			sHTML = '<embed type="application/x-java-applet;version=1.6"' +												// "type" tells the browser what addon to use
    									//' jnlp_href="./TestApplet.jnlp"' +												// tells newer JREs (>= J6U10) to use a JNLP file to launch applet
    									' name="' + g_sAppletName + '"' +													// "name" shows up in the security dialog
    									' id="' + g_sAppletID + '"' +														// "id" allows us to reference this object again
    									' code="com.domain.CApplet.class"' +												// "code" needed for Mac/Safari applet support
    									' archive="./AppletTest.jar"' +														// "archive" needed for Mac/Safari applet support
    									' width="' + sAppletInitialWidth  + '"' + 											// "width" = the initial width of the object on our page
    									' height="' + sAppletInitialHeight + '"' + 											// "height" = the initial height of the object on our page
    									' separate_jvm="true"' +															// allows the applet to run in another instance of a JVM
    									' scriptable="true"' + 																// tells browser that this object is scriptable
    									' MAYSCRIPT="true"' +																// tells Plugin that the applet might call into the DOM
    									' pluginspage = "http://java.sun.com/products/plugin/index.html#download"'; 		// tells browser where to download the addon if its missing
    
    			//	if debug mode, insert the debug tags
    			if (g_bDebugApplet)
    				sHTML += ' -debug="true"';																				// allows the applet to show some debugging output
    
    			//	insert the web-page items
    			for (var nIdx = 0; nIdx < asWebPageItems.length; nIdx += 2) {
    				sHTML += asWebPageItems[nIdx] + '="' + asWebPageItems[nIdx + 1] + '"';
    			} // for
    
    			//	close off the <embed> tag
    			sHTML += '></embed>' +
    					'<noembed>' +
    					'</noembed>';
    		} // else
    
    
    /*		//	We could use the "deployJava", but I instead opted for a manual insertion b/c "deployJava" wants this done before the page is rendered.
    		var attributes = {
    							code:       "com.domain.CApplet",
    							archive:    "AppletTest.jar",
    							width:      300,
    							height:     300
    						};
    		var parameters = null;//{jnlp_href:"launch.jnlp"};		//	<!-- Applet Parameters -->
    		var version = "1.6";									//	<!-- Required Java Version -->
    
    		//	launch the applet
    		deployJava.runApplet(attributes, parameters, version);
    //*/
    
    		return (sHTML);
    	} // CreateApplet
    
    
    	function CreateShowAppletBtn()
    	{
    		var sHTML = '<button id="ToggleAppletBtn" type="button" onclick="ShowApplet()">Show Applet</button>';
    
    		return (sHTML);
    	} // CreateShowAppletBtn
    
    
    	function CreateHideAppletBtn()
    	{
    		var sHTML = '<button id="ToggleAppletBtn" type="button" onclick="HideApplet()">Hide Applet</button>';
    
    		return (sHTML);
    	} // CreateHideAppletBtn
    
    
    	function CreateLaunchAppletBtn()
    	{
    		var sHTML = '<button id="InitAppletBtn" style="float:left;" type="button" onclick="OnLaunchApplet()">Launch Applet</button>';
    
    		return (sHTML);
    	} // CreateLaunchAppletBtn
    
    
    	function CreateDestroyAppletBtn()
    	{
    		var sHTML = '<button id="InitAppletBtn" type="button" onclick="OnDestroyApplet()">Destroy Applet</button>';
    
    		return (sHTML);
    	} // CreateDestroyAppletBtn
    
    
    	function ToggleApplet(bHide)
    	{
    		var sInnerHTML = '';
    
    		if (bHide) {
    
    			//	hide the applet by setting the visibility of the HTML div it sits in
    			document.getElementById("AppletDiv").style.visibility = "hidden";
    
    			//	put a "show" applet button here
    			sInnerHTML = CreateShowAppletBtn();
    		} // if
    		else {
    
    			//	hide the applet by setting the visibility of the HTML div it sits in
    			document.getElementById("AppletDiv").style.visibility = "visible";
    
    			//	put a "hide" applet button here
    			sInnerHTML = CreateHideAppletBtn();
    		} // else
    
    		//	update our HTML
    		document.getElementById("ToggleAppletDiv").innerHTML = sInnerHTML;
    	} // ToggleApplet
    
    
    	function ShowApplet()
    	{
    		ToggleApplet(false);
    	} // ShowApplet
    
    
    	function HideApplet()
    	{
    		ToggleApplet(true);
    	} // HideApplet
    
    
    	function OnLaunchApplet()
    	{
    		//	let's change the launch applet button back to a destroy applet button
    		ToggleInitAppletBtn(true);
    	} // OnLaunchApplet
    
    
    	function OnDestroyApplet()
    	{
    		//	let's change the destroy applet button back to a launch applet button
    		ToggleInitAppletBtn(false);
    	} // OnDestoryApplet
     
    
    	function ToggleInitAppletBtn(bSwitchToDestroy)
    	{
    		var sInnerHTML = '';
    		var sToggleAppletBtnDisabled = '';
    		var sAppletHTML = '';
    
    		if (bSwitchToDestroy) {
    
    			//	put a "destroy" applet button here
    			sInnerHTML = CreateDestroyAppletBtn();
    
    			//	enable the hide/show applet button
    			sToggleAppletBtnDisabled = '';
    
    			//	create the applet and put it into our webpage
    			sAppletHTML = CreateApplet();
    		} // if
    		else {
    
    			//	put a "launch" applet button here
    			sInnerHTML = CreateLaunchAppletBtn();
    
    			//	disable the hide/show applet button
    			sToggleAppletBtnDisabled = 'disabled';
    
    			//	destroy the applet by removing its HTML tag
    			sAppletHTML = "";
    		} // else
    
    		//	setup the launch/destroy applet button
    		document.getElementById("InitAppletDiv").innerHTML = sInnerHTML;
    
    		//	setup the show/hide applet button
    		sInnerHTML = CreateHideAppletBtn();
    		document.getElementById("ToggleAppletDiv").innerHTML = sInnerHTML;
    
    		//	disable the hide/show applet button
    		document.getElementById("ToggleAppletBtn").disabled = sToggleAppletBtnDisabled;
    
    		//	create/destroy the applet
    		document.getElementById("AppletDiv").innerHTML = sAppletHTML;
    	} // ToggleInitAppletBtnText
    
    
    	function ShowAppletLaunchBtn()
    	{
    		ToggleInitAppletBtn(false);
    	} // ShowAppletLaunchBtn
    
    
    	function ShowAppletDestroyBtn()
    	{
    		ToggleInitAppletBtn(true);
    	} // ShowAppletDestroyBtn
    
    
    	function AddOnloadEvent(rFunc)
    	{
    		// add the page onload events
    		if (typeof window.addEventListener != "undefined")
    			window.addEventListener("load", rFunc, false);
    		else if (typeof window.attachEvent != "undefined")
    			window.attachEvent("onload", rFunc);
    		else {
    
    			if (window.onload != null) {
    
    				var oldOnload = window.onload;
    
    				window.onload = function (e) {
    					oldOnload(e);
    					window[rFunc]();
    				};
    			} // if
    			else 
    				window.onload = rFunc;
    		} // else
    	} // AddOnloadEvent
    
    
    	function OnLoadPage()
    	{
    		//	setup the 
    		document.getElementById("SourceFilesDiv").innerHTML = "<a href=\"" + g_sURL_Zip_BugEx2 + "\">Download Source Files</a>";
    
    		ShowAppletLaunchBtn();
    
    	} // OnLoadPage
    
    
    	//	add an event so we know when the page is being loaded; so we can initialize some dynamic UI controls
    	AddOnloadEvent(OnLoadPage);
    </script>
    <!--
    <title>Bug Report: 2</title>
    </head>
    <body>
    <h1>Mac OS | Chrome | Applet</h1>
    <p style="margin-top: 2px; margin-bottom: 5px;">Use this test case to show the errors encountered with an applet that is launched inside Google Chrome
    on Macintosh OSX.  We've encountered problems where the Java plugin crashes before the applet is displayed.  We've also experienced situations where
    the plugin allows the applet to run, but the JApplet's client area is not painted; thus producing a see-through effect (or as we like to call it: a hole)
    in the browser.
    </p>
    <span>To reproduce:</span>
    <ul style="margin-top: 0px; margin-bottom: 0px;">
    	<li>Click the "Launch Applet" button.</li>
    	<li>If the bug presents itself, you should notice the plugin crash or a hole in the web page where the applet should be located.</li>
    </ul>
    <span>Notes:</span>
    <ul style="margin-top: 0px; margin-bottom: 0px;">
    	<li>None at this time.</li>
    </ul>
    <hr>
    <div style="width: 100%; padding-bottom: 10px;">
    	<div id="TableOfContentsDiv" style="display:block; float:left;"><a href="/">Back to Test Cases</a></div>
    	<div id="SourceFilesDiv" style="display:block; text-align: right;"></div>
    </div>
    <hr>
    <div id="LogDiv"></div>
    <div id="AppletDiv"></div>
    <div style="display:block; position:absolute; bottom:10px; right:10px;">
    	<div id="BottomBtnsDiv">
    		<div id="InitAppletDiv" style="float:left;"></div>
    		<div id="ToggleAppletDiv" style="border:1px; margin-left:5px; float:left"></div>
    	</div>
    </div>
    </body>
    </html>
    -->
    Edited by: RhinoGuy on Jul 1, 2011 4:23 PM

    Edited by: RhinoGuy on Jul 1, 2011 4:25 PM
  • 801394
    801394 Member Posts: 14
    --- FileNames.js ---
    //	project branches
    var g_sBug_Reports = "Bug_Reports";
    var g_sDemo_Tests = "Demonstration_Tests";
    
    //	project names
    var g_sName_BugEx1 = "1_Mac_Firefox_SignedApplet";
    var g_sName_BugEx2 = "2_Mac_Chrome_Applet";
    var g_sName_BugEx3 = "3_Browser_Cancel_Cert_MultiJar";
    
    var g_sName_DemoEx1 = "1_Lifecycle";
    var g_sName_DemoEx2 = "2_Blocked";
    var g_sName_DemoEx3 = "3_LiveConnect";
    
    //	URL location for projects
    var g_sURL_BugEx1 = "/" + g_sBug_Reports + "/" + g_sName_BugEx1 + "/index.htm";
    var g_sURL_BugEx2 = "/" + g_sBug_Reports + "/" + g_sName_BugEx2 + "/index.htm";
    var g_sURL_BugEx3 = "/" + g_sBug_Reports + "/" + g_sName_BugEx3 + "/index.htm";
    
    var g_sURL_DemoEx1 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx1 + "/index.htm";
    var g_sURL_DemoEx2 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx2 + "/index.htm";
    var g_sURL_DemoEx3 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx3 + "/index.htm";
    
    //	URL location for zip source files
    var g_sURL_Zip_BugEx1 = "/" + g_sBug_Reports + "/" + g_sName_BugEx1 + "_Source.zip";
    var g_sURL_Zip_BugEx2 = "/" + g_sBug_Reports + "/" + g_sName_BugEx2 + "_Source.zip";
    var g_sURL_Zip_BugEx3 = "/" + g_sBug_Reports + "/" + g_sName_BugEx3 + "_Source.zip";
    
    var g_sURL_Zip_DemoEx1 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx1 + "_Source.zip";
    var g_sURL_Zip_DemoEx2 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx2 + "_Source.zip";
    var g_sURL_Zip_DemoEx3 = "/" + g_sDemo_Tests + "/" + g_sName_DemoEx3 + "_Source.zip";
  • 878368
    878368 Member Posts: 2
    Hi. I encountered the same problem, a temporary solution put in the parameters "separate_jvm: false"
This discussion has been closed.