From 93956e267cd4f1a77adaa842a55ca6f2d0d1b9c5 Mon Sep 17 00:00:00 2001 From: Moti Zilberman Date: Mon, 22 Apr 2024 08:37:32 -0700 Subject: [PATCH] Align debugger Chrome launch flags with Meta-internal version (#44180) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/44180 Changelog: [General][Changed] Update Chrome launch flags for `--experimental-debugger` launch flow Internally at Meta, we've been testing the experimental debugger launch flow with a different set of Chrome flags than are currently shipped in open source. This diff fixes those differences: * Removes `--disable-backgrounding-occluded-windows` * Adds `--guest` Reviewed By: EdmondChuiHW Differential Revision: D56418271 fbshipit-source-id: 884c5746e93cad89f17e4ef9e3ef193a2a454eb5 --- .../src/utils/DefaultBrowserLauncher.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/dev-middleware/src/utils/DefaultBrowserLauncher.js b/packages/dev-middleware/src/utils/DefaultBrowserLauncher.js index 8992f194c54192..9438d3f07408b9 100644 --- a/packages/dev-middleware/src/utils/DefaultBrowserLauncher.js +++ b/packages/dev-middleware/src/utils/DefaultBrowserLauncher.js @@ -51,12 +51,23 @@ const DefaultBrowserLauncher: BrowserLauncher = { `react-native-debugger-frontend-${browserType}`, ); const launchedChrome = await ChromeLauncher.launch({ - chromePath, chromeFlags: [ + ...ChromeLauncher.Launcher.defaultFlags().filter( + /** + * This flag controls whether Chrome treats a visually covered (occluded) tab + * as "backgrounded". We launch CDT as a single tab/window via `--app`, so we + * do want Chrome to treat our tab as "backgrounded" when the UI is covered. + * Omitting this flag allows "visibilitychange" events to fire properly. + */ + flag => flag !== '--disable-backgrounding-occluded-windows', + ), `--app=${url}`, `--user-data-dir=${userDataDir}`, '--window-size=1200,600', + '--guest', ], + chromePath, + ignoreDefaultFlags: true, }); return {