add --color-scheme flag for persistent dark/light mode (#528)
Fixes #519. Playwright defaults `colorScheme` to `light` on all new contexts, overriding the browser/OS dark mode setting. This is especially disruptive in CDP mode, where every reconnection resets the scheme. The `set media dark` command also didn't persist its choice to new tabs or pages. - Add `--color-scheme <dark|light|no-preference>` flag, config key (`colorScheme`), and env var (`AGENT_BROWSER_COLOR_SCHEME`) - Store the preference in `BrowserManager` and automatically apply it to all new contexts (via Playwright's context option) and all new pages (via `page.emulateMedia` in `setupPageTracking`) - `set media dark/light` now also persists its choice for subsequent pages and tabs
This commit is contained in:
@@ -2069,6 +2069,9 @@ async function handleEmulateMedia(
|
||||
reducedMotion: command.reducedMotion,
|
||||
forcedColors: command.forcedColors,
|
||||
});
|
||||
if (command.colorScheme) {
|
||||
browser.setColorScheme(command.colorScheme);
|
||||
}
|
||||
return successResponse(command.id, { emulated: true });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user