diff --git a/browsers.json b/browsers.json index f8e5984a40..a4210d7d11 100644 --- a/browsers.json +++ b/browsers.json @@ -8,7 +8,7 @@ }, { "name": "firefox", - "revision": "1269", + "revision": "1271", "installByDefault": true }, { diff --git a/src/server/firefox/protocol.ts b/src/server/firefox/protocol.ts index 95839b985b..d6105dfda1 100644 --- a/src/server/firefox/protocol.ts +++ b/src/server/firefox/protocol.ts @@ -276,6 +276,11 @@ export module Protocol { reducedMotion: ("reduce"|"no-preference")|null; }; export type setReducedMotionReturnValue = void; + export type setForcedColorsParameters = { + browserContextId?: string; + forcedColors: ("active"|"none")|null; + }; + export type setForcedColorsReturnValue = void; export type setVideoRecordingOptionsParameters = { browserContextId?: string; dir: string; @@ -486,6 +491,7 @@ export module Protocol { type?: ("screen"|"print"|""); colorScheme?: ("dark"|"light"|"no-preference"); reducedMotion?: ("reduce"|"no-preference"); + forcedColors?: ("active"|"none"); }; export type setEmulatedMediaReturnValue = void; export type setCacheDisabledParameters = { @@ -1066,6 +1072,7 @@ export module Protocol { "Browser.setOnlineOverride": Browser.setOnlineOverrideParameters; "Browser.setColorScheme": Browser.setColorSchemeParameters; "Browser.setReducedMotion": Browser.setReducedMotionParameters; + "Browser.setForcedColors": Browser.setForcedColorsParameters; "Browser.setVideoRecordingOptions": Browser.setVideoRecordingOptionsParameters; "Page.close": Page.closeParameters; "Page.setFileInputFiles": Page.setFileInputFilesParameters; @@ -1141,6 +1148,7 @@ export module Protocol { "Browser.setOnlineOverride": Browser.setOnlineOverrideReturnValue; "Browser.setColorScheme": Browser.setColorSchemeReturnValue; "Browser.setReducedMotion": Browser.setReducedMotionReturnValue; + "Browser.setForcedColors": Browser.setForcedColorsReturnValue; "Browser.setVideoRecordingOptions": Browser.setVideoRecordingOptionsReturnValue; "Page.close": Page.closeReturnValue; "Page.setFileInputFiles": Page.setFileInputFilesReturnValue; diff --git a/tests/page/page-evaluate.spec.ts b/tests/page/page-evaluate.spec.ts index c5e41cfae7..4435365c89 100644 --- a/tests/page/page-evaluate.spec.ts +++ b/tests/page/page-evaluate.spec.ts @@ -556,6 +556,13 @@ it('should not use Array.prototype.toJSON when evaluating', async ({ page, brows expect(result).toEqual([1,2,3]); }); +it('should not add a toJSON property to newly created Arrays after evaluation', async ({ page, browserName, channel }) => { + it.fixme(browserName === 'firefox' && channel === 'firefox-beta') + await page.evaluate(() => []); + const hasToJSONProperty = await page.evaluate(() => "toJSON" in []); + expect(hasToJSONProperty).toEqual(false); +}); + it('should not use toJSON in jsonValue', async ({ page }) => { const resultHandle = await page.evaluateHandle(() => ({ toJSON: () => 'string', data: 'data' })); expect(await resultHandle.jsonValue()).toEqual({ data: 'data', toJSON: {} });