From bab7db13dbd1cc559a10632a5108db1a828d7b98 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sat, 31 Jan 2026 22:18:32 -0800 Subject: [PATCH] Remove cancelEvent/cancel function --- .../client/components/window/optionsWindow.ts | 1 - src/browser/CoreBrowserTerminal.ts | 39 ++++++++----------- src/browser/TestUtils.test.ts | 3 -- src/browser/Types.ts | 2 - src/common/Types.ts | 1 - src/common/services/OptionsService.ts | 1 - src/common/services/Services.ts | 1 - 7 files changed, 17 insertions(+), 31 deletions(-) diff --git a/demo/client/components/window/optionsWindow.ts b/demo/client/components/window/optionsWindow.ts index 1071cfd5..b97204d2 100644 --- a/demo/client/components/window/optionsWindow.ts +++ b/demo/client/components/window/optionsWindow.ts @@ -109,7 +109,6 @@ export class OptionsWindow extends BaseWindow implements IControlWindow { public initOptions(addDomListener: (el: HTMLElement, type: string, handler: (...args: any[]) => any) => void): void { const blacklistedOptions = [ - 'cancelEvents', 'convertEol', 'termName', 'cols', 'rows', diff --git a/src/browser/CoreBrowserTerminal.ts b/src/browser/CoreBrowserTerminal.ts index 51d40224..ffc966f1 100644 --- a/src/browser/CoreBrowserTerminal.ts +++ b/src/browser/CoreBrowserTerminal.ts @@ -763,11 +763,12 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { this._document!.removeEventListener('mousemove', requestedEvents.mousedrag); } } - return this.cancel(ev); }, wheel: (ev: WheelEvent) => { sendEvent(ev); - return this.cancel(ev, true); + ev.preventDefault(); + ev.stopPropagation(); + return false; }, mousedrag: (ev: MouseEvent) => { // deal only with move while a button is held @@ -867,8 +868,6 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { if (requestedEvents.mousedrag) { this._document!.addEventListener('mousemove', requestedEvents.mousedrag); } - - return this.cancel(ev); })); this._register(addDisposableListener(el, 'wheel', (ev: WheelEvent) => { @@ -899,13 +898,17 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { self._coreBrowserService?.dpr ); if (lines === 0) { - return this.cancel(ev, true); + ev.preventDefault(); + ev.stopPropagation(); + return false; } // Construct and send sequences const sequence = C0.ESC + (this.coreService.decPrivateModes.applicationCursorKeys ? 'O' : '[') + (ev.deltaY < 0 ? 'A' : 'B'); this.coreService.triggerDataEvent(sequence, true); - return this.cancel(ev, true); + ev.preventDefault(); + ev.stopPropagation(); + return false; } }, { passive: false })); } @@ -1115,7 +1118,9 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { if (result.type === KeyboardResultType.PAGE_DOWN || result.type === KeyboardResultType.PAGE_UP) { const scrollCount = this.rows - 1; this.scrollLines(result.type === KeyboardResultType.PAGE_UP ? -scrollCount : scrollCount); - return this.cancel(event, true); + event.preventDefault(); + event.stopPropagation(); + return false; } if (result.type === KeyboardResultType.SELECT_ALL) { @@ -1128,7 +1133,8 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { if (result.cancel) { // The event is canceled at the end already, is this necessary? - this.cancel(event, true); + event.preventDefault(); + event.stopPropagation(); } if (!result.key) { @@ -1165,7 +1171,9 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { // is also depressed) so that the cursor textarea can be updated, which triggers the screen // reader to read it. if (!this.optionsService.rawOptions.screenReaderMode || event.altKey || event.ctrlKey) { - return this.cancel(event, true); + event.preventDefault(); + event.stopPropagation(); + return false; } this._keyDownHandled = true; @@ -1225,8 +1233,6 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { return false; } - this.cancel(ev); - if (ev.charCode) { key = ev.charCode; } else if (ev.which === null || ev.which === undefined) { @@ -1279,8 +1285,6 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { const text = ev.data; this.coreService.triggerDataEvent(text, true); - - this.cancel(ev); return true; } @@ -1392,15 +1396,6 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { } } - // TODO: Remove cancel function and cancelEvents option - public cancel(ev: MouseEvent | WheelEvent | KeyboardEvent | InputEvent, force?: boolean): boolean | undefined { - if (!this.options.cancelEvents && !force) { - return; - } - ev.preventDefault(); - ev.stopPropagation(); - return false; - } } /** diff --git a/src/browser/TestUtils.test.ts b/src/browser/TestUtils.test.ts index fe71d5b0..c46ee0fb 100644 --- a/src/browser/TestUtils.test.ts +++ b/src/browser/TestUtils.test.ts @@ -198,9 +198,6 @@ export class MockTerminal implements ITerminal { public scrollToRow(absoluteRow: number): number { throw new Error('Method not implemented.'); } - public cancel(ev: MouseEvent | WheelEvent | KeyboardEvent | InputEvent, force?: boolean): void { - throw new Error('Method not implemented.'); - } public log(text: string): void { throw new Error('Method not implemented.'); } diff --git a/src/browser/Types.ts b/src/browser/Types.ts index f54e488c..fa08de2e 100644 --- a/src/browser/Types.ts +++ b/src/browser/Types.ts @@ -29,8 +29,6 @@ export interface ITerminal extends InternalPassthroughApis, ICoreTerminal { onA11yChar: IEvent; onA11yTab: IEvent; onWillOpen: IEvent; - - cancel(ev: MouseEvent | WheelEvent | KeyboardEvent | InputEvent, force?: boolean): boolean | void; } export type CustomKeyEventHandler = (event: KeyboardEvent) => boolean; diff --git a/src/common/Types.ts b/src/common/Types.ts index 5d7c1b18..a46f47b2 100644 --- a/src/common/Types.ts +++ b/src/common/Types.ts @@ -32,7 +32,6 @@ export interface IDisposable { // TODO: The options that are not in the public API should be reviewed export interface ITerminalOptions extends IPublicTerminalOptions { [key: string]: any; - cancelEvents?: boolean; convertEol?: boolean; termName?: string; } diff --git a/src/common/services/OptionsService.ts b/src/common/services/OptionsService.ts index 2eab930f..7ddc1c06 100644 --- a/src/common/services/OptionsService.ts +++ b/src/common/services/OptionsService.ts @@ -53,7 +53,6 @@ export const DEFAULT_OPTIONS: Readonly> = { altClickMovesCursor: true, convertEol: false, termName: 'xterm', - cancelEvents: false, overviewRuler: {}, quirks: {}, vtExtensions: {} diff --git a/src/common/services/Services.ts b/src/common/services/Services.ts index 341c0bc2..9ef0fe9a 100644 --- a/src/common/services/Services.ts +++ b/src/common/services/Services.ts @@ -270,7 +270,6 @@ export interface ITerminalOptions { vtExtensions?: IVtExtensions; [key: string]: any; - cancelEvents: boolean; termName: string; }