Original failure
In the Chromium 155.0.8059.12 roll (microsoft/playwright-browsers#2548), library/client-certificates.spec.ts:545 › should respect launch proxy and proxy bypass failed on every headed Linux bot. CI run, failed job log:
- Expected - 0
+ Received + 2
+ "update.googleapis.com:443",
+ "accounts.google.com:443",
This isn't caused by the roll. The same test fails locally in headed mode with the current Chromium 154.0.8037.0. The browser-wide launch proxy carries Chromium's own background requests.
Findings
Headed Chrome for Testing makes these requests within about 3 seconds of startup, even with --disable-background-networking, --disable-component-update and --disable-sync. The headless shell doesn't make them. I identified each one from the traffic annotations in a netlog.
Can be disabled by a feature flag (done in #42909):
| Request |
Traffic annotation |
Fix |
clients2.google.com/time/1/current |
network_time_component |
--disable-features=NetworkTimeServiceQuerying |
www.google.com/async/folae |
aim_eligibility_fetch |
--disable-features=AimEnabled |
Can't be disabled with a flag or feature. These need a Chromium fix:
| Request |
Started by |
Why no flag works |
accounts.google.com/ListAccounts |
SyncSessionDurationsMetricsRecorder |
Fetches the Google accounts list in its constructor, even with --disable-sync or --allow-browser-signin=false |
update.googleapis.com |
On-device model manifest component (ceofaddefefcbblgcgnibnonglccbfja) |
Registered unconditionally in PostBrowserStart; --disable-component-update only makes the server reply "disabled by client" |
android.clients.google.com checkin + register3 (GCM) |
Enterprise user-policy FCM invalidation listeners |
Created for every desktop profile, with no gate |
Workarounds such as --optimization-guide-manifest-override=<missing path> or pointing --gaia-url / --gcm-*-url at unreachable addresses could hide these, but they have side effects, so we aren't using them.
Plan
Original failure
In the Chromium 155.0.8059.12 roll (microsoft/playwright-browsers#2548),
library/client-certificates.spec.ts:545 › should respect launch proxy and proxy bypassfailed on every headed Linux bot. CI run, failed job log:This isn't caused by the roll. The same test fails locally in headed mode with the current Chromium 154.0.8037.0. The browser-wide launch proxy carries Chromium's own background requests.
Findings
Headed Chrome for Testing makes these requests within about 3 seconds of startup, even with
--disable-background-networking,--disable-component-updateand--disable-sync. The headless shell doesn't make them. I identified each one from the traffic annotations in a netlog.Can be disabled by a feature flag (done in #42909):
clients2.google.com/time/1/currentnetwork_time_component--disable-features=NetworkTimeServiceQueryingwww.google.com/async/folaeaim_eligibility_fetch--disable-features=AimEnabledCan't be disabled with a flag or feature. These need a Chromium fix:
accounts.google.com/ListAccountsSyncSessionDurationsMetricsRecorder--disable-syncor--allow-browser-signin=falseupdate.googleapis.comceofaddefefcbblgcgnibnonglccbfja)PostBrowserStart;--disable-component-updateonly makes the server reply "disabled by client"android.clients.google.comcheckin + register3 (GCM)Workarounds such as
--optimization-guide-manifest-override=<missing path>or pointing--gaia-url/--gcm-*-urlat unreachable addresses could hide these, but they have side effects, so we aren't using them.Plan
--disable-background-networkingalso covers the three remaining requests