[webkit-qt] Early stages of Java Applet patch for QtWebKit

Garth Dahlstrom gdahlstrom at 2keys.ca
Wed Dec 23 16:44:37 PST 2009

Hi QtWebkit and Arora lists, 

A colleague (John Spicer) and I have been working on a patch to support Java Applets in QtWebKit.    We finally have something that sort of works and are now keen to rally some help from the interested communities to get over the latest humps, complete the effort and get it rolled up into QtWebkit and Qt.

Qt w/ WebKit + WebKit debugging symbols can be a bit unruly to get built, but I'm somewhat of an expert at building the beast, so if anyone needs assistance getting set-up let me know (I can post an entire Qt 4.5.3 build w/ patch applied if that helps).

You can see the patch in action, using with Qt's Demo Browser app, here:  
  -> http://arora-dev.googlegroups.com/web/qt-demos-browser-java-applet.png?gsc=uyLiEwsAAAA_opuiF-PJ23f8yKxuAQCQ
   [Note: that JavaEnabled must be set to true in the Demo Browser application as is highlighted at the top of the screenshot, line 247]

What have going:
* Sun Plugin2 applet working - requires Java 1.6.0 update 17
* Loads Applets contained in Jar files -- i.e. http://java.com/en/download/help/testvm.xml works
* Windows is the only place we've been working 

What we need help with:
* Rebasing the patch onto 4.6.0 (we had a go at it, but a lot has changed between 4.5.3 and 4.6.0, and we were not successful)
* Porting the patch to other platforms OSX, Linux
* .class based applets like that found on javatester.org, doesn't load... (I've included that at the bottom of this message)
* Testing and test cases for things that need to be checked
* other stuff I'm not thinking of?

I'm looking for help in whatever capacity people can help in and advice on how to move this ball forward.

Cheers & Happy Holidays,


Garth Dahlstrom, 2Keys Corporation 
IRC: jumpkick
gtalk: ironstorm

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 4.5.3-jws-code-20091223.patch
Type: application/octet-stream
Size: 6680 bytes
Desc: not available
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20091223/afd989ec/attachment.obj>
-------------- next part --------------

JavaTester .class based applet exception from Java Console:

basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener at 12b3d53
network: Cache entry not found [url: http://javatester.org/version.html/JavaVersionDisplayApplet.class, version: null]
network: Connecting http://javatester.org/version.html/JavaVersionDisplayApplet.class with proxy=DIRECT
network: Connecting http://javatester.org:80/ with proxy=DIRECT
network: Cache entry not found [url: http://javatester.org/version.html/JavaVersionDisplayApplet/class.class, version: null]
network: Connecting http://javatester.org/version.html/JavaVersionDisplayApplet/class.class with proxy=DIRECT
basic: load: class JavaVersionDisplayApplet.class not found.
load: class JavaVersionDisplayApplet.class not found.
java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:http://javatester.org/version.html/JavaVersionDisplayApplet/class.class
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 7 more
Exception: java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class

More information about the webkit-qt mailing list