Merge pull request #5971 from xtermjs/cursor/parseint-radix-10-89d6
fix: pass radix 10 to parseInt across core and addons
This commit is contained in:
@@ -74,14 +74,14 @@ export class FitAddon implements ITerminalAddon, IFitApi {
|
||||
: (this._terminal.options.scrollbar?.width ?? ViewportConstants.DEFAULT_SCROLL_BAR_WIDTH));
|
||||
|
||||
const parentElementStyle = _getComputedStyle(this._terminal.element.parentElement);
|
||||
const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));
|
||||
const parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')));
|
||||
const parentElementHeight = Math.max(0, parseInt(parentElementStyle.getPropertyValue('height'), 10) || 0);
|
||||
const parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width'), 10) || 0);
|
||||
const elementStyle = _getComputedStyle(this._terminal.element);
|
||||
const elementPadding = {
|
||||
top: parseInt(elementStyle.getPropertyValue('padding-top')),
|
||||
bottom: parseInt(elementStyle.getPropertyValue('padding-bottom')),
|
||||
right: parseInt(elementStyle.getPropertyValue('padding-right')),
|
||||
left: parseInt(elementStyle.getPropertyValue('padding-left'))
|
||||
top: parseInt(elementStyle.getPropertyValue('padding-top'), 10) || 0,
|
||||
bottom: parseInt(elementStyle.getPropertyValue('padding-bottom'), 10) || 0,
|
||||
right: parseInt(elementStyle.getPropertyValue('padding-right'), 10) || 0,
|
||||
left: parseInt(elementStyle.getPropertyValue('padding-left'), 10) || 0
|
||||
};
|
||||
const elementPaddingVer = elementPadding.top + elementPadding.bottom;
|
||||
const elementPaddingHor = elementPadding.right + elementPadding.left;
|
||||
|
||||
@@ -222,8 +222,8 @@ export class IIPHandler implements IOscHandler, IResetHandler {
|
||||
|
||||
private _dim(s: string, total: number, cdim: number): number {
|
||||
if (s === 'auto') return 0;
|
||||
if (s.endsWith('%')) return parseInt(s.slice(0, -1)) * total / 100;
|
||||
if (s.endsWith('px')) return parseInt(s.slice(0, -2));
|
||||
return parseInt(s) * cdim;
|
||||
if (s.endsWith('%')) return parseInt(s.slice(0, -1), 10) * total / 100;
|
||||
if (s.endsWith('px')) return parseInt(s.slice(0, -2), 10);
|
||||
return parseInt(s, 10) * cdim;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ export function parseKittyCommand(data: string): IKittyCommand {
|
||||
cmd.deleteSelector = value;
|
||||
continue;
|
||||
}
|
||||
const numValue = parseInt(value);
|
||||
const numValue = parseInt(value, 10);
|
||||
switch (key) {
|
||||
case KittyKey.FORMAT: cmd.format = numValue; break;
|
||||
case KittyKey.ID: cmd.id = numValue; break;
|
||||
|
||||
@@ -221,8 +221,8 @@ function drawPathDefinitionCharacter(
|
||||
const rx = parseFloat(args[0]) * deviceCellWidth;
|
||||
const ry = parseFloat(args[1]) * deviceCellHeight;
|
||||
const xAxisRotation = parseFloat(args[2]) * Math.PI / 180;
|
||||
const largeArcFlag = parseInt(args[3]);
|
||||
const sweepFlag = parseInt(args[4]);
|
||||
const largeArcFlag = parseInt(args[3], 10);
|
||||
const sweepFlag = parseInt(args[4], 10);
|
||||
const x = xOffset + parseFloat(args[5]) * deviceCellWidth;
|
||||
const y = yOffset + parseFloat(args[6]) * deviceCellHeight;
|
||||
drawSvgArc(ctx, currentX, currentY, rx, ry, xAxisRotation, largeArcFlag, sweepFlag, x, y);
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
export function getCoordsRelativeToElement(window: Pick<Window, 'getComputedStyle'>, event: {clientX: number, clientY: number}, element: HTMLElement): [number, number] {
|
||||
const rect = element.getBoundingClientRect();
|
||||
const elementStyle = window.getComputedStyle(element);
|
||||
const leftPadding = parseInt(elementStyle.getPropertyValue('padding-left'));
|
||||
const topPadding = parseInt(elementStyle.getPropertyValue('padding-top'));
|
||||
const leftPadding = parseInt(elementStyle.getPropertyValue('padding-left'), 10);
|
||||
const topPadding = parseInt(elementStyle.getPropertyValue('padding-top'), 10);
|
||||
return [
|
||||
event.clientX - rect.left - leftPadding,
|
||||
event.clientY - rect.top - topPadding
|
||||
@@ -22,7 +22,7 @@ export function getCoordsRelativeToElement(window: Pick<Window, 'getComputedStyl
|
||||
* @param event The mouse event.
|
||||
* @param element The terminal's container element.
|
||||
* @param colCount The number of columns in the terminal.
|
||||
* @param rowCount The number of rows n the terminal.
|
||||
* @param rowCount The number of rows in the terminal.
|
||||
* @param hasValidCharSize Whether there is a valid character size available.
|
||||
* @param cssCellWidth The cell width device pixel render dimensions.
|
||||
* @param cssCellHeight The cell height device pixel render dimensions.
|
||||
|
||||
@@ -217,7 +217,7 @@ export class StandardWheelEvent {
|
||||
let shouldFactorDPR: boolean = false;
|
||||
if (platform.isChrome) {
|
||||
const chromeVersionMatch = navigator.userAgent.match(/Chrome\/(\d+)/);
|
||||
const chromeMajorVersion = chromeVersionMatch ? parseInt(chromeVersionMatch[1]) : 123;
|
||||
const chromeMajorVersion = chromeVersionMatch ? parseInt(chromeVersionMatch[1], 10) : 123;
|
||||
shouldFactorDPR = chromeMajorVersion <= 122;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -177,9 +177,9 @@ export namespace css {
|
||||
// Formats: rgb() or rgba()
|
||||
const rgbaMatch = css.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);
|
||||
if (rgbaMatch) {
|
||||
$r = parseInt(rgbaMatch[1]);
|
||||
$g = parseInt(rgbaMatch[2]);
|
||||
$b = parseInt(rgbaMatch[3]);
|
||||
$r = parseInt(rgbaMatch[1], 10);
|
||||
$g = parseInt(rgbaMatch[2], 10);
|
||||
$b = parseInt(rgbaMatch[3], 10);
|
||||
$a = Math.round((rgbaMatch[5] === undefined ? 1 : parseFloat(rgbaMatch[5])) * 0xFF);
|
||||
return channels.toColor($r, $g, $b, $a);
|
||||
}
|
||||
|
||||
@@ -3065,7 +3065,7 @@ export class InputHandler extends Disposable implements IInputHandler {
|
||||
const idx = slots.shift() as string;
|
||||
const spec = slots.shift() as string;
|
||||
if (/^\d+$/.exec(idx)) {
|
||||
const index = parseInt(idx);
|
||||
const index = parseInt(idx, 10);
|
||||
if (isValidColorIndex(index)) {
|
||||
if (spec === '?') {
|
||||
event.push({ type: ColorRequestType.REPORT, index });
|
||||
@@ -3228,7 +3228,7 @@ export class InputHandler extends Disposable implements IInputHandler {
|
||||
const slots = data.split(';');
|
||||
for (let i = 0; i < slots.length; ++i) {
|
||||
if (/^\d+$/.exec(slots[i])) {
|
||||
const index = parseInt(slots[i]);
|
||||
const index = parseInt(slots[i], 10);
|
||||
if (isValidColorIndex(index)) {
|
||||
event.push({ type: ColorRequestType.RESTORE, index });
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ export function getSafariVersion(): number {
|
||||
if (majorVersion === null || majorVersion.length < 2) {
|
||||
return 0;
|
||||
}
|
||||
return parseInt(majorVersion[1]);
|
||||
return parseInt(majorVersion[1], 10);
|
||||
}
|
||||
|
||||
// Find the users platform. We use this to interpret the meta key
|
||||
|
||||
Reference in New Issue
Block a user