mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
IJPL-190637 add jcef JavaScript verbose logs
GitOrigin-RevId: e281f3982b7a007b86d52d019248863e178a3a6c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dce366089e
commit
6c61dabd33
@@ -164,7 +164,7 @@ class JCefImageViewer(private val myFile: VirtualFile,
|
||||
override fun getZoomModel(): ImageZoomModel = ZOOM_MODEL
|
||||
override fun isGridVisible(): Boolean = myState.status == ViewerState.Status.OK && myState.gridEnabled
|
||||
fun getZoom() = myState.zoom
|
||||
private fun execute(@Language("javascript") script: String) = myBrowser.cefBrowser.executeJavaScript(script, myBrowser.cefBrowser.url, 0)
|
||||
private fun execute(@Language("javascript") script: String) = myBrowser.runJavaScript(script, myBrowser.cefBrowser.url, 0)
|
||||
|
||||
private val ZOOM_MODEL: ImageZoomModel = object : ImageZoomModel {
|
||||
override fun getZoomFactor(): Double = myState.zoom
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
a:com.intellij.ui.jcef.JBCefBrowserBase
|
||||
- runJavaScript(java.lang.String):V
|
||||
- runJavaScript(java.lang.String,java.lang.String,I):V
|
||||
com.intellij.ui.jcef.JBCefBrowserBase$ErrorPage
|
||||
- sf:DEFAULT:com.intellij.ui.jcef.JBCefBrowserBase$ErrorPage
|
||||
- a:create(org.cef.handler.CefLoadHandler$ErrorCode,java.lang.String,java.lang.String):java.lang.String
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.cef.misc.Utils;
|
||||
import org.cef.network.CefCookieManager;
|
||||
import org.cef.network.CefRequest;
|
||||
import org.cef.security.CefSSLInfo;
|
||||
import org.intellij.lang.annotations.Language;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -928,4 +929,15 @@ public abstract class JBCefBrowserBase implements JBCefDisposable {
|
||||
|
||||
return browser;
|
||||
}
|
||||
|
||||
public void runJavaScript(@Language("JavaScript") String code) {
|
||||
runJavaScript(code, null, 0);
|
||||
}
|
||||
|
||||
public void runJavaScript(@Language("JavaScript") String code, String url, int line) {
|
||||
if (Utils.getBoolean("ide.browser.jcef.log.extended", false)) {
|
||||
CefLog.Debug("%s.runJavaScript(%s)", myCefBrowser.toString(), code);
|
||||
}
|
||||
myCefBrowser.executeJavaScript(code, url, line);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.intellij.plugins.markdown.ui.preview.jcef
|
||||
|
||||
import com.intellij.ide.ui.UISettingsListener
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
@@ -248,13 +247,13 @@ class MarkdownJCEFHtmlPanel(private val project: Project?, private val virtualFi
|
||||
|
||||
@Suppress("OVERRIDE_DEPRECATION")
|
||||
override fun scrollToMarkdownSrcOffset(offset: Int, smooth: Boolean) {
|
||||
executeJavaScript("window.scrollController?.scrollTo($offset, $smooth)")
|
||||
runJavaScript("window.scrollController?.scrollTo($offset, $smooth)")
|
||||
}
|
||||
|
||||
override fun scrollBy(horizontalUnits: Int, verticalUnits: Int) {
|
||||
val horizontal = JBCefApp.normalizeScaledSize(horizontalUnits)
|
||||
val vertical = JBCefApp.normalizeScaledSize(verticalUnits)
|
||||
executeJavaScript("window.scrollController?.scrollBy($horizontal, $vertical)")
|
||||
runJavaScript("window.scrollController?.scrollBy($horizontal, $vertical)")
|
||||
}
|
||||
|
||||
private val previewInnerComponent by lazy { super.getComponent() }
|
||||
@@ -339,7 +338,7 @@ class MarkdownJCEFHtmlPanel(private val project: Project?, private val virtualFi
|
||||
| styles.setProperty("${PreviewLAFThemeStyles.Variables.FontSize}", "${scaled}px");
|
||||
|})();
|
||||
""".trimMargin()
|
||||
executeJavaScript(code)
|
||||
runJavaScript(code)
|
||||
}
|
||||
|
||||
private fun createFileSchemeResourcesProcessor(projectRoot: VirtualFile?): ResourceProvider? {
|
||||
|
||||
@@ -67,7 +67,7 @@ internal suspend fun executeCancellableJsCall(browser: JBCefBrowser, @Language("
|
||||
}
|
||||
try {
|
||||
val wrappedCode = wrapWithErrorHandling(code, resultQuery, errorQuery)
|
||||
browser.executeJavaScript(wrappedCode)
|
||||
browser.runJavaScript(wrappedCode)
|
||||
} catch (exception: Exception) {
|
||||
continuation.resumeWithException(exception)
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ internal class JcefBrowserPipeImpl(
|
||||
override fun send(type: String, data: String) {
|
||||
val raw = jacksonObjectMapper().writeValueAsString(PackedMessage(type, data))
|
||||
logger.debug("Sending message: $raw")
|
||||
browser.cefBrowser.executeJavaScript(postToBrowserFunctionCall(raw), null, 0)
|
||||
browser.runJavaScript(postToBrowserFunctionCall(raw), null, 0)
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
|
||||
@@ -11,14 +11,9 @@ import org.cef.browser.CefFrame
|
||||
import org.cef.handler.CefLoadHandler
|
||||
import org.cef.handler.CefLoadHandlerAdapter
|
||||
import org.cef.handler.CefRequestHandler
|
||||
import org.intellij.lang.annotations.Language
|
||||
import kotlin.coroutines.resume
|
||||
import kotlin.coroutines.resumeWithException
|
||||
|
||||
internal fun JBCefBrowser.executeJavaScript(@Language("JavaScript") code: String) {
|
||||
cefBrowser.executeJavaScript(code, null, 0)
|
||||
}
|
||||
|
||||
internal fun JBCefClient.addRequestHandler(handler: CefRequestHandler, browser: CefBrowser, parentDisposable: Disposable) {
|
||||
Disposer.register(parentDisposable) { removeRequestHandler(handler, browser) }
|
||||
addRequestHandler(handler, browser)
|
||||
|
||||
Reference in New Issue
Block a user