From 1adc258fd8d0881ee0a3e5bca6bcd1b17619ca53 Mon Sep 17 00:00:00 2001 From: daijro Date: Sun, 3 Nov 2024 05:08:09 -0600 Subject: [PATCH] Allow Playwright's defaultViewportSize --- additions/juggler/TargetRegistry.js | 9 +++++++++ additions/juggler/protocol/PageHandler.js | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/additions/juggler/TargetRegistry.js b/additions/juggler/TargetRegistry.js index 32eaf45..7c0a222 100644 --- a/additions/juggler/TargetRegistry.js +++ b/additions/juggler/TargetRegistry.js @@ -1024,6 +1024,15 @@ class BrowserContext { } async setDefaultViewport(viewport) { + // Camoufox: only override the set viewport if a new one was passed + if ( + ChromeUtils.camouGetInt("window.innerWidth") + || ChromeUtils.camouGetInt("window.innerHeight") + ) { + if (viewport.viewportSize?.width == 1280 && viewport.viewportSize?.height == 720) { + return; + } + } this.defaultViewportSize = viewport ? viewport.viewportSize : undefined; this.deviceScaleFactor = viewport ? viewport.deviceScaleFactor : undefined; await Promise.all(Array.from(this.pages).map(page => page.updateViewportSize())); diff --git a/additions/juggler/protocol/PageHandler.js b/additions/juggler/protocol/PageHandler.js index 0f68344..d1f94a6 100644 --- a/additions/juggler/protocol/PageHandler.js +++ b/additions/juggler/protocol/PageHandler.js @@ -86,8 +86,8 @@ class PageHandler { // Try to fetch the viewport size this._defaultCursorPos = { - x: random_val(this._pageTarget._viewportSize.width), - y: random_val(this._pageTarget._viewportSize.height), + x: random_val(this._pageTarget._viewportSize?.width || 1280), + y: random_val(this._pageTarget._viewportSize?.height || 720), }; this._lastMousePosition = { ...this._defaultCursorPos }; this._lastTrackedPos = { ...this._defaultCursorPos };