From 02868c1033f8848e6f511f90f51c31fc6428dd6a Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sun, 9 Jun 2019 15:51:48 -0700 Subject: [PATCH] Remove support for IE11 Fixes #1889 --- README.md | 8 +------- src/Clipboard.ts | 20 ++++---------------- src/Terminal.ts | 4 ---- src/Types.ts | 1 - src/common/Platform.ts | 1 - 5 files changed, 5 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index aa89c700e..bee9cc0db 100644 --- a/README.md +++ b/README.md @@ -85,13 +85,7 @@ The xterm.js team maintains the following addons but they can be built by anyone ## Browser Support -Since xterm.js is typically implemented as a developer tool, only modern browsers are supported officially. Here is a list of the versions we aim to support: - -- Chrome latest -- Edge latest -- Firefox latest -- Safari latest -- IE11 +Since xterm.js is typically implemented as a developer tool, only modern browsers are supported officially. Specifically the latest versions of *Chrome*, *Edge*, *Firefox* and *Safari*. Xterm.js works seamlessly in [Electron](https://electronjs.org/) apps and may even work on earlier versions of the browsers, these are the versions we strive to keep working. diff --git a/src/Clipboard.ts b/src/Clipboard.ts index cbb0935ec..b7c708c89 100644 --- a/src/Clipboard.ts +++ b/src/Clipboard.ts @@ -38,12 +38,7 @@ export function bracketTextForPaste(text: string, bracketedPasteMode: boolean): * @param ev The original copy event to be handled */ export function copyHandler(ev: ClipboardEvent, term: ITerminal, selectionManager: ISelectionManager): void { - if (term.browser.isMSIE) { - window.clipboardData.setData('Text', selectionManager.selectionText); - } else { - ev.clipboardData.setData('text/plain', selectionManager.selectionText); - } - + ev.clipboardData.setData('text/plain', selectionManager.selectionText); // Prevent or the original text will be copied. ev.preventDefault(); } @@ -66,16 +61,9 @@ export function pasteHandler(ev: ClipboardEvent, term: ITerminal): void { term.cancel(ev); }; - if (term.browser.isMSIE) { - if (window.clipboardData) { - text = window.clipboardData.getData('Text'); - dispatchPaste(text); - } - } else { - if (ev.clipboardData) { - text = ev.clipboardData.getData('text/plain'); - dispatchPaste(text); - } + if (ev.clipboardData) { + text = ev.clipboardData.getData('text/plain'); + dispatchPaste(text); } } diff --git a/src/Terminal.ts b/src/Terminal.ts index d60933165..ccb41527f 100644 --- a/src/Terminal.ts +++ b/src/Terminal.ts @@ -890,10 +890,6 @@ export class Terminal extends Disposable implements ITerminal, IDisposable, IInp : ev.which !== null && ev.which !== undefined ? ev.which - 1 : null; - - if (Browser.isMSIE) { - button = button === 1 ? 0 : button === 4 ? 1 : button; - } break; case 'mouseup': button = 3; diff --git a/src/Types.ts b/src/Types.ts index a34356140..721ab063d 100644 --- a/src/Types.ts +++ b/src/Types.ts @@ -365,7 +365,6 @@ export interface IBrowser { userAgent: string; platform: string; isFirefox: boolean; - isMSIE: boolean; isMac: boolean; isIpad: boolean; isIphone: boolean; diff --git a/src/common/Platform.ts b/src/common/Platform.ts index ee82cff4f..87d466c01 100644 --- a/src/common/Platform.ts +++ b/src/common/Platform.ts @@ -19,7 +19,6 @@ const platform = (isNode) ? 'node' : navigator.platform; export const isFirefox = !!~userAgent.indexOf('Firefox'); export const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent); -export const isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident'); // Find the users platform. We use this to interpret the meta key // and ISO third level shifts.