use of com.intellij.javascript.debugger.JavaScriptDebugEngine in project intellij-plugins by JetBrains.
the class KarmaDebugProgramRunner method createDescriptor.
@NotNull
private static RunContentDescriptor createDescriptor(@NotNull ExecutionEnvironment environment, @NotNull ExecutionResult executionResult, @NotNull KarmaConsoleView consoleView, @NotNull KarmaServer karmaServer, @NotNull DebuggableWebBrowser debuggableWebBrowser) throws ExecutionException {
Url url = Urls.newFromEncoded(karmaServer.formatUrl("/"));
DebuggableFileFinder fileFinder = getDebuggableFileFinder(karmaServer);
XDebugSession session = XDebuggerManager.getInstance(environment.getProject()).startSession(environment, new XDebugProcessStarter() {
@Override
@NotNull
public XDebugProcess start(@NotNull XDebugSession session) {
JavaScriptDebugEngine debugEngine = debuggableWebBrowser.getDebugEngine();
WebBrowser browser = debuggableWebBrowser.getWebBrowser();
JavaScriptDebugProcess<? extends VmConnection> debugProcess = debugEngine.createDebugProcess(session, browser, fileFinder, url, executionResult, true);
debugProcess.addFirstLineBreakpointPattern("\\.browserify$");
debugProcess.setElementsInspectorEnabled(false);
debugProcess.setConsoleMessagesSupportEnabled(false);
debugProcess.setLayouter(consoleView.createDebugLayouter(debugProcess));
Alarm alarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, consoleView);
alarm.addRequest(() -> {
resumeTestRunning(executionResult.getProcessHandler());
Disposer.dispose(alarm);
}, 2000);
return debugProcess;
}
});
return session.getRunContentDescriptor();
}
use of com.intellij.javascript.debugger.JavaScriptDebugEngine in project intellij-plugins by JetBrains.
the class JstdDebugBrowserInfo method build.
@Nullable
public static JstdDebugBrowserInfo build(@NotNull JstdServer server, @NotNull JstdRunSettings runSettings) {
Collection<JstdBrowserInfo> capturedBrowsers = server.getCapturedBrowsers();
List<JstdDebugBrowserInfo> debugBrowserInfos = new SmartList<>();
for (JstdBrowserInfo browserInfo : capturedBrowsers) {
Pair<JavaScriptDebugEngine, WebBrowser> engine = JavaScriptDebugEngine.Companion.findByBrowserIdOrName(browserInfo.getName());
if (engine != null) {
debugBrowserInfos.add(new JstdDebugBrowserInfo(engine, server.getSettings(), browserInfo));
}
}
if (debugBrowserInfos.size() == 1) {
return debugBrowserInfos.get(0);
}
if (debugBrowserInfos.size() > 1) {
WebBrowser preferredBrowser = runSettings.getPreferredDebugBrowser();
for (JstdDebugBrowserInfo info : debugBrowserInfos) {
if (preferredBrowser.equals(info.getBrowser())) {
return info;
}
}
}
return null;
}
Aggregations