Historically tracking "which tab is in the foreground" has been impossible via CDP.
Libraries like Playwright and even Google's own puppeteer resorted to hacks like forcing users to foreground pages manually, or pretending "last opened == foreground".
After writing brittle state sync logic and workarounds for the last 2 years I got tired of dealing around this issue, so I contributed a fix upstream into Chromium!
nikisweeting•54m ago
Libraries like Playwright and even Google's own puppeteer resorted to hacks like forcing users to foreground pages manually, or pretending "last opened == foreground".
After writing brittle state sync logic and workarounds for the last 2 years I got tired of dealing around this issue, so I contributed a fix upstream into Chromium!