equoplatform/chromium-swt

Equo Chromium Community Edition

Equo Platform support team

The Equo Chromium Community widget is a cross platform SWT browser that allows users to create and render modern web-based UIs inside a Java SWT or an Eclipse RCP application. It can be used in a standalone Java application, or it can also be easily embedded in an Eclipse view, using the same API that is used with other SWT browsers.

No more custom code for each platform, no more installations of specific libraries for Linux, no more problems in Windows with IE, no more platform-dependant and browser-specific issues at all. This is a truly cross platform SWT Browser that runs seamlessly in all operating systems and in embedded devices.

It is based on and uses the CEF Framework (https://bitbucket.org/chromiumembedded/cef).

License

Equo Chromium is dual-licensed under commercial and open source licenses (GPLv3). This repository is licensed under GPLv3. To get a commercial license and to not worry about the obligations associated with the GPLv3 license please contact the .

Distribution

The Equo Chromium SWT Browser is provided as ready-to-use P2 repositories, which contains:

  • a Chromium bundle
  • a Chromium native library per platform fragments
  • a feature containing all the above

CEF Binaries are provided in a separate repository for easy usage.

P2 repositories

An Eclipse P2 repository is available with the bundle and fragments for Linux, Windows and Mac OS (x86_64 only):

  1. Repository Equo Chromium Community widget:
https://dl.equoplatform.com/chromium-swt-ce/69.0.0/repository
  1. CEF binaries P2 repository:
https://dl.equoplatform.com/chromium-cef-ce/69.0.0/repository

If you need support for other platforms (i.e 32 bits architectures) please contact us.

Usage

To use the Equo Chromium Community widget add the following import sentence to your Java classes:

import com.equo.swt.chromium.Browser;

Below you can see an example of how to instantiate the browser in your application:

import com.equo.swt.chromium.Browser;
public class SinglePagePart {
	public void createBrowser(Composite parent, String url) {
		Browser browser = new Browser(parent, SWT.NONE);
		browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
		browser.setUrl(url);
	}
}

Contributing

Thanks you to all the people who are contributing to Equo Chromium! Please, read our Contributors Guide if you want to contribute to this project.

By contributing you agree to our Code of Conduct's terms.

Build

This repo uses GIT LFS, please install (https://git-lfs.github.com/) before cloning.

  • Clone this repo.
  • mvn clean package

Run tests

  • Exract the CEF binaries first or run the widget once to extract the binaries, as indicated in Usage.
  • mvn verify
  • Or from eclipse run the single test class from bundle as Junit tests. (Note: you may need to change paths to .jars in local installation)

Notes: Running with mvn has some test failing due accessing protected fields from same package in different bundes. This is a temporary until it gets merged to SWT.

Support

If you need consultancy or support for having the widget integrated into your app, contact our Enterprise support team.

Issues

Collection of the latest Issues

dstainhauser

dstainhauser

Comment Icon0

We are testing Equo Chromium SWT Release v88.0.4 - 2022-03-14 The problem occurs on Windows and macOS

When handling a click event and then calling Chromium.eval in the event listener, Chromium is blocking. The call is done in the Main thread.

When we start a new thread after a delay, we may call Chromium.eval succcessfully. But this is cumbersome and dangerous.

The same code worked with Chromium 76 before.

Screenshot 2022-03-18 at 07 58 32
vfateev

vfateev

Comment Icon3

Both links mentioned in the README are not reachable now. #404 #404 They contained com.equo.swt.chromium package and it worked fine.

The following links are reachable: #404 http://dl.maketechnology.io/chromium-swt/rls/repository But they contain org.eclipse.swt.chromium package which fails: java.lang.UnsatisfiedLinkError: Could not find resource chromium_subp-4936r26.exe (in subdirectory: chromium-3071 ) at org.eclipse.swt.internal.chromium.ResourceExpander.findResource(ResourceExpander.java:119) at org.eclipse.swt.chromium.Chromium.loadLib(Chromium.java:1642) at org.eclipse.swt.chromium.Chromium.(Chromium.java:103) at org.eclipse.swt.chromium.Browser.(Browser.java:32)

Versions

Find the latest versions by id

example.win - Jul 30, 2019

Sample app for win 64, unzip it, cd to folder, and run with java -jar org.eclipse.swt.chromium.example-0100.jar

cefbuilds - Oct 31, 2017

v0.1.1-alpha - Aug 02, 2017

Sample Eclipse App showing the Chromium SWT Widget.

  • Improve sample app with multiple browsers, tab support and loading random performance sites on each tab (60fps !!!)
  • Support for old linux versions
  • Reduce lib binaries size
  • Proper stale binaries cache check using checksum (checksum on build time, doesn't affect runtime performance)
  • Fix memory violation on exit
  • Release memory on close browser
  • Improve memory usage

v0.1-alpha - Jun 10, 2017

Sample Eclipse App showing the Chromium SWT Widget.

Facebook Instagram Twitter GitHub Dribbble
Privacy