diff --git a/.github/workflows/tests_bidi.yml b/.github/workflows/tests_bidi.yml index 433294dbea..5eec012883 100644 --- a/.github/workflows/tests_bidi.yml +++ b/.github/workflows/tests_bidi.yml @@ -26,8 +26,7 @@ jobs: strategy: fail-fast: false matrix: - # TODO: add Firefox - channel: [bidi-chrome-stable] + channel: [bidi-chrome-stable, bidi-firefox-stable] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -36,6 +35,13 @@ jobs: - run: npm ci env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1' + - name: Install Firefox + if: matrix.channel == 'bidi-firefox-stable' + run: | + # Note: Firefox via Snap doesn't work. + curl -O https://download-installer.cdn.mozilla.net/pub/firefox/releases/130.0/linux-x86_64/en-US/firefox-130.0.deb + sudo apt-get install -y libgdk-pixbuf2.0-0 + sudo dpkg -i firefox-130.0.deb - run: npm run build - run: npx playwright install --with-deps chromium - name: Run tests diff --git a/packages/playwright-core/src/server/bidi/bidiPage.ts b/packages/playwright-core/src/server/bidi/bidiPage.ts index 9ecb5c789b..e919f6b045 100644 --- a/packages/playwright-core/src/server/bidi/bidiPage.ts +++ b/packages/playwright-core/src/server/bidi/bidiPage.ts @@ -272,6 +272,8 @@ export class BidiPage implements PageDelegate { } private async _updateViewport(): Promise { + if (this._browserContext._browser.options.name === 'firefox') + return; const options = this._browserContext._options; const deviceSize = this._page.emulatedSize(); if (deviceSize === null)