From 2952d78b25d336ad4bc00e21c78b1108a2fdd417 Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Wed, 16 Feb 2022 16:07:46 +0300 Subject: [PATCH] Deprecate JBCefBrowserBuilder.createBrowser and some JBCefBrowserBuilder ctors GitOrigin-RevId: 23a56543129fd0f0926fd1a151787a678593f6f1 --- .../preview/viewOnly/JupyterViewOnlyFileEditor.kt | 2 +- .../src/com/intellij/ui/jcef/JBCefBrowser.java | 9 +++++++++ .../src/com/intellij/ui/jcef/JBCefBrowserBase.java | 2 +- .../com/intellij/ui/jcef/JBCefBrowserBuilder.java | 12 +++++++++++- .../com/intellij/internal/jcef/JBCefBrowserDemo.java | 2 +- .../com/intellij/ui/jcef/JBCefBrowserJsCallTest.kt | 2 +- .../com/intellij/ui/jcef/JBCefHeadlessOsrTest.java | 2 +- .../com/intellij/ui/jcef/JBCefJSQueryOSRTest.java | 4 ++-- .../ui/jcef/JBCefJSQueryPoolSlotReuseTest.java | 2 +- .../ui/jcef/JBCefMultiRenderingModeTest.java | 4 ++-- 10 files changed, 30 insertions(+), 11 deletions(-) diff --git a/jupyter/viewOnly/src/org/jetbrains/plugins/notebooks/jupyter/preview/viewOnly/JupyterViewOnlyFileEditor.kt b/jupyter/viewOnly/src/org/jetbrains/plugins/notebooks/jupyter/preview/viewOnly/JupyterViewOnlyFileEditor.kt index 295843fdb2dd..d43407378261 100644 --- a/jupyter/viewOnly/src/org/jetbrains/plugins/notebooks/jupyter/preview/viewOnly/JupyterViewOnlyFileEditor.kt +++ b/jupyter/viewOnly/src/org/jetbrains/plugins/notebooks/jupyter/preview/viewOnly/JupyterViewOnlyFileEditor.kt @@ -35,7 +35,7 @@ import javax.swing.JComponent class JupyterViewOnlyFileEditor private constructor(val myFile: VirtualFile) : UserDataHolderBase(), FileEditor { // OSR is slower but doesn't work on Linux when component detached from Swing (i.e. tab switched) private val browser = JBCefBrowser.createBuilder().setOffScreenRendering(SystemInfo.isLinux).setUrl( - JupyterCefHttpHandlerBase.getJupyterHttpUrl().addPathSegment("index.html").toString()).createBrowser() + JupyterCefHttpHandlerBase.getJupyterHttpUrl().addPathSegment("index.html").toString()).build() private val browserComponent: JComponent = browser.component private val darcula: MutableStateFlow = MutableStateFlow(UIUtil.isUnderDarcula()) private val scope = CoroutineScope(Dispatchers.EDT) diff --git a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java index 02844df157b7..c735b55e4ed5 100644 --- a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java +++ b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java @@ -154,6 +154,7 @@ public class JBCefBrowser extends JBCefBrowserBase { * Creates a browser with the initial URL. * * @see #createBuilder + * @see JBCefBrowserBuilder#setUrl(String) */ public JBCefBrowser(@NotNull String url) { this(createBuilder().setUrl(url)); @@ -163,7 +164,11 @@ public class JBCefBrowser extends JBCefBrowserBase { * Creates a browser with the provided {@code JBCefClient} and initial URL. The client's lifecycle is the responsibility of the caller. * * @see #createBuilder + * @see JBCefBrowserBuilder#setClient(JBCefClient) + * @see JBCefBrowserBuilder#setUrl(String) + * @deprecated use {@link JBCefBrowserBuilder} instead */ + @Deprecated public JBCefBrowser(@NotNull JBCefClient client, @Nullable String url) { this(createBuilder().setClient(client).setUrl(url)); } @@ -172,7 +177,11 @@ public class JBCefBrowser extends JBCefBrowserBase { * Creates a browser wrapping the provided {@link CefBrowser} with the provided {@link JBCefClient}. * * @see #createBuilder + * @see JBCefBrowserBuilder#setCefBrowser(CefBrowser) + * @see JBCefBrowserBuilder#setClient(JBCefClient) + * @deprecated use {@link JBCefBrowserBuilder} instead */ + @Deprecated public JBCefBrowser(@NotNull CefBrowser cefBrowser, @NotNull JBCefClient client) { this(createBuilder().setCefBrowser(cefBrowser).setClient(client)); } diff --git a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java index e3135f8136e1..40b5f3122f96 100644 --- a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java +++ b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java @@ -715,7 +715,7 @@ public abstract class JBCefBrowserBase implements JBCefDisposable { myDevtoolsFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); myDevtoolsFrame.setBounds(bounds.width / 4 + 100, bounds.height / 4 + 100, bounds.width / 2, bounds.height / 2); myDevtoolsFrame.setLayout(new BorderLayout()); - JBCefBrowser devTools = JBCefBrowser.createBuilder().setCefBrowser(myCefBrowser.getDevTools()).setClient(myCefClient).createBrowser(); + JBCefBrowser devTools = JBCefBrowser.createBuilder().setCefBrowser(myCefBrowser.getDevTools()).setClient(myCefClient).build(); myDevtoolsFrame.add(devTools.getComponent(), BorderLayout.CENTER); myDevtoolsFrame.addWindowListener(new WindowAdapter() { @Override diff --git a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java index 4e74ed140dd6..6dff44fdd17f 100644 --- a/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java +++ b/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java @@ -2,6 +2,7 @@ package com.intellij.ui.jcef; import org.cef.browser.CefBrowser; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -111,9 +112,18 @@ public class JBCefBrowserBuilder { } /** - * Creates the browser with the set parameters. + * @deprecated use {@link JBCefBrowserBuilder#build()} instead */ + @Deprecated + @ApiStatus.ScheduledForRemoval(inVersion = "2022.3") public @NotNull JBCefBrowser createBrowser() { + return build(); + } + + /** + * Creates and returns the browser with the set parameters. + */ + public @NotNull JBCefBrowser build() { return JBCefBrowser.create(this); } } diff --git a/platform/platform-impl/src/com/intellij/internal/jcef/JBCefBrowserDemo.java b/platform/platform-impl/src/com/intellij/internal/jcef/JBCefBrowserDemo.java index afc988fbb040..722cf72e1412 100644 --- a/platform/platform-impl/src/com/intellij/internal/jcef/JBCefBrowserDemo.java +++ b/platform/platform-impl/src/com/intellij/internal/jcef/JBCefBrowserDemo.java @@ -65,7 +65,7 @@ public class JBCefBrowserDemo extends AnAction implements DumbAware { .setOffScreenRendering(isOffScreenRendering) .setUrl(URL) .setEnableOpenDevToolsMenuItem(true) - .createBrowser(); + .build(); myJBCefBrowser.setErrorPage(new JBCefBrowserBase.ErrorPage() { @Override diff --git a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefBrowserJsCallTest.kt b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefBrowserJsCallTest.kt index 5909ae05408d..be88ddd35ad5 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefBrowserJsCallTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefBrowserJsCallTest.kt @@ -123,7 +123,7 @@ class JBCefBrowserJsCallTest { JBCefBrowser.createBuilder() .setClient(jbCefClient) .setUrl("about:blank") - .createBrowser() + .build() } JBCefTestHelper.showAndWaitForLoad(browser, "DISPATCH") diff --git a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefHeadlessOsrTest.java b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefHeadlessOsrTest.java index 391d8682605d..cfaaf1d4aaa6 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefHeadlessOsrTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefHeadlessOsrTest.java @@ -52,7 +52,7 @@ public class JBCefHeadlessOsrTest { } }) .setUrl("chrome:version") - .createBrowser(); + .build(); invokeAndWaitForLoad(browser, () -> browser.getCefBrowser().createImmediately()); } diff --git a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryOSRTest.java b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryOSRTest.java index 1dd24cf45f96..1ad76db479c0 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryOSRTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryOSRTest.java @@ -73,7 +73,7 @@ public class JBCefJSQueryOSRTest { .setOffScreenRendering(true) .setClient(client) .setCreateImmediately(true) - .createBrowser(); + .build(); JBCefJSQuery jsQuery = JBCefJSQuery.create((JBCefBrowserBase)browser); @@ -84,7 +84,7 @@ public class JBCefJSQueryOSRTest { public void test4() { JBCefBrowser browser = JBCefBrowser.createBuilder() .setOffScreenRendering(true) - .createBrowser(); + .build(); JBCefJSQuery jsQuery = JBCefJSQuery.create((JBCefBrowserBase)browser); browser.createImmediately(); diff --git a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryPoolSlotReuseTest.java b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryPoolSlotReuseTest.java index 79accd51a42e..a83a2ae31650 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryPoolSlotReuseTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefJSQueryPoolSlotReuseTest.java @@ -42,7 +42,7 @@ public class JBCefJSQueryPoolSlotReuseTest { var client = JBCefApp.getInstance().createClient(); client.setProperty(JBCefClient.Properties.JS_QUERY_POOL_SIZE, 1); - var browser = new JBCefBrowserBuilder().setUrl("about:blank").setClient(client).createBrowser(); + var browser = new JBCefBrowserBuilder().setUrl("about:blank").setClient(client).build(); showAndWaitForLoad(browser, JBCefJSQueryPoolSlotReuseTest.class.getSimpleName()); /* diff --git a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefMultiRenderingModeTest.java b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefMultiRenderingModeTest.java index 08bab2fc4e7f..3931295c0ba6 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefMultiRenderingModeTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ui/jcef/JBCefMultiRenderingModeTest.java @@ -40,8 +40,8 @@ public class JBCefMultiRenderingModeTest { @Test public void test() { - show(JBCefBrowser.createBuilder().setOffScreenRendering(false).setUrl("chrome:version").createBrowser()); - show(JBCefBrowser.createBuilder().setOffScreenRendering(true).setUrl("chrome:version").createBrowser()); + show(JBCefBrowser.createBuilder().setOffScreenRendering(false).setUrl("chrome:version").build()); + show(JBCefBrowser.createBuilder().setOffScreenRendering(true).setUrl("chrome:version").build()); Disposer.dispose(JBCefApp.getInstance().getDisposable()); }