Skip to content

Commit 9f37025

Browse files
committed
aaaaaaa
1 parent a2e4042 commit 9f37025

File tree

6 files changed

+74
-26
lines changed

6 files changed

+74
-26
lines changed

plugins/amazonq/build.gradle.kts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,4 @@ tasks.check {
5454
val runSplitIde by intellijPlatformTesting.runIde.registering {
5555
splitMode = true
5656
splitModeTarget = SplitModeAware.SplitModeTarget.BACKEND
57-
58-
plugins {
59-
localPlugin(provider { project(":plugin-core").tasks.buildPlugin.get().outputs.files.singleFile })
60-
}
61-
62-
prepareSandboxTask {
63-
dependsOn(provider { project(":plugin-core").tasks.buildPlugin })
64-
}
6557
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/QLoginWebview.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class QWebviewPanel private constructor(val project: Project) : Disposable {
8686
}
8787

8888
private fun init() {
89-
if (!isQWebviewsAvailable()) {
89+
if (false) {
9090
// Fallback to an alternative browser-less solution
9191
webviewContainer.add(JBTextArea("JCEF not supported"))
9292
browser = null

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowFactory.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
107107
project: Project,
108108
qPanel: Wrapper,
109109
) {
110-
val component = if (isQConnected(project) && !isQExpired(project)) {
111-
AmazonQToolWindow.getInstance(project).component
112-
} else {
113-
QWebviewPanel.getInstance(project).browser?.prepareBrowser(BrowserState(FeatureId.AmazonQ))
114-
QWebviewPanel.getInstance(project).component
115-
}
116-
qPanel.setContent(component)
110+
// val component = if (isQConnected(project) && !isQExpired(project)) {
111+
qPanel.setContent(AmazonQToolWindow.getInstance(project).component)
112+
// } else {
113+
// QWebviewPanel.getInstance(project).browser?.prepareBrowser(BrowserState(FeatureId.AmazonQ))
114+
// QWebviewPanel.getInstance(project).component
115+
// }
116+
// qPanel.setContent(component)
117117
}
118118

119119
override fun init(toolWindow: ToolWindow) {
@@ -132,7 +132,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
132132
)
133133
}
134134

135-
override fun shouldBeAvailable(project: Project): Boolean = isQWebviewsAvailable()
135+
override fun shouldBeAvailable(project: Project): Boolean = true
136136

137137
private fun onConnectionChanged(project: Project, newConnection: ToolkitConnection?, qPanel: Wrapper) {
138138
val isNewConnectionForQ = newConnection?.let {

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/util/JcefBrowserUtil.kt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ import com.intellij.ui.jcef.JBCefApp
99
import com.intellij.ui.jcef.JBCefBrowser
1010
import com.intellij.ui.jcef.JBCefBrowserBuilder
1111
import com.intellij.ui.jcef.JBCefClient
12+
import org.cef.browser.CefBrowser
13+
import org.cef.browser.CefFrame
14+
import org.cef.handler.CefRequestHandlerAdapter
15+
import org.cef.handler.CefResourceHandler
16+
import org.cef.handler.CefResourceRequestHandler
17+
import org.cef.handler.CefResourceRequestHandlerAdapter
18+
import org.cef.misc.BoolRef
19+
import org.cef.network.CefRequest
20+
import software.aws.toolkits.jetbrains.services.amazonq.webview.AssetResourceHandler
21+
import java.io.IOException
1222

1323
fun createBrowser(parent: Disposable): JBCefBrowser {
1424
val client = JBCefApp.getInstance().createClient().apply {
@@ -21,4 +31,48 @@ fun createBrowser(parent: Disposable): JBCefBrowser {
2131
.setClient(client)
2232
.setOffScreenRendering(true)
2333
.build()
34+
.also { browser ->
35+
browser.jbCefClient.addRequestHandler(
36+
object : CefRequestHandlerAdapter() {
37+
override fun getResourceRequestHandler(
38+
browser: CefBrowser,
39+
frame: CefFrame,
40+
request: CefRequest,
41+
isNavigation: Boolean,
42+
isDownload: Boolean,
43+
requestInitiator: String,
44+
disableDefaultHandling: BoolRef
45+
): CefResourceRequestHandler? {
46+
return null
47+
// println("pewpewpew")
48+
// if (request.url.contains("mynah")) {
49+
// println("mynahmynahmynah")
50+
//
51+
// return object : CefResourceRequestHandlerAdapter() {
52+
// override fun getResourceHandler(browser: CefBrowser, frame: CefFrame, request: CefRequest): CefResourceHandler? {
53+
// val resourceUri = request.url ?: return null
54+
// if (!resourceUri.startsWith("http://mynah/")) return null
55+
//
56+
// val resource = resourceUri.replace("http://mynah/", "/assets/")
57+
// val resourceInputStream = this.javaClass.getResourceAsStream(resource)
58+
//
59+
// try {
60+
// resourceInputStream.use {
61+
// if (resourceInputStream != null) {
62+
// println("assetsassetsassets")
63+
// return AssetResourceHandler(resourceInputStream.readAllBytes())
64+
// }
65+
// return null
66+
// }
67+
// } catch (e: IOException) {
68+
// throw RuntimeException(e)
69+
// }
70+
// }
71+
// }
72+
// }
73+
return super.getResourceRequestHandler(browser, frame, request, isNavigation, isDownload, requestInitiator, disableDefaultHandling)
74+
}
75+
}, browser.cefBrowser
76+
)
77+
}
2478
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ class Browser(parent: Disposable) : Disposable {
3030
highlightCommand: HighlightCommand?,
3131
) {
3232
// register the scheme handler to route http://mynah/ URIs to the resources/assets directory on classpath
33-
CefApp.getInstance()
34-
.registerSchemeHandlerFactory(
35-
"http",
36-
"mynah",
37-
AssetResourceHandler.AssetResourceHandlerFactory(),
38-
)
39-
33+
// CefApp.getInstance()
34+
// .registerSchemeHandlerFactory(
35+
// "http",
36+
// "mynah",
37+
// AssetResourceHandler.AssetResourceHandlerFactory(),
38+
// )
39+
println("aaaaaaaaa did a load")
4040
loadWebView(isCodeTransformAvailable, isFeatureDevAvailable, isDocAvailable, isCodeScanAvailable, isCodeTestAvailable, highlightCommand)
41+
println("loadloadload")
4142
}
4243

4344
override fun dispose() {
@@ -114,13 +115,14 @@ class Browser(parent: Disposable) : Disposable {
114115
$jsScripts
115116
</head>
116117
<body>
118+
loadingloadingloading
117119
</body>
118120
</html>
119121
""".trimIndent()
120122
}
121123

122124
companion object {
123-
private const val WEB_SCRIPT_URI = "http://mynah/js/mynah-ui.js"
125+
private const val WEB_SCRIPT_URI = "http://127.0.0.1:8000/js/mynah-ui.js"
124126
private const val MAX_ONBOARDING_PAGE_COUNT = 3
125127
private val OBJECT_MAPPER = jacksonObjectMapper()
126128
}

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/utils/RemoteEnvUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import com.intellij.ui.jcef.JBCefApp
99
/**
1010
* @return true if running in any type of remote environment
1111
*/
12-
fun isRunningOnRemoteBackend() = false
12+
fun isRunningOnRemoteBackend() = AppMode.isRemoteDevHost()
1313

1414
/**
1515
* @return true if running in a codecatalyst remote environment

0 commit comments

Comments
 (0)