Remove unused values from webview messaging

A few parameter that are getting passed over in `view-scroll` are not being used anywhere. Remove these
This commit is contained in:
Matt Bierner 2021-03-31 17:22:20 -07:00
parent 2557840bce
commit 003c7d95e4
3 changed files with 10 additions and 26 deletions

View file

@ -280,7 +280,7 @@ export class NotebookTextDiffEditor extends EditorPane implements INotebookTextD
removedItems.forEach(output => activeWebview.removeInset(output));
if (updateItems.length) {
activeWebview.updateViewScrollTop(-scrollTop, false, updateItems);
activeWebview.updateViewScrollTop(false, updateItems);
}
}
}
@ -575,10 +575,9 @@ export class NotebookTextDiffEditor extends EditorPane implements INotebookTextD
await activeWebview.createOutput({ diffElement: cellDiffViewModel, cellHandle: cellViewModel.handle, cellId: cellViewModel.id, cellUri: cellViewModel.uri }, output, cellTop, getOffset());
} else {
const cellTop = this._list.getAbsoluteTopOfElement(cellDiffViewModel);
const scrollTop = this._list.scrollTop;
const outputIndex = cellViewModel.outputsViewModels.indexOf(output.source);
const outputOffset = cellTop + cellDiffViewModel.getOutputOffsetInCell(diffSide, outputIndex);
activeWebview.updateViewScrollTop(-scrollTop, true, [{ output: output.source, cellTop, outputOffset }]);
activeWebview.updateViewScrollTop(true, [{ output: output.source, cellTop, outputOffset }]);
}
});
}
@ -622,10 +621,9 @@ export class NotebookTextDiffEditor extends EditorPane implements INotebookTextD
}
const cellTop = this._list.getAbsoluteTopOfElement(cellDiffViewModel);
const scrollTop = this._list.scrollTop;
const outputIndex = cellViewModel.outputsViewModels.indexOf(displayOutput);
const outputOffset = cellTop + cellDiffViewModel.getOutputOffsetInCell(diffSide, outputIndex);
activeWebview.updateViewScrollTop(-scrollTop, true, [{ output: displayOutput, cellTop, outputOffset }]);
activeWebview.updateViewScrollTop(true, [{ output: displayOutput, cellTop, outputOffset }]);
});
}

View file

@ -1121,24 +1121,18 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
this._localStore.add(this._list.onWillScroll(e => {
if (this._webview?.isResolved()) {
this._webview.updateViewScrollTop(-e.scrollTop, true, []);
this._webview.updateViewScrollTop(true, []);
this._webviewTransparentCover!.style.top = `${e.scrollTop}px`;
}
}));
this._localStore.add(this._list.onDidChangeContentHeight(() => {
DOM.scheduleAtNextAnimationFrame(() => {
if (this._isDisposed) {
if (this._isDisposed || !this._webview?.isResolved()) {
return;
}
const scrollTop = this._list.scrollTop;
const scrollHeight = this._list.scrollHeight;
if (!this._webview?.isResolved()) {
return;
}
this._webview!.element.style.height = `${scrollHeight}px`;
const updateItems: IDisplayOutputLayoutUpdateRequest[] = [];
@ -1179,7 +1173,7 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
if (updateItems.length) {
this._debug('_list.onDidChangeContentHeight/outputs', updateItems);
this._webview?.updateViewScrollTop(-scrollTop, false, updateItems);
this._webview?.updateViewScrollTop(false, updateItems);
}
const markdownUpdateItems: { id: string, top: number }[] = [];
@ -2218,11 +2212,10 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
await this._webview!.createOutput({ cellId: cell.id, cellHandle: cell.handle, cellUri: cell.uri }, output, cellTop, offset);
} else {
const cellTop = this._list.getAbsoluteTopOfElement(cell);
const scrollTop = this._list.scrollTop;
const outputIndex = cell.outputsViewModels.indexOf(output.source);
const outputOffset = cellTop + cell.getOutputOffset(outputIndex);
this._webview!.updateViewScrollTop(-scrollTop, true, [{ output: output.source, cellTop, outputOffset }]);
this._webview!.updateViewScrollTop(true, [{ output: output.source, cellTop, outputOffset }]);
}
});
}

View file

@ -183,15 +183,12 @@ export interface ICreationRequestMessage {
export interface IContentWidgetTopRequest {
id: string;
top: number;
left: number;
}
export interface IViewScrollTopRequestMessage {
type: 'view-scroll';
top?: number;
forceDisplay: boolean;
widgets: IContentWidgetTopRequest[];
version: number;
}
export interface IViewScrollMarkdownRequestMessage {
@ -367,12 +364,11 @@ export interface IResolvedBackLayerWebview {
webview: WebviewElement;
}
let version = 0;
export class BackLayerWebView<T extends ICommonCellInfo> extends Disposable {
element: HTMLElement;
webview: WebviewElement | undefined = undefined;
insetMapping: Map<IDisplayOutputViewModel, ICachedInset<T>> = new Map();
markdownPreviewMapping = new Map<string, { version: number, visible: boolean }>();
readonly markdownPreviewMapping = new Map<string, { version: number, visible: boolean }>();
hiddenInsetMapping: Set<IDisplayOutputViewModel> = new Set();
reversedInsetMapping: Map<string, IDisplayOutputViewModel> = new Map();
localResourceRootsCache: URI[] | undefined = undefined;
@ -1120,12 +1116,12 @@ var requirejs = (function() {
});
}
updateViewScrollTop(top: number, forceDisplay: boolean, items: IDisplayOutputLayoutUpdateRequest[]) {
updateViewScrollTop(forceDisplay: boolean, items: IDisplayOutputLayoutUpdateRequest[]) {
if (this._disposed || !items.length) {
return;
}
const widgets: IContentWidgetTopRequest[] = items.map(item => {
const widgets = items.map((item): IContentWidgetTopRequest => {
const outputCache = this.insetMapping.get(item.output)!;
const id = outputCache.outputId;
const outputOffset = item.outputOffset;
@ -1135,14 +1131,11 @@ var requirejs = (function() {
return {
id: id,
top: outputOffset,
left: 0
};
});
this._sendMessageToWebview({
top,
type: 'view-scroll',
version: version++,
forceDisplay,
widgets: widgets
});