mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
GTW-4830 Better JCEF support
create CefMessageRouter instances using JBCefApp factory method, to make sure the code will work in rem-dev environment GitOrigin-RevId: a6860c59dfd62d9c15ddf98694fed9f3e30ebce7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8ec6736e20
commit
94bdd1a37f
12
.idea/inspectionProfiles/idea_default.xml
generated
12
.idea/inspectionProfiles/idea_default.xml
generated
@@ -1038,6 +1038,18 @@
|
||||
<constraint name="n" within="" contains="" />
|
||||
<constraint name="__context__" script=""import com.intellij.psi.* import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.util.PsiUtil def stringUtil = JavaPsiFacade.getInstance(e.getProject()).findClass("com.intellij.openapi.util.text.StringUtil", GlobalSearchScope.allScope(e.getProject())); def strVirtualFile = PsiUtil.getVirtualFile(stringUtil); e instanceof PsiLiteralExpression && n instanceof PsiLiteralExpression && ((PsiLiteralExpression)e).getValue() instanceof String && ((PsiLiteralExpression)n).getValue() instanceof Integer && ((String)((PsiLiteralExpression)e).getValue()).length() == ((Integer)((PsiLiteralExpression)n).getValue()).intValue() && e.getParent().getParent().getParent() instanceof PsiIfStatement && ((PsiIfStatement)e.getParent().getParent().getParent()).getElseBranch() == null && strVirtualFile != null && e.getResolveScope().contains(strVirtualFile)"" target="true" within="" contains="" />
|
||||
</replaceConfiguration>
|
||||
<searchConfiguration name="CefMessageRouter.create" description="Instances of CefMessagerRouter created directly are not supported on the backend in remote development. Use JBCefApp.createMessageRouter or migrate to JBCefJSQuery. " problemDescriptor="Use JBCefApp.createMessageRouter or migrate to JBCefJSQuery." text="$Instance$.$MethodCall$($Parameter$)" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
|
||||
<constraint name="__context__" within="" contains="" />
|
||||
<constraint name="Instance" regexp="CefMessageRouter" within="" contains="" />
|
||||
<constraint name="MethodCall" regexp="create" within="" contains="" />
|
||||
<constraint name="Parameter" minCount="0" maxCount="2147483647" within="" contains="" />
|
||||
</searchConfiguration>
|
||||
<searchConfiguration name="CefMessageRouter.create" text="$Before$.$MethodCall$($Parameter$)" recursive="true" caseInsensitive="true" type="Kotlin" pattern_context="default">
|
||||
<constraint name="__context__" within="" contains="" />
|
||||
<constraint name="Before" regexp="CefMessageRouter" within="" contains="" />
|
||||
<constraint name="MethodCall" regexp="create" within="" contains="" />
|
||||
<constraint name="Parameter" minCount="0" maxCount="2147483647" within="" contains="" />
|
||||
</searchConfiguration>
|
||||
<searchConfiguration name="Comparing Swift Types without context" description="Whether two types are equal depends on the context" suppressId="swift.type.equals" problemDescriptor="Use equalsInContext" text="$ref1$.equals($ref2$)" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
|
||||
<constraint name="__context__" within="" contains="" />
|
||||
<constraint name="ref2" nameOfExprType="com\.jetbrains\.swift\.psi\.types\.SwiftType" exprTypeWithinHierarchy="true" within="" contains="" />
|
||||
|
||||
@@ -387,6 +387,7 @@ public final class JBCefApp {
|
||||
if (myDelegate != null) {
|
||||
return myDelegate.createMessageRouter(config);
|
||||
}
|
||||
//noinspection SSBasedInspection
|
||||
return CefMessageRouter.create(config);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.wm.StatusBar
|
||||
import com.intellij.platform.util.coroutines.childScope
|
||||
import com.intellij.testFramework.LightVirtualFile
|
||||
import com.intellij.ui.components.JBLoadingPanel
|
||||
import com.intellij.ui.jcef.JBCefApp
|
||||
import com.intellij.ui.jcef.JBCefBrowserBase.ErrorPage
|
||||
import com.intellij.ui.jcef.JCEFHtmlPanel
|
||||
import com.intellij.util.Alarm
|
||||
@@ -102,7 +103,7 @@ internal class HTMLFileEditor(private val project: Project, private val file: Li
|
||||
val queryHandler = request.queryHandler
|
||||
if (queryHandler != null) {
|
||||
val config = CefMessageRouter.CefMessageRouterConfig(HTMLEditorProvider.JS_FUNCTION_NAME, "${HTMLEditorProvider.JS_FUNCTION_NAME}Cancel")
|
||||
val jsRouter = CefMessageRouter.create(config)
|
||||
val jsRouter = JBCefApp.getInstance().createMessageRouter(config)
|
||||
jsRouter.addHandler(object : CefMessageRouterHandlerAdapter() {
|
||||
override fun onQuery(browser: CefBrowser, frame: CefFrame, id: Long, request: String?, persistent: Boolean, callback: CefQueryCallback): Boolean {
|
||||
htmlTabScope.launch {
|
||||
|
||||
Reference in New Issue
Block a user