From e4824dac1f905399dd6b11fe9881c8ab1ded08d8 Mon Sep 17 00:00:00 2001 From: Sean Doyle Date: Wed, 24 Nov 2021 21:48:49 -0500 Subject: [PATCH] Scope `willRender` to `PageRenderer` only The `willRender` property introduced to the generic `Renderer` only applies to the `PageRenderer` specialized sub-class. This commit removes it from the root class and declares a `PageRenderer.constructor()` method to accept and assign it. --- src/core/drive/page_renderer.js | 5 +++++ src/core/frames/frame_controller.js | 2 +- src/core/frames/frame_renderer.js | 4 ++-- src/core/renderer.js | 3 +-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/core/drive/page_renderer.js b/src/core/drive/page_renderer.js index c2789639b..4e846635e 100644 --- a/src/core/drive/page_renderer.js +++ b/src/core/drive/page_renderer.js @@ -10,6 +10,11 @@ export class PageRenderer extends Renderer { } } + constructor(currentSnapshot, newSnapshot, renderElement, isPreview, willRender = true) { + super(currentSnapshot, newSnapshot, renderElement, isPreview) + this.willRender = willRender + } + get shouldRender() { return this.newSnapshot.isVisitable && this.trackedElementsAreIdentical } diff --git a/src/core/frames/frame_controller.js b/src/core/frames/frame_controller.js index 02358d123..5cbe4e8ba 100644 --- a/src/core/frames/frame_controller.js +++ b/src/core/frames/frame_controller.js @@ -307,7 +307,7 @@ export class FrameController { if (newFrameElement) { const snapshot = new Snapshot(newFrameElement) - const renderer = new FrameRenderer(this, this.view.snapshot, snapshot, FrameRenderer.renderElement, false, false) + const renderer = new FrameRenderer(this, this.view.snapshot, snapshot, FrameRenderer.renderElement, false) if (this.view.renderPromise) await this.view.renderPromise this.changeHistory() diff --git a/src/core/frames/frame_renderer.js b/src/core/frames/frame_renderer.js index b8b5816bf..800234482 100644 --- a/src/core/frames/frame_renderer.js +++ b/src/core/frames/frame_renderer.js @@ -15,8 +15,8 @@ export class FrameRenderer extends Renderer { } } - constructor(delegate, currentSnapshot, newSnapshot, renderElement, isPreview, willRender = true) { - super(currentSnapshot, newSnapshot, renderElement, isPreview, willRender) + constructor(delegate, currentSnapshot, newSnapshot, renderElement, isPreview) { + super(currentSnapshot, newSnapshot, renderElement, isPreview) this.delegate = delegate } diff --git a/src/core/renderer.js b/src/core/renderer.js index 56e73983e..0f70cf969 100644 --- a/src/core/renderer.js +++ b/src/core/renderer.js @@ -3,11 +3,10 @@ import { Bardo } from "./bardo" export class Renderer { #activeElement = null - constructor(currentSnapshot, newSnapshot, renderElement, isPreview, willRender = true) { + constructor(currentSnapshot, newSnapshot, renderElement, isPreview) { this.currentSnapshot = currentSnapshot this.newSnapshot = newSnapshot this.isPreview = isPreview - this.willRender = willRender this.renderElement = renderElement this.promise = new Promise((resolve, reject) => (this.resolvingFunctions = { resolve, reject })) }