Commit Graph

434 Commits

Author SHA1 Message Date
Yury Semikhatsky
02aa31048c
browser(firefox): cross thread sync in screencast (#16320)
* nsIScreencastServiceClient is not thread safe refcounted so we make nsScreencastService::Session a thread safe refcounted object and keep it alive while there are inflight frames. Once such frames get handled on the main thread we check if the session has been stopped.
* Removed mCaptureCallbackCs in favor of atomic counter (mClient is not accessed only on the main thread).
* HeadlessWindowCapturer now holds RefPtr to the headless window object to avoid use after free when clearing it as a listener on the widget.
* ScreencastEncoder is not ref counted anymore.

Pretty-diff: 5f5042ff1e
2022-08-05 15:25:26 -07:00
Yury Semikhatsky
4fc05e8374
browser(firefox): run callbacks inside critical section (#16282)
Pretty-diff: yury-s/gecko-dev@688b4a7
2022-08-04 18:52:30 -07:00
Yury Semikhatsky
135971c406
browser(firefox): recompute content-length if body is overridden (#16173) 2022-08-02 13:51:05 -07:00
Dmitry Gozman
94efeed192
browser(firefox): make scrollIntoViewIfNeeded and getContentQuads work with display:contents (#16111) 2022-08-01 14:40:23 -07:00
Max Schmitt
99cc3869d2
devops: be compatible with multiple MSVS installations (#16121) 2022-08-01 23:37:07 +02:00
Andrey Lushnikov
ecf55b01c6
devops: do not bundle libstdc++ with Firefox builds (#16103)
Turns out we were bundling x86_64 `libstdc++` with aarch64
builds on Ubuntu, which was useless and implies that this
library might not be needed at all.
2022-08-01 09:28:19 -07:00
Andrey Lushnikov
887176ccd5
devops: compile Firefox natively on Ubuntu aarch64 (#16098)
We used to cross-compile Firefox for aarch64, but this no longer
works.

This patch switches to native build inside Ubuntu aarch.
2022-08-01 07:57:45 -07:00
Andrey Lushnikov
a8799c5e19
devops: drastically speedup full firefox build on CI (#16096)
Do not checkout full history of a master branch to
bootstrap dependencies.
2022-08-01 07:16:22 -07:00
Yury Semikhatsky
d33455dcca
browser(firefox): dispatch console messages even if there are workers (#16068) 2022-07-29 16:56:17 -07:00
Andrey Lushnikov
265d00e3f9
devops: attempt to fix Firefox build (#16050) 2022-07-29 07:12:38 -07:00
Andrey Lushnikov
60ab16377a
browser(firefox): roll Firefox stable to 103 (#16047) 2022-07-29 05:47:00 -07:00
Yury Semikhatsky
b479869ddc
browser(firefox): do not leak vpx codec (#16034) 2022-07-28 13:39:34 -07:00
Andrey Lushnikov
792aa6a080
devops: fix FF build on MacOS (#16023)
It looks like FF on MacOS requires the `--enable-bootstrap`
flag instead of the original dance with the master branch.
2022-07-28 10:49:34 -07:00
Andrey Lushnikov
96574e49eb
devops: fix Firefox build on Linux (#16022)
Prebuilt WASI sysroot is not availabe any more, so this patch
disables sandboxing via WASI for now in our builds.

I tried compiling WASI manually, but it didn't work out for me
for some reason.
2022-07-28 08:04:44 -07:00
Andrey Lushnikov
67cea1882c
chore: trigger new browser builds that use new infrastructure (#15955) 2022-07-26 07:44:31 -07:00
Andrey Lushnikov
618941fc68
devops: make --debug as a CLI argument for FF build scripts (#15833) 2022-07-21 16:20:09 -07:00
Andrey Lushnikov
f76fb3e08a
devops: add firefox debian build (#15568) 2022-07-12 05:12:51 -07:00
Andrey Lushnikov
e9d66535ba
browser(firefox): move screenshots to browser-side (#15230)
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
  caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Andrey Lushnikov
530867e8ab
browser(firefox): report unhandled rejections for Firefox (#15391)
References #14165
2022-07-05 15:46:28 -07:00
Andrey Lushnikov
8a8bdec87d
browser(firefox): roll Firefox Stable to 102 (#15321)
This roll:
- NetworkObserver now uses the `remote's` ChannelEventSink layer to
  subscribe to redirects.
- Wheel events now must be dispatched from browser process.
- There's a new API for console messages
- The old methods to wait for search service and addon manager no longer
  work; speculatively remove them since neither `remote` nor
  `marionette` have anything like this.

Native manual merge: 9e6fcfd868
2022-07-05 08:20:01 -07:00
Dmitry Gozman
268bfec4b9
browser(firefox): disable cross-process navigations for about:blank (#15283) 2022-06-30 14:49:11 -07:00
Andrey Lushnikov
458c9b2207
browser(firefox): fix racy browser.newPage() method (#15251)
It looks like the tabopen callback is async, so we must
make sure it is called when opening new pages.
2022-06-30 11:07:38 -07:00
Andrey Lushnikov
074ae99dc5
browser(firefox): fix browser.newPage crasher (#15247)
`mWindow` might not be initialized.
2022-06-29 13:47:45 -07:00
Andrey Lushnikov
f95b3a40e8
browser(firefox): roll Firefox stable to 101 (#15225) 2022-06-29 04:46:49 -07:00
Dmitry Gozman
141093a1cd
browser(firefox): a11y haspopup is a string, not a boolean (#15056) 2022-06-22 17:01:13 -07:00
Dmitry Gozman
94a0d669b6
browser(firefox): expose Response.fromServiceWorker (#14606)
This property is "true" when network response was fulfilled
by the service worker.
2022-06-02 17:16:19 -07:00
Yury Semikhatsky
d5bfd786b9
browser(firefox): force opener tab to be active (#14568)
> lgtm % null-check for the docshell

The  code is inside following if condition
```
if (auto* browserChild = BrowserChild::GetFrom(root->GetDocShell())) {
```
which ensures that the doc shell is not null.
2022-06-02 09:04:04 -07:00
Max Schmitt
66fc04cdb3
devops: add Firefox ubuntu 22 builds (#14579) 2022-06-02 13:54:30 +02:00
Andrey Lushnikov
da55afa584
browser(firefox): fix build on Windows (#14500) 2022-05-31 02:43:33 -07:00
Andrey Lushnikov
7b0505d610
browser(firefox): roll Firefox to 100.0.2 (#14492) 2022-05-31 00:54:36 -07:00
Andrey Lushnikov
751b45189f
browser(firefox): roll Firefox-stable to 99.0.1 (#13887) 2022-05-02 20:46:05 -07:00
Andrey Lushnikov
3b159b45ff
chore: consolidate xcode versions across operating systems and builds (#13708)
A single place with all listed required xcode versions makes it
easier to manage XCode on bots.
2022-04-25 06:35:26 -07:00
Andrey Lushnikov
ec4ebefbd6
chore: use helper functions to define platforms (#13707)
This is to make code less error-prone due to involved windows
detection.
2022-04-22 12:35:35 -07:00
liuxingbaoyu
297edb02f1
devops: support msys2 (#13194) 2022-03-31 15:09:38 -07:00
Andrey Lushnikov
95c6ba9116
browser(firefox): roll Firefox stable to 98.0.2 (#13145) 2022-03-29 01:16:04 -07:00
Yury Semikhatsky
463b4b1c0d
browser(firefox): do not send post data > 10Mb to the client (#12969) 2022-03-23 08:58:29 -07:00
Yury Semikhatsky
96b0a4b993
browser(firefox): fast post body conversion to base64 (#12898) 2022-03-18 18:30:28 -07:00
Andrey Lushnikov
c1c44055f8
devops: move everyone to use xcode 13.2 (#12788) 2022-03-15 10:44:53 -07:00
Andrey Lushnikov
e8ad7eb3f2
browser(firefox): roll Firefox to M97 (#12574)
Firefox 98 doesn't work on Ubuntu aarch64 yet.

https://github.com/microsoft/playwright/issues/12557
2022-03-07 16:16:42 -08:00
Andrey Lushnikov
df51849316
browser(firefox): roll Firefox to M98 (#12509)
The release is scheduled for Mar 8, 2022.
2022-03-04 02:22:28 -08:00
Pavel Feldman
618cc66c8d
browser(firefox): manage scripts to evaluate on load on front-end (#12101) 2022-02-14 20:32:12 -08:00
Andrey Lushnikov
b17f2a86da
devops: attempt to build firefox without maintenanceservice.exe (#11663) 2022-01-26 17:29:53 -08:00
Ross Wollman
8f0a5019c0
browser(firefox): fixes empty string postData override (#11529)
Relates #11470
Blocks #11421
2022-01-21 01:19:29 +01:00
Andrey Lushnikov
5a9ff783be
chore: fix firefox-stable build on windows (#11456) 2022-01-18 05:22:35 -08:00
Andrey Lushnikov
22194bb4a9
browser(firefox): roll Firefox to 96 stable (#11451) 2022-01-18 03:16:04 -08:00
Andrey Lushnikov
5d8aa8d5cf
browser(firefox): fix extra HTTP headers in request interception (#11265) 2022-01-08 08:26:11 -08:00
Andrey Lushnikov
fba29aa319
browser(firefox): fix HTTP->HTTPS fallback for refused connection (#11123)
In this case, there's no protocol version that we can extract for
nsIHttpChannel.

The code that does the redirect is here: 7f3d9fce41/docshell/base/nsDocShell.cpp (L6079-L6095)

To trigger this codepath, we'd need to run test inside a special
docker container that has https server running on the 443 port. We lack
infrastructure for this kind of tests (but it'll be cool to have it).

References #11118
2021-12-28 12:23:53 -08:00
Andrey Lushnikov
bff93f830e
devops: fix firefox packaging for Ubuntu 20.04 arm64 (#10962)
This was originally landed in
https://github.com/microsoft/playwright/pull/10091 but got accidentally
reverted by https://github.com/microsoft/playwright/pull/10760

References #10759
2021-12-15 18:10:26 -08:00
Andrey Lushnikov
9b488f5a65
devops(firefox): do not bootstrap firefox-release ever on MacOS (#10960)
References #10759
2021-12-15 17:14:08 -08:00
Andrey Lushnikov
acb75460bc
devops(firefox): fix packaging of mozilla-release (#10949)
`MOZ_AUTOMATION` env variable requires us to set a bunch of other
variables to package the build.
2021-12-15 11:12:44 -08:00