11package com.multiplatform.webview.web
22
3- import androidx.compose.runtime.Composable
4- import androidx.compose.runtime.DisposableEffect
5- import androidx.compose.runtime.LaunchedEffect
6- import androidx.compose.runtime.getValue
7- import androidx.compose.runtime.remember
8- import androidx.compose.runtime.rememberCoroutineScope
9- import androidx.compose.runtime.rememberUpdatedState
3+ import androidx.compose.runtime.*
104import androidx.compose.ui.Modifier
115import androidx.compose.ui.awt.SwingPanel
126import com.multiplatform.webview.jsbridge.WebViewJsBridge
@@ -15,6 +9,7 @@ import dev.datlag.kcef.KCEFBrowser
159import dev.datlag.kcef.KCEFClient
1610import org.cef.browser.CefRendering
1711import org.cef.browser.CefRequestContext
12+ import java.util.concurrent.TimeUnit
1813
1914/* *
2015 * Desktop WebView implementation.
@@ -142,18 +137,28 @@ fun DesktopWebView(
142137 }
143138
144139 browser?.let {
145- SwingPanel (
146- factory = {
147- onCreated(it)
148- browser.apply {
149- addDisplayHandler(state)
150- addLoadListener(state, navigator)
151- addRequestHandler(state, navigator)
152- }
153- browser.uiComponent
154- },
155- modifier = modifier,
156- )
140+ if (runCatching { browser.windowlessFrameRate.get(100L , TimeUnit .MILLISECONDS ) }.getOrNull() == null ) {
141+ SwingPanel (
142+ factory = {
143+ onCreated(browser)
144+ browser.apply {
145+ addDisplayHandler(state)
146+ addLoadListener(state, navigator)
147+ addRequestHandler(state, navigator)
148+ }
149+ browser.uiComponent
150+ },
151+ modifier = modifier,
152+ )
153+ } else {
154+ onCreated(browser)
155+ browser.apply {
156+ addDisplayHandler(state)
157+ addLoadListener(state, navigator)
158+ addRequestHandler(state, navigator)
159+ }
160+ browser.uiComponent.size = java.awt.Dimension (1280 , 720 )
161+ }
157162 }
158163
159164 DisposableEffect (Unit ) {
0 commit comments