From b069132341ab1f8a25d8bc1f07bdb97a69f656b5 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 16:32:18 +0800 Subject: [PATCH] =?UTF-8?q?CHART-23172=20&=20CHART-23111=20v7=E7=9A=84jxbr?= =?UTF-8?q?owser=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE=E5=85=B3=E9=97=ADengi?= =?UTF-8?q?ne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/ui/ModernUIPane.java | 6 +++++- .../fr/design/ui/compatible/ModernUIPaneFactory.java | 4 ++-- .../com/fr/design/ui/compatible/NewModernUIPane.java | 11 ++++++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java index 09fa2bbc0..16b09392f 100644 --- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java @@ -196,13 +196,17 @@ public class ModernUIPane extends BasicPane { private ModernUIPane pane; public Builder() { - this(BrowserType.HEAVYWEIGHT); } public Builder(BrowserType browserType) { this.pane = new ModernUIPane<>(browserType); } + public Builder init() { + this.pane = new ModernUIPane<>(BrowserType.HEAVYWEIGHT); + return this; + } + public Builder prepare(ScriptContextListener contextListener) { pane.browser.addScriptContextListener(contextListener); return this; diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java index 68b8950f7..e6b13ce13 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java @@ -13,9 +13,9 @@ public class ModernUIPaneFactory { public static ModernUIPane.Builder modernUIPaneBuilder() { if (isV7()) { - return new NewModernUIPane.Builder<>(); + return new NewModernUIPane.Builder().init(); } else { - return new ModernUIPane.Builder<>(); + return new ModernUIPane.Builder().init(); } } diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 0b56fc0ad..3c30afbf0 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,8 +182,7 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.close(); - browser = null; + browser.engine().close(); } } @@ -204,7 +203,13 @@ public class NewModernUIPane extends ModernUIPane { public static class Builder extends ModernUIPane.Builder { - private NewModernUIPane pane = new NewModernUIPane<>(); + private NewModernUIPane pane; + + @Override + public ModernUIPane.Builder init() { + this.pane = new NewModernUIPane<>(); + return this; + } public NewModernUIPane.Builder prepare(InjectJsCallback callback) { pane.browser.set(InjectJsCallback.class, callback);