6 Replies Latest reply: Jul 27, 2011 5:02 AM by 878368 RSS

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

    801394
      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.
        • 1. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
          793415
          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.
          • 2. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
            DarrylBurke
            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
            • 3. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
              801394
              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
              • 4. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
                801394
                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
                • 5. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
                  801394
                  --- 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";
                  • 6. Re: Google Chrome On Mac OSX Won't Show A Simple Applet
                    878368
                    Hi. I encountered the same problem, a temporary solution put in the parameters "separate_jvm: false"