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 };