From b3131e391135465f3152fa21a23cf940e7642bb8 Mon Sep 17 00:00:00 2001 From: Guus der Kinderen Date: Sun, 2 Aug 2020 22:44:08 +0200 Subject: [PATCH] SPARK-2132: Replace JxBrowser with Lobobrowser This commit reverts back the change from Lobobrowser to JxBrowser, as we failed to get a license for JxBrowser. As a result, the Meet plugin (which depends features not supported by Lobobrowser) was excluded from the Maven project. --- core/pom.xml | 28 +--- .../browser/EmbeddedBrowserViewer.java | 125 ++++++++++-------- distribution/src/installer/spark.install4j | 20 --- .../spark/plugin/ofmeet/SparkMeetPlugin.java | 2 - pom.xml | 2 +- 5 files changed, 74 insertions(+), 103 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 3e97e962..66d4bd66 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -179,27 +179,9 @@ - com.teamdev.jxbrowser - jxbrowser-win - 6.20 - - - - com.teamdev.jxbrowser - jxbrowser-linux32 - 6.14.2 - - - - com.teamdev.jxbrowser - jxbrowser-linux64 - 6.23.1 - - - - com.teamdev.jxbrowser - jxbrowser-mac - 6.23.1 + org.lobobrowser + LoboBrowser + 1.0.0 @@ -257,10 +239,6 @@ ej-technologies https://maven.ej-technologies.com/repository/ - - com.teamdev - https://maven.teamdev.com/repository/products - diff --git a/core/src/main/java/org/jivesoftware/spark/component/browser/EmbeddedBrowserViewer.java b/core/src/main/java/org/jivesoftware/spark/component/browser/EmbeddedBrowserViewer.java index d8b1e439..df7cac32 100644 --- a/core/src/main/java/org/jivesoftware/spark/component/browser/EmbeddedBrowserViewer.java +++ b/core/src/main/java/org/jivesoftware/spark/component/browser/EmbeddedBrowserViewer.java @@ -16,71 +16,86 @@ package org.jivesoftware.spark.component.browser; import java.awt.BorderLayout; +import java.net.MalformedURLException; + import javax.swing.JFrame; +import javax.swing.LookAndFeel; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; -import com.teamdev.jxbrowser.chromium.*; -import com.teamdev.jxbrowser.chromium.swing.BrowserView; +import org.lobobrowser.gui.ContentEvent; +import org.lobobrowser.gui.ContentListener; +import org.lobobrowser.gui.FramePanel; -public class EmbeddedBrowserViewer extends BrowserViewer { +public class EmbeddedBrowserViewer extends BrowserViewer implements ContentListener { - private static final long serialVersionUID = -8055149462713514766L; - private Browser browser; - - /** - * Constructs a new LobobrowserViewer - */ - public EmbeddedBrowserViewer() { - browser = new Browser(); - } - - /** - * Implementation of "Back"-button - */ - @Override - public void goBack() { - browser.goBack(); - } + private static final long serialVersionUID = -8055149462713514766L; + private FramePanel browser; - /** - * Initialization of the BrowserViewer - */ - @Override - public void initializeBrowser() { - this.setLayout(new BorderLayout()); + /** + * Constructs a new LobobrowserViewer + */ + public EmbeddedBrowserViewer() { + LookAndFeel laf = UIManager.getLookAndFeel(); - final BrowserView view = new BrowserView( browser ); - this.add(view, BorderLayout.CENTER); - } + browser = new FramePanel(); + //substance look and feel + try { + UIManager.setLookAndFeel(laf); + } + catch (UnsupportedLookAndFeelException e) { + e.printStackTrace(); + } + browser.addContentListener(this); + } - /** - * Load the given URL - */ - @Override - public void loadURL(String url) { - browser.loadURL( url ); - } + /** + * Implementation of "Back"-button + */ + public void goBack() { + browser.back(); + } -// /** -// * React to an event by updating the address bar -// */ -// public void contentSet(ContentEvent event) { -// if (browser == null || browser.getCurrentNavigationEntry() == null) { -// return; -// } -// String url = browser.getCurrentNavigationEntry().getUrl().toExternalForm(); -// documentLoaded(url); -// } - - public static void main(String[] args) { - EmbeddedBrowserViewer viewer = new EmbeddedBrowserViewer(); - viewer.initializeBrowser(); - JFrame frame = new JFrame("Test"); + /** + * Initialization of the BrowserViewer + */ + public void initializeBrowser() { + this.setLayout(new BorderLayout()); + this.add(browser, BorderLayout.CENTER); + } + + /** + * Load the given URL + */ + public void loadURL(String url) { + try { + browser.navigate(url); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + /** + * React to an event by updating the address bar + */ + public void contentSet(ContentEvent event) { + if (browser == null || browser.getCurrentNavigationEntry() == null) { + return; + } + String url = browser.getCurrentNavigationEntry().getUrl().toExternalForm(); + documentLoaded(url); + } + + public static void main(String[] args) { + EmbeddedBrowserViewer viewer = new EmbeddedBrowserViewer(); + viewer.initializeBrowser(); + JFrame frame = new JFrame("Test"); frame.getContentPane().setLayout(new BorderLayout()); frame.getContentPane().add(viewer, BorderLayout.CENTER); - frame.setVisible(true); - frame.pack(); + frame.setVisible(true); + frame.pack(); frame.setSize(600, 400); - viewer.loadURL("http://igniterealtime.org"); - } + viewer.loadURL("http://igniterealtime.org"); + } } diff --git a/distribution/src/installer/spark.install4j b/distribution/src/installer/spark.install4j index 7142a546..ebd6a032 100644 --- a/distribution/src/installer/spark.install4j +++ b/distribution/src/installer/spark.install4j @@ -576,12 +576,9 @@ - - - @@ -599,10 +596,8 @@ - - @@ -621,13 +616,10 @@ - - - @@ -645,10 +637,8 @@ - - @@ -671,10 +661,8 @@ - - @@ -706,10 +694,8 @@ - - @@ -740,13 +726,10 @@ - - - @@ -764,12 +747,9 @@ - - - diff --git a/plugins/meet/src/main/java/org/jivesoftware/spark/plugin/ofmeet/SparkMeetPlugin.java b/plugins/meet/src/main/java/org/jivesoftware/spark/plugin/ofmeet/SparkMeetPlugin.java index 5f49ae74..c7693502 100644 --- a/plugins/meet/src/main/java/org/jivesoftware/spark/plugin/ofmeet/SparkMeetPlugin.java +++ b/plugins/meet/src/main/java/org/jivesoftware/spark/plugin/ofmeet/SparkMeetPlugin.java @@ -17,8 +17,6 @@ package org.jivesoftware.spark.plugin.ofmeet; -import com.teamdev.jxbrowser.chromium.Browser; -import com.teamdev.jxbrowser.chromium.swing.BrowserView; import org.jivesoftware.Spark; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.spark.SparkManager; diff --git a/pom.xml b/pom.xml index 9c0831b0..9ec6517b 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ plugins/flashing plugins/growl - plugins/meet + plugins/reversi plugins/roar