Commit Graph

118 Commits

Author SHA1 Message Date
Andrey Lushnikov
2a8801be1e
browser(firefox): fix Firefox crashes (#10904)
Review URL: aff16fc8e4

This patch fixes 2 firefox crashers:
- color scheme override code was not used, but was called
  from multiple threads, which caused a weakptr use violation (cannot
  be used from multiple threads)
- snapshot listener callback was reset asynchronously, so when
  `HeadlessWindowCapturer` was destroyed, it was still occasionally
  called (see `HeadlessWindowCapturer::~HeadlessWindowCapturer`)

With this patch, I no londer experience tracing crashes in firefox.

References #10259
2021-12-13 21:23:25 -08:00
Andrey Lushnikov
c463af445f
devops: fix clobbering of firefox builds (#10867)
Turns out `mach clobber` works reliably only with a bootstrapped
checkout and fails otherwise.

Ignore failure if there's been no bootstrap since clobberring won't
change anything.
2021-12-10 13:52:25 -08:00
Andrey Lushnikov
2d386ee8e7
browser(firefox): fix proxy auth redirect + resource redirect handling (#10854)
This was breaking a vital invariant in our firefox network code - see
comments.

References #10095
2021-12-10 13:11:58 -08:00
Andrey Lushnikov
027ecd80d0
devops: fix Firefox builds on MacOS 12 (#10865)
We don't need this yet for our build bots, but I happen to run MacOS 12
now.
2021-12-10 11:46:10 -08:00
Andrey Lushnikov
2313fcdd91
browser(ff-beta): roll Firefox Beta to M95 (#10089)
Pretty diff: 683d58698f
2021-12-06 15:19:22 -08:00
Max Schmitt
08d31965c6
browser(firefox): ignore console events with attached exception (#10581) 2021-11-29 17:55:15 +01:00
Andrey Lushnikov
851c194098
browser(firefox): disable remote process for certain origins (#10269)
Fixes #10268
2021-11-11 17:43:52 -08:00
Andrey Lushnikov
0fa8073ab6
browser(firefox): fix input composition when TIP is stolen by user (#10238)
When firefox is automated + interacted with manually, input composition
might get stolen from Text Input Processor.

Re-requiring TIP every time seems to fix this.

References #5460
2021-11-11 10:23:00 -08:00
Andrey Lushnikov
9f4b0235eb
devops: fix firefox archiving scripts (#10101)
They should use absolute paths instead of relative paths.
2021-11-05 17:04:11 -07:00
Andrey Lushnikov
975a00ab31
devops: bundle vcruntime140_1.dll with Firefox builds (#10099)
We'll need to bake new Firefox build and roll onto it.

References #9974
2021-11-05 15:28:44 -07:00
Yury Semikhatsky
091c0065ad
browser(firefox): delete response interception code (#10053) 2021-11-04 12:29:36 -07:00
Yury Semikhatsky
ddda507ccd
browser(firefox): do not crash when browser window is minimized (#9951) 2021-11-01 17:11:21 -07:00
Max Schmitt
6a1e075903
fix(browser): fix downloads with nested frames (#9925) 2021-11-01 09:37:07 -07:00
Andrey Lushnikov
f19608d1de
devops: use mach clobber for clearing ff builds (#9864)
Clobbering is required when switching between native intel compilation
and firefox arm cross-compilation.
2021-10-28 13:42:18 -07:00
Yury Semikhatsky
7560f40c77
browser(firefox): set opener for popup opened from iframe (#9837) 2021-10-28 02:16:37 -07:00
Andrey Lushnikov
47d9b23949
devops: drop infra for building 32-bit windows browsers (#9834) 2021-10-27 17:20:23 -07:00
Andrey Lushnikov
56b0823269
browser(ff-beta): fix timezone emulation on Win (#9812) 2021-10-27 09:34:16 -07:00
Andrey Lushnikov
9578cda79a
browser(ff-beta): roll Firefox Beta to 94.0b9 (#9631)
The previous roll didn't package well on windows machines.
2021-10-19 17:39:09 -07:00
Andrey Lushnikov
18e690e234
browser(firefox): fix firefox crashes (#9563)
Fixes #9418
2021-10-15 19:37:00 -07:00
Andrey Lushnikov
6ec4f3e398
browser(firefox-beta): fix compilation on win32 (#9517)
I accidentally moved the API declaration under ifdef; reverting the
move.

Pretty diff:
7c7430b53f
2021-10-14 12:08:38 -07:00
Andrey Lushnikov
a80fa08698
devops: move Firefox and WebKit checkouts to $HOME (#9485)
This moves default Firefox and WebKit checkouts to $HOME folder,
unless browser specific env variables are specified.

In other words:
- Firefox checkouts goes to `$HOME/firefox` unless there's a
  `$FF_CHECKOUT_PATH` that specifies a custom location.
- WebKit checkout goes to `$HOME/webkit` unless there's a
  `$WK_CHECKOUT_PATH` that specifies a custom location.

With this change, all build bots will now re-use checkouts
between builds, which should speed up compilation.
2021-10-14 10:20:06 -07:00
Andrey Lushnikov
115b37e989
browser(firefox-beta): fix Firefox Beta compilation (#9497) 2021-10-14 01:41:03 -07:00
Andrey Lushnikov
c7bbd449c7
browser(firefox-beta): roll Firefox Beta to 94.0b6 (#9493)
Conflict resolution: f6c2c60748
2021-10-14 10:20:52 +02:00
Andrey Lushnikov
e68129e610
devops: build firefox-beta with new bots (#9453) 2021-10-12 13:41:32 -07:00
Andrey Lushnikov
87f120fa35
devops: stop using MacOS 10.12 SDK when building Firefox (#9452)
An investigation has shown, that:
- Official Firefox builds actually cross-compile from Linux to MacOS,
  and for this reason use the old MacOS 10.12 SDK.
- We should be able to build with 11+ SDK just fine; read [primer on
  MacOS SDKs] for details.
- A random `symbol '___darwin_check_fd_set_overflow' not supported`
  error seems to be an [apple bug]. We can fix it using
  `LDFLAGS="-Wl,-U,___darwin_check_fd_set_overflow"`
  flag, similarly to [haskell compiler fix].

[primer on MacOS SDKs]: https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html
[apple bug]: https://openradar.appspot.com/FB7647406
[haskell compiler fix]: 7745638702
2021-10-12 13:23:43 -07:00
Andrey Lushnikov
d278675a62
devops: start using Xcode 13 to compile Firefox (#9401)
It didn't compile withh Xcode 12.2, but does compile with Xcode 13
locally for me.

Moving on to Xcode 13 then.
2021-10-08 13:05:32 -07:00
Andrey Lushnikov
120e919b8e
devops: move building Firefox for Mac Intel to MacOS 11 (#9383) 2021-10-07 16:23:00 -07:00
Andrey Lushnikov
3781faeaaa
chore: fix builds on Apple M1 (#9375)
Apple M1 builders are now updated to the BigSur 11.6.

This patch:
- changes build assertions to validate 11.6 operating system
- changes build archive name to have major version only
- updates `//src/utils/registry.ts` to a new archive name for M1

This affects only M1 builds for Firefox, Firefox-Beta & WebKit.
We should roll these browsers at least once before 1.16 release.
2021-10-07 13:56:08 -07:00
Max Schmitt
5953472899
devops: fix --full command in FF which installs deps (#8878)
Broken since https://github.com/microsoft/playwright/pull/8049

Previously when doing `build.sh --full` it was installing deps + building. Currently when passing `--full` it does not install the deps before, since it tries to compile before.
2021-09-13 08:01:35 -07:00
Max Schmitt
4e95448887
browser(firefox): expose encodedBodySize in requestFinished (#8835) 2021-09-10 08:41:34 -07:00
Andrey Lushnikov
4e8d26c622
browser(ff-beta): roll ff-beta to 93.0b3 (#8779) 2021-09-08 07:54:44 -07:00
Andrey Lushnikov
06b69f6a97
browser(firefox): disable background tasks and updater for firefox (#8773)
References #8536
2021-09-08 06:15:22 -07:00
Max Schmitt
d9eb37b0b9
browser(firefox): resolve socks DNS on server side (#8723) 2021-09-06 16:34:28 +02:00
Max Schmitt
1762f4c547
browser(firefox): expose protocolVersion in ResponseFinished (#8687) 2021-09-03 11:39:38 -07:00
Andrey Lushnikov
30b6614e5a
browser(firefox): enable SharedArrayBuffer in Firefox builds (#8610) 2021-09-01 12:27:37 +02:00
Andrey Lushnikov
16b0a96e78
chore: enhance repack-juggler (#8586)
Instead of building firefox using `//browser_patches/buid.sh ff-beta`,
one can use `//browser_patches/repack-juggler.mjs ff-beta`.

The script will download the last Playwright build, and repack
Juggler and preferences there.
2021-08-31 04:04:30 -07:00
Andrey Lushnikov
dce21f1cc5
chore: re-arrange firefox preferences (#8581)
There's a set of preferenes that's absolutely critical for juggler
to work. Keep these on top and mark them as critical.
2021-08-31 02:15:46 -07:00
Andrey Lushnikov
5eebf64dad
browser(firefox-beta): roll Firefox Beta to v92.0b10 (#8548) 2021-08-30 09:12:49 -07:00
Andrey Lushnikov
5901cb321d
browser(firefox): fix file chooser in iframes #8510 (#8510)
References #8016
2021-08-27 09:28:24 -07:00
Andrey Lushnikov
2453ca0d49
browser(firefox-beta): roll to 92.0b9 (#8442) 2021-08-25 08:55:46 -07:00
Joel Einbinder
e04ff81921
browser(firefox): Browser.setPlatformOverride (#8440) 2021-08-25 11:45:45 -04:00
Joel Einbinder
f7950352b9
browser(firefox): Page.dispatchWheelEvent (#8439) 2021-08-25 11:27:12 -04:00
Joel Einbinder
744a2751de
browser(firefox): disable enterprise policies (#8388) 2021-08-25 10:26:20 -04:00
Dmitry Gozman
4344b3810a
browser(firefox): fix a race between Browser.close and closing context (#8294) 2021-08-18 14:47:21 -07:00
Yury Semikhatsky
90385a7941
browser(firefox): failure response interception (#8194) 2021-08-16 09:36:28 -07:00
Andrey Lushnikov
79f2f608a5
browser(ff-beta): roll Firefox Beta to 92.0b4 (#8186) 2021-08-13 09:01:09 -07:00
Dmitry Gozman
dba3c5055f
browser(firefox): support start/stop videos for context (#8173) 2021-08-12 17:17:54 -07:00
Yury Semikhatsky
f434c41523
browser(firefox): fulfill intercepted response with empty body (#8152) 2021-08-11 14:39:49 -07:00
Yury Semikhatsky
eb7004781f
chore(firefox-beta): backport #8107 to ff beta (#8124) 2021-08-10 15:23:54 -07:00
Andrey Lushnikov
b1b4d7b819
chore: quote all bash variables when used (#8066)
This way bash won't expand and post-process variable values in any way.
The changes are driven with
[`shellcheck`](https://github.com/koalaman/shellcheck)
2021-08-07 05:32:18 -07:00
Andrey Lushnikov
477ef552fb
devops(ff-beta): fix rust installation while building firefox (#8049) 2021-08-06 10:16:14 -07:00
Andrey Lushnikov
a515a2538e
browser(ff-beta): fix screencast (#8033)
Both `libyuv::I420Copy` and `libyuv::I420Scale` support image cropping
by offsetting coordinates inside planes, but offsets must be even
numbers.

References #7998
2021-08-06 08:01:43 -07:00
Andrey Lushnikov
08a447e90f
browser(firefox-beta): roll ff-beta to v91.0.b10 (#7968)
Notable changes:
- javaScriptEnabled moved to the browser side.
- enabling new UI since it no longer helps to fix screencast

Review branch: https://github.com/aslushnikov/juggler/tree/roll-to-91-0-b10

Note: this will have 2 screencast tests failing. Investigation is in a follow-up.
2021-08-03 09:15:52 -07:00
Andrey Lushnikov
7c3a037b86
browser(ff-beta): backport response interception patches (#7965) 2021-08-03 06:11:12 -07:00
Max Schmitt
d03a54da64
browser(firefox): revert devtools flag CLI command (#7717)
revert 786f6c4d31
2021-07-19 17:01:06 +02:00
Andrey Lushnikov
34777853f7
devops: enforce hard xcode version match for browser builds (#7591)
Browsers require particular xcode versions to be installed on the host
machine to produce successful build.

This patch starts using explicit xcode versions for all mac browser
builds.
2021-07-13 18:12:53 -07:00
Max Schmitt
786f6c4d31
browser(firefox): introduce auto-open-devtools-for-tabs CLI flag (#7580) 2021-07-13 18:29:35 +02:00
Andrey Lushnikov
c9e9100ff0
browser(firefox-beta): roll Firefox-beta to 90.0b13 (#7423) 2021-07-01 16:43:28 -07:00
Dmitry Gozman
fca965cb98
browser(firefox): properly handle HSTS redirects (#7391)
When Firefox decides to perform an http->https redirect based on HSTS
information, it issues an "internal" redirect and cancels the http request.

Since there is no response for the http request, we forge 307 redirect
in this case, following Chromium lead.

The relevant code is in nsHttpChannel::StartRedirectChannelToHttps.
2021-06-30 12:59:27 -07:00
Max Schmitt
18266722a1
browser(firefox): add Download.cancel (#7390) 2021-06-30 01:29:58 +02:00
Max Schmitt
a270fc5206
browser(firefox-beta): add transferSize to Network.requestFinished (#7369) 2021-06-29 09:46:42 +02:00
Andrey Lushnikov
04de4ad93e
devops: cleanup browser build configs (#7180)
- certain builds weren't listed in EXPECTED_BUILDS
- wekbit had one unused build configuration
2021-06-16 12:22:33 -07:00
Andrey Lushnikov
65777aebf6
browser(firefox-beta): roll Firefox-Beta to 90.08b - June 15, 2021 (#7160) 2021-06-15 16:24:03 -07:00
Andrey Lushnikov
eda097f5e5
devops: fix Firefox build on Apple Silicon (#7068) 2021-06-11 02:04:08 -07:00
Max Schmitt
9b9091b3fe
browser(firefox): fixed Array.prototype.toJSON workaround (#7018)
References #7015
2021-06-10 17:21:20 -07:00
Max Schmitt
226159defc
browser(firefox): forced-colors media query emulation (#6902) 2021-06-09 01:00:15 +02:00
Andrey Lushnikov
838576b8bf
browser(firefox-beta): roll to Firefox to 90.0b5 - Jun 7, 2021 (#6954) 2021-06-08 00:03:16 -07:00
Andrey Lushnikov
12d8c54e99
chore: swap firefox-stable and firefox (#6950)
With this patch:
- `//browser_patches/firefox` becomes firefox-stable
- `//browser_patches/firefox-stable` becomes firefox-beta

References #6817
2021-06-07 17:05:51 -07:00