diff --git a/src/public/Terminal.api.ts b/src/public/Terminal.api.ts index d8325229..80ba489d 100644 --- a/src/public/Terminal.api.ts +++ b/src/public/Terminal.api.ts @@ -475,6 +475,15 @@ describe('API Integration Tests', () => { }); }); }); + + describe('WebGL Renderer', () => { + it('load doesn\'t throw', async function(): Promise { + this.timeout(10000); + await openTerminal({ rendererType: 'dom' }); + await page.waitForSelector('.xterm style'); + await page.evaluate(`window.term.loadWebgl();`); + }); + }); }); async function openTerminal(options: ITerminalOptions = {}): Promise { diff --git a/src/renderer/dom/DomRenderer.ts b/src/renderer/dom/DomRenderer.ts index 2797639d..16f02549 100644 --- a/src/renderer/dom/DomRenderer.ts +++ b/src/renderer/dom/DomRenderer.ts @@ -69,6 +69,7 @@ export class DomRenderer extends Disposable implements IRenderer { actualCellHeight: null }; this._updateDimensions(); + this._injectCss(); this._rowFactory = new DomRendererRowFactory(_terminal.options, document); diff --git a/src/renderer/webgl/WebglRenderer.ts b/src/renderer/webgl/WebglRenderer.ts index 68f74c7b..b9690433 100644 --- a/src/renderer/webgl/WebglRenderer.ts +++ b/src/renderer/webgl/WebglRenderer.ts @@ -4,7 +4,7 @@ */ import { FLAGS } from '../Types'; -import { CharacterJoinerHandler, ITerminal } from '../../Types'; +import { ITerminal } from '../../Types'; import { GlyphRenderer } from './GlyphRenderer'; import { LinkRenderLayer } from './renderLayer/LinkRenderLayer'; import { CursorRenderLayer } from './renderLayer/CursorRenderLayer'; @@ -208,7 +208,7 @@ export class WebglRenderer extends Disposable implements IRenderer { this._renderLayers.forEach(l => l.reset(this._terminal)); } - public registerCharacterJoiner(handler: CharacterJoinerHandler): number { + public registerCharacterJoiner(handler: (text: string) => [number, number][]): number { return -1; } diff --git a/src/renderer/webgl/renderLayer/Types.ts b/src/renderer/webgl/renderLayer/Types.ts index 61e69f38..50a76a2c 100644 --- a/src/renderer/webgl/renderLayer/Types.ts +++ b/src/renderer/webgl/renderLayer/Types.ts @@ -4,7 +4,6 @@ */ import { IDisposable, IRenderDimensions, IColorSet, Terminal } from 'xterm'; -import { ICharacterJoiner } from '../../Types'; export interface IRenderLayer extends IDisposable { /** @@ -46,7 +45,7 @@ export interface IRenderLayer extends IDisposable { /** * Registers a handler to join characters to render as a group */ - registerCharacterJoiner?(joiner: ICharacterJoiner): void; + registerCharacterJoiner?(handler: (text: string) => [number, number][]): void; /** * Deregisters the specified character joiner handler