playwright/browser_patches/firefox
Andrey Lushnikov b2d9af5e15
browser(firefox): properly initialize debugging pipe on windows (#5514)
browser(firefox): properly initialize debugging pipe on windows

Firefox on Windows has 2 launch modes:
- default: a special "launcher process" is used to start browser as a
  sub-process
- non-default: browser process starts right away

Firefox has a logic to detect how successful was the use of the
launcher process to do self-recovery when things go wrong. Namely:
- when attempting to use launcher process, firefox records a timestamp
  of the attempt beginning
- once the launcher process successfully launches browser sub-process,
  firefox records another timestamp of the completion

On a new launch, firefox checks what timestamps are present. If there's
a timestamp that signifies start of launcher process, but no successful
timestamp, it decides that last "launcher process" use was not
successful and falls back to launching browser right away.

When launching 2 firefox processes right away, the first process
uses attempts to use launcher process and records the first timestamp.

At the same time, the second instance sees the first timestamp and
doesn't see the second timestamp, and falls back to launching browser
right away. Our debugging pipe code, however, does not support
non-launcher-process code path.

This patch adds support for remote debugging pipe in case of
non-launcher-process startup.

Drive-by:
- disable crashreporter altogether
- remove stray dcheck that breaks firefox debug compilation
- disable compilation of firefox update agent
- do not use WIN32_DISTRIB flag unless doing full builds since
  it kills incremental compilation


References #4660
2021-02-19 10:32:47 -08:00
..
juggler browser(firefox): respect Set-Cookie header from fulfilled request (#5456) 2021-02-15 22:49:57 -08:00
patches browser(firefox): properly initialize debugging pipe on windows (#5514) 2021-02-19 10:32:47 -08:00
preferences browser(firefox): roll Firefox to beta @ Feb, 1 2021 (#5248) 2021-02-01 15:50:11 -08:00
.gitignore Initial commit 2019-11-19 10:58:15 -08:00
archive.sh devops: support FF_CHECKOUT_PATH to customize browser checkout (#4607) 2020-12-04 18:46:20 -08:00
build.sh browser(firefox): properly initialize debugging pipe on windows (#5514) 2021-02-19 10:32:47 -08:00
BUILD_NUMBER browser(firefox): properly initialize debugging pipe on windows (#5514) 2021-02-19 10:32:47 -08:00
cheatsheet.md chore(firefox): update cheatsheet with logging instructions (#1609) 2020-03-31 13:23:35 -07:00
clean.sh devops: support FF_CHECKOUT_PATH to customize browser checkout (#4607) 2020-12-04 18:46:20 -08:00
install-preferences.js devops: bundle firefox preferences alongside with build. 2020-02-11 14:42:04 -08:00
UPSTREAM_CONFIG.sh browser(firefox): roll Firefox to beta @ Feb 11, 2021 (#5421) 2021-02-11 14:15:26 -08:00