I use the SWT Browser control in my Eclipse RCP application. On Linux Ubuntu 10.10 this depends on the user having installed xulrunner-1.9.2. This works fine.
Howeve
Simply installing the "hotot" (Twitter) App via Software Center, which drags WebKit along, did the trick for me. - A "sudo apt-get install -y libwebkitgtk-1.0-0", or build from source as per https://help.ubuntu.com/community/WebKit, would probably work as well.
I'm not on Ubuntu, but think that doesn't matter much.
libwebkit-1.0-2
(it should be >= 1.2.0)/usr/lib
and /usr/lib/jni
is in java.library.path
libswt-webkit-gtk-3.6-jni
and org.eclipse.swt.browser.UseWebKitGTK
system property is set to `TrueEdit: To localize source of the problem create minimalistic project and show the output
package foo;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserTest {
public static void main(String[] args) {
System.out.println(System.getProperty("java.library.path"));
System.out.println(System.getProperty("org.eclipse.swt.browser.UseWebKitGTK"));
Display display = new Display();
Shell shell = new Shell(display);
try {
Browser browser = new Browser(shell, SWT.NONE);
browser.setSize(shell.getSize());
browser.setUrl("google.com");
} catch (SWTError e) {
e.printStackTrace();
}
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
For Natty, check out this page: http://www.maplef.net/blog/archives/ubuntu-upgrade-eclipse3-5-to-3-6.html (ignore japanses/chinese stuff, just follow the code to reach shangri-la)
For Eclipse Juno SR1 (4.2 SR1) running on Ubuntu 12.04, the following worked for me:
sudo apt-get install libwebkitgtk-3.0-0
sudo apt-get install libswt-webkit-gtk-3-jni
Set the DefaultType and UseWebKitGTK properties (I did it by adding the following to my eclipse.ini file):
-Dorg.eclipse.swt.browser.DefaultType=webkit
-Dorg.eclipse.swt.browser.UseWebKitGTK=true