diff --git a/src/core/drive/page_renderer.ts b/src/core/drive/page_renderer.ts index 08793f232..4427c3cbc 100644 --- a/src/core/drive/page_renderer.ts +++ b/src/core/drive/page_renderer.ts @@ -1,9 +1,11 @@ -import { Renderer } from "../renderer" +import { Render, Renderer } from "../renderer" import { PageSnapshot } from "./page_snapshot" import { ReloadReason } from "../native/browser_adapter" import { activateScriptElement, waitForLoad } from "../../util" export class PageRenderer extends Renderer { + private readonly willRender: boolean + static renderElement(currentElement: HTMLBodyElement, newElement: HTMLBodyElement) { if (document.body && newElement instanceof HTMLBodyElement) { document.body.replaceWith(newElement) @@ -12,6 +14,17 @@ export class PageRenderer extends Renderer { } } + constructor( + currentSnapshot: PageSnapshot, + newSnapshot: PageSnapshot, + renderElement: Render, + isPreview: boolean, + 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.ts b/src/core/frames/frame_controller.ts index 036df862b..d33070430 100644 --- a/src/core/frames/frame_controller.ts +++ b/src/core/frames/frame_controller.ts @@ -154,14 +154,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.ts b/src/core/frames/frame_renderer.ts index 4f9a17253..63485fda5 100644 --- a/src/core/frames/frame_renderer.ts +++ b/src/core/frames/frame_renderer.ts @@ -28,10 +28,9 @@ export class FrameRenderer extends Renderer { currentSnapshot: Snapshot, newSnapshot: Snapshot, renderElement: Render, - isPreview: boolean, - willRender = true + isPreview: boolean ) { - super(currentSnapshot, newSnapshot, renderElement, isPreview, willRender) + super(currentSnapshot, newSnapshot, renderElement, isPreview) this.delegate = delegate } diff --git a/src/core/renderer.ts b/src/core/renderer.ts index 5e199999c..707458eef 100644 --- a/src/core/renderer.ts +++ b/src/core/renderer.ts @@ -13,17 +13,15 @@ export abstract class Renderer = Snapsh readonly currentSnapshot: S readonly newSnapshot: S readonly isPreview: boolean - readonly willRender: boolean readonly promise: Promise renderElement: Render private resolvingFunctions?: ResolvingFunctions private activeElement: Element | null = null - constructor(currentSnapshot: S, newSnapshot: S, renderElement: Render, isPreview: boolean, willRender = true) { + constructor(currentSnapshot: S, newSnapshot: S, renderElement: Render, isPreview: boolean) { 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 })) }