Remove lit diff `isVisible` optimization temporarily
The optimization is still causing some problems, and thus it gets in the
way of the migration from legacy diff to lit diff. Let's first make a
smooth transition, and then come back later to the separate concern of
improving the diff performance.
Release-Notes: skip
Google-Bug-Id: b/237393560
Change-Id: If428ab744e3729dae30c4f9ce3d669ae3d544263
diff --git a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row.ts b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row.ts
index 4783042..f1ce0e3 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row.ts
@@ -60,14 +60,6 @@
layers: DiffLayer[] = [];
/**
- * While not visible we are trying to optimize rendering performance by
- * rendering a simpler version of the diff. Once this has become true it
- * cannot be set back to false.
- */
- @state()
- isVisible = false;
-
- /**
* Semantic DOM diff testing does not work with just table fragments, so when
* running such tests the render() method has to wrap the DOM in a proper
* <table> element.
@@ -120,7 +112,6 @@
* `this.layersApplied = true`.
*/
private async updateLayers(side: Side) {
- if (!this.isVisible) return;
const line = this.line(side);
const contentEl = this.contentRef(side).value;
const lineNumberEl = this.lineNumberRef(side).value;
@@ -139,25 +130,8 @@
this.layersApplied = true;
}
- private renderInvisible() {
- return html`
- <tr>
- <td class="gr-diff blame"></td>
- <td class="gr-diff left"></td>
- <td class="gr-diff left content">
- <div>${this.left?.text ?? ''}</div>
- </td>
- <td class="gr-diff right"></td>
- <td class="gr-diff right content">
- <div>${this.right?.text ?? ''}</div>
- </td>
- </tr>
- `;
- }
-
override render() {
if (!this.left || !this.right) return;
- if (!this.isVisible) return this.renderInvisible();
const row = html`
<tr
${ref(this.tableRowRef)}
diff --git a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row_test.ts b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row_test.ts
index 4e8bb62..da3230f 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row_test.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-row_test.ts
@@ -15,7 +15,6 @@
setup(async () => {
element = await fixture<GrDiffRow>(html`<gr-diff-row></gr-diff-row>`);
- element.isVisible = true;
element.addTableWrapperForTesting = true;
await element.updateComplete;
});
diff --git a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section.ts b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section.ts
index 16c7cb3..e0dd6bc 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section.ts
@@ -22,7 +22,6 @@
import '../gr-context-controls/gr-context-controls';
import '../gr-range-header/gr-range-header';
import './gr-diff-row';
-import {whenVisible} from '../../../utils/dom-util';
@customElement('gr-diff-section')
export class GrDiffSection extends LitElement {
@@ -42,13 +41,6 @@
layers: DiffLayer[] = [];
/**
- * While not visible we are trying to optimize rendering performance by
- * rendering a simpler version of the diff.
- */
- @state()
- isVisible = false;
-
- /**
* Semantic DOM diff testing does not work with just table fragments, so when
* running such tests the render() method has to wrap the DOM in a proper
* <table> element.
@@ -67,12 +59,6 @@
return this;
}
- override connectedCallback() {
- super.connectedCallback();
- // TODO: Refine this obviously simplistic approach to optimized rendering.
- whenVisible(this.parentElement!, () => (this.isVisible = true), 1000);
- }
-
override render() {
if (!this.group) return;
const extras: string[] = [];
@@ -100,7 +86,6 @@
.layers=${this.layers}
.lineLength=${this.diffPrefs?.line_length ?? 80}
.tabSize=${this.diffPrefs?.tab_size ?? 2}
- .isVisible=${this.isVisible}
>
</gr-diff-row>
`;
diff --git a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section_test.ts b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section_test.ts
index 363b001..14efa22 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section_test.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff-builder/gr-diff-section_test.ts
@@ -19,7 +19,6 @@
html`<gr-diff-section></gr-diff-section>`
);
element.addTableWrapperForTesting = true;
- element.isVisible = true;
await element.updateComplete;
});