Remove bigNumbersDelta (#194712)

If I understand correctly, this is just a hack to support IE. However,
IE is no longer supported, so this is no longer necessary.
This commit is contained in:
Remco Haszing
2024-01-05 17:01:12 +01:00
committed by GitHub
parent 1cfc62d46e
commit fe249aa134
9 changed files with 6 additions and 30 deletions
@@ -22,7 +22,6 @@ export abstract class RestrictedRenderingContext {
public readonly scrollHeight: number;
public readonly visibleRange: Range;
public readonly bigNumbersDelta: number;
public readonly scrollTop: number;
public readonly scrollLeft: number;
@@ -40,7 +39,6 @@ export abstract class RestrictedRenderingContext {
this.scrollHeight = this._viewLayout.getScrollHeight();
this.visibleRange = this.viewportData.visibleRange;
this.bigNumbersDelta = this.viewportData.bigNumbersDelta;
const vInfo = this._viewLayout.getCurrentViewport();
this.scrollTop = vInfo.top;
@@ -537,7 +537,7 @@ class Widget {
this.domNode.setTop(this._renderData.coordinate.top);
this.domNode.setLeft(this._renderData.coordinate.left);
} else {
this.domNode.setTop(this._renderData.coordinate.top + ctx.scrollTop - ctx.bigNumbersDelta);
this.domNode.setTop(this._renderData.coordinate.top + ctx.scrollTop);
this.domNode.setLeft(this._renderData.coordinate.left);
}
@@ -662,7 +662,7 @@ export class ViewLines extends ViewPart implements IVisibleLinesHost<ViewLine>,
// (3) handle scrolling
this._linesContent.setLayerHinting(this._canUseLayerHinting);
this._linesContent.setContain('strict');
const adjustedScrollTop = this._context.viewLayout.getCurrentScrollTop() - viewportData.bigNumbersDelta;
const adjustedScrollTop = this._context.viewLayout.getCurrentScrollTop();
this._linesContent.setTop(-adjustedScrollTop);
this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft());
}
@@ -80,7 +80,7 @@ export class Margin extends ViewPart {
public render(ctx: RestrictedRenderingContext): void {
this._domNode.setLayerHinting(this._canUseLayerHinting);
this._domNode.setContain('strict');
const adjustedScrollTop = ctx.scrollTop - ctx.bigNumbersDelta;
const adjustedScrollTop = ctx.scrollTop;
this._domNode.setTop(-adjustedScrollTop);
const height = Math.min(ctx.scrollHeight, 1000000);
@@ -166,7 +166,7 @@ export class ViewCursor {
left -= paddingLeft;
}
const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber);
return new ViewCursorRenderData(top, left, paddingLeft, width, this._lineHeight, textContent, textContentClassName);
}
@@ -196,7 +196,7 @@ export class ViewCursor {
textContentClassName = this._getTokenClassName(position);
}
let top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
let top = ctx.getVerticalOffsetForLineNumber(position.lineNumber);
let height = this._lineHeight;
// Underline might interfere with clicking
@@ -374,7 +374,7 @@ export class ViewZones extends ViewPart {
let newHeight = 0;
let newDisplay = 'none';
if (visibleZones.hasOwnProperty(id)) {
newTop = visibleZones[id].verticalOffset - ctx.bigNumbersDelta;
newTop = visibleZones[id].verticalOffset;
newHeight = visibleZones[id].height;
newDisplay = 'block';
// zone is visible
@@ -644,17 +644,6 @@ export class LinesLayout {
let currentVerticalOffset = startLineNumberVerticalOffset;
let currentLineRelativeOffset = currentVerticalOffset;
// IE (all versions) cannot handle units above about 1,533,908 px, so every 500k pixels bring numbers down
const STEP_SIZE = 500000;
let bigNumbersDelta = 0;
if (startLineNumberVerticalOffset >= STEP_SIZE) {
// Compute a delta that guarantees that lines are positioned at `lineHeight` increments
bigNumbersDelta = Math.floor(startLineNumberVerticalOffset / STEP_SIZE) * STEP_SIZE;
bigNumbersDelta = Math.floor(bigNumbersDelta / lineHeight) * lineHeight;
currentLineRelativeOffset -= bigNumbersDelta;
}
const linesOffsets: number[] = [];
const verticalCenter = verticalOffset1 + (verticalOffset2 - verticalOffset1) / 2;
@@ -721,7 +710,6 @@ export class LinesLayout {
}
return {
bigNumbersDelta: bigNumbersDelta,
startLineNumber: startLineNumber,
endLineNumber: endLineNumber,
relativeVerticalOffset: linesOffsets,
@@ -34,11 +34,6 @@ export class ViewportData {
*/
public readonly visibleRange: Range;
/**
* Value to be substracted from `scrollTop` (in order to vertical offset numbers < 1MM)
*/
public readonly bigNumbersDelta: number;
/**
* Positioning information about gaps whitespace.
*/
@@ -56,7 +51,6 @@ export class ViewportData {
this.startLineNumber = partialData.startLineNumber | 0;
this.endLineNumber = partialData.endLineNumber | 0;
this.relativeVerticalOffset = partialData.relativeVerticalOffset;
this.bigNumbersDelta = partialData.bigNumbersDelta | 0;
this.whitespaceViewportData = whitespaceViewportData;
this._model = model;
-4
View File
@@ -151,10 +151,6 @@ export interface IWhitespaceChangeAccessor {
}
export interface IPartialViewLinesViewportData {
/**
* Value to be substracted from `scrollTop` (in order to vertical offset numbers < 1MM)
*/
readonly bigNumbersDelta: number;
/**
* The first (partially) visible line number.
*/