Commit graph

1741 commits

Author SHA1 Message Date
Andrey Lushnikov 4e55013952
devops(webkit): default to GCC-9 on Ubuntu 18.04 (#16531) 2022-08-14 23:25:26 -07:00
Andrey Lushnikov 45e581bcbc
devops: fix firefox builds (#16530)
Turns out Firefox mach does not respect `DEBIAN_FRONTEND=noninteractive`
command and insists on interactive input for the mozbuild folder
creation.

Pre-creation of the folder avoid this codepath.
2022-08-14 23:02:30 -07:00
Andrey Lushnikov 81ed8fc523
devops: gracefully handle stopping already-stopped container (#16528) 2022-08-14 14:17:28 -07:00
Andrey Lushnikov 7942d296f1
devops: fix webkit debian-11 docker env (#16527) 2022-08-14 13:41:33 -07:00
Andrey Lushnikov b6f044d42b
devops: fix docker script to work on GHA (#16522)
GHA doesn't have interactive terminal to attach.
2022-08-13 05:23:03 -07:00
Andrey Lushnikov 1bc6669467
chore: kick off new browser builds to test docker env (#16521) 2022-08-13 04:48:53 -07:00
Andrey Lushnikov 3486f1089f
devops: introduce independent linux build environments (#16470)
This patch introduces independent docker-based build environments for WebKit and Firefox
browsers.

To launch an interactive session inside the environment:

```sh
./browser_patches/docker/cli.sh webkit-debian-11 build # builds image
./browser_patches/docker/cli.sh webkit-debian-11 enter # launches interactive container
```
2022-08-13 04:40:45 -07:00
Yury Semikhatsky d9e8e1e92d
chore: use existing is_linux function (#16509) 2022-08-12 12:38:19 -07:00
Diego Pino dc07a60f14
browser(webkit): rebase to 08/11/22 (253363@main) (#16490) 2022-08-12 09:38:22 -07:00
Andrey Lushnikov acc9b528ea
devops: remove universal WebKit build (#16468)
We experimented with it and are not ready to commit.
2022-08-11 10:12:45 -07:00
Andrey Lushnikov 4e2ef0c865
browser(ff-beta): fix packaging manifest (#16451)
Pretty diff: 4e6c70ac0d
2022-08-11 05:13:27 -07:00
github-actions[bot] 24c9c6b596
browser(chromium-tip-of-tree): roll to 2022-Aug-11 (#16443)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-11 12:06:39 +02:00
github-actions[bot] 543e2b3387
browser(chromium): roll to 2022-Aug-11 (#16444)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-11 12:06:29 +02:00
Andrey Lushnikov dd4f5ceaff
browser(ff-beta): roll Firefox Beta to 104.0b5 (#16170)
This roll moves Juggler component registration to a new system that
is used in XPCOM: this is what both RemoteAgent and Marionette use.

Drive-by: we now have to explicitly pass default values to dispatched
mouse events to avoid a `MOZ_ASSERT` trigger inside a drag service
native code.

Manual conflict resolutions: ab3ed0cb2c
2022-08-10 15:34:01 -07:00
github-actions[bot] b7e26270dd
browser(chromium-tip-of-tree): roll to 2022-Aug-09 (#16372)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-09 12:30:04 +02:00
Yury Semikhatsky 7f9937bd67
browser(webkit): fix libpas and bmalloc link errors (#16361)
Patch by @dpino 
Fixes the following error on Ubuntu 18:
```
[716/8153] Linking CXX shared library lib/libmbmalloc.so
FAILED: lib/libmbmalloc.so 
: && <CXX> -fPIC -fdiagnostics-color=always -Wextra -Wall -pipe -Wno-odr -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-ari>
/usr/bin/ld: Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_deallocate.c.o: relocation R_X86_64_PC32 against symbol `pas_segregated_page_deallocation_did_fail' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
```

Pretty-diff: a479046919
2022-08-08 12:32:19 -07:00
github-actions[bot] 52f9e64e72
browser(chromium): roll to 2022-Aug-06 (#16330)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-06 22:20:10 +02:00
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
Diego Pino cd1413ecab
browser(webkit): Revert downstream change introduced in last roll (#16287)
browser(webkit): Revert downstream change introduced in #1697
2022-08-05 06:26:16 +02: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
Diego Pino 250d5f8b9a
browser(webkit): rebase to 08/03/22 (253090@main) (#16249) 2022-08-04 11:23:45 -07:00
github-actions[bot] 9cc735bf19
browser(chromium-tip-of-tree): roll to 2022-Aug-04 (#16244)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-04 12:04:49 +02:00
Andrey Lushnikov 4a5be4934f
devops: fix Firefox beta on Ubuntu 22.04 arm64 compilation (#16220) 2022-08-03 11:56:48 -07:00
Andrey Lushnikov 8aa31bcf4b
devops: fix Firefox build on Ubuntu 22.04 arm64 (#16212)
Turns out the weird compilation error is fixed if we use Clang 14
to compile.

This is the same clang that would've been shipped in mozilla build
toolchain.
2022-08-03 09:52:54 -07:00
Yury Semikhatsky 135971c406
browser(firefox): recompute content-length if body is overridden (#16173) 2022-08-02 13:51:05 -07:00
Diego Pino d4c63b21e7
browser(webkit): restore default a11y settings (#15844) 2022-08-02 10:31:38 -07:00
Andrey Lushnikov 1ef1e1f5bd
devops: fix firefox arm64 builds (#16157)
Turns out the `/etc/environment` is not read for non-login shells,
so we have to source rust & cargo installation explicitly.
2022-08-02 10:19:55 -07:00
Andrey Lushnikov 649c070b48
devops: fix Python installation for Firefox Beta build on Ubuntu 18.04 (#16152) 2022-08-02 07:42:49 -07:00
Andrey Lushnikov af33d713ad
devops: fix Firefox-Beta build the same way we fix FF Stable (#16146)
Drive-by: add missing `ff-beta-ubuntu-20.04-arm64` build
2022-08-02 07:27:51 -07:00
Andrey Lushnikov 5e16df5057
devops: fix pip3 for webkit ubuntu18.04 build (#16142)
The canonical script to install pip3 doesn't work with Python3.6
that is used to compile WebKit on Ubuntu 18.04, so we fallback
to installing pip3 from apt.
2022-08-02 05:24:09 -07:00
github-actions[bot] cadb3566c3
browser(chromium): roll to 2022-Aug-02 (#16138)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 12:14:11 +02:00
github-actions[bot] 9c61368d06
browser(chromium-tip-of-tree): roll to 2022-Aug-02 (#16137)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 12:14:01 +02:00
Andrey Lushnikov 38726fe319
chore: fix WebKit ubuntu 18.04 build (#16133)
Install Python 3.8 on Ubuntu 18.04 for Firefox only.
2022-08-02 01:23:07 -07:00
Andrey Lushnikov a22446658c
devops: fix azure cli installation on ubuntu arm (#16131)
Turns out inistalling Azure CLI with `pip3` requires `gcc` installed.
2022-08-02 01:01:40 -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
Max Schmitt 7a18def019
devops: install python*-dev during build (#16118)
`python3-dev` is required to install pip via `curl` command.
2022-08-01 13:59:21 -07:00
Max Schmitt 97bb0f3d46
devops: install PIP via pypa.io (#16116)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-08-01 22:44:00 +02:00
Andrey Lushnikov b7b572c27c
devops: fix arm64 webkit and firefox builds (#16115) 2022-08-01 13:30:49 -07:00
Yury Semikhatsky 76dc5d8a0f
browser(webkit): disable iframe loading=lazy (#16106)
It was recently enabled by default upstream 461deb6c6d
We have this feature disabled in Chromium as we want the iframes to be eagerly loaded to avoid clients' confusion. This PR disables it back in WebKit too.

Pretty-diff: 7aad962e5d
2022-08-01 11:29:28 -07:00
Andrey Lushnikov 52c5578b2d
devops: fix firefox expected platform for native arm64 linux build (#16105) 2022-08-01 11:05:53 -07: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 505197bfac
devops: install Python 3.8 on Ubuntu 18.04 (#16101)
Ubuntu 18.04 ships Python 3.6 by default on Ubuntu18.04; this python,
however, fails to run Firefox build system, so we have to install
Python 3.8 and default it to `python3`.
2022-08-01 09:14:16 -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
Diego Pino 4112eb815e
browser(webkit): rebase to 29/07/22 (252944@main) (#16053)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-01 11:48:23 +02:00
Max Schmitt e85228fe91
devops: use pip3 to install azure-cli instead of pip (#16085) 2022-08-01 11:44:35 +02:00
Yury Semikhatsky d33455dcca
browser(firefox): dispatch console messages even if there are workers (#16068) 2022-07-29 16:56:17 -07:00
Yury Semikhatsky e07eb664a5
browser(webkit): export _vpx_codec_destroy from libwebrtc (#16054) 2022-07-29 08:55:08 -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
Yury Semikhatsky 4b7da07b0f
browser(webkit): do not leak vpx codecs (#16032) 2022-07-28 13:16:20 -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 abf951ebec
devops: proper fix for git directory permissions (#16020) 2022-07-28 06:30:04 -07:00
Andrey Lushnikov 2733924d1d
devops: add safe directory (#16018) 2022-07-28 05:21:57 -07:00
github-actions[bot] 637a935de6
browser(chromium): roll to 2022-Jul-28 (#16014)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 12:06:56 +02:00
github-actions[bot] 93173e8d7e
browser(chromium-tip-of-tree): roll to 2022-Jul-28 (#16013)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 12:06:44 +02:00
Andrey Lushnikov 14bf293594
devops: fix quotes in docker_build.sh script (#15989) 2022-07-27 05:07:33 -07:00
Max Schmitt c22d9b6b09
devops: remove pin azure-cli to a more recent version (#15988) 2022-07-27 14:03:50 +02:00
Andrey Lushnikov f82ce805da
devops: fix docker builds (#15987)
* install AZ CLI from pip since it's not available in APT on aarch64
* install rust for firefox as `pwuser`
2022-07-27 04:59:53 -07:00
Yury Semikhatsky f067d1ddd6
browser(webkit): disabled threded scrolling on WPE (#15964) 2022-07-26 17:57:55 -07:00
Andrey Lushnikov 4478bf8ead
devops: fix WebKit Linux arm64 build (#15976) 2022-07-26 17:36:39 -07:00
Andrey Lushnikov 0b72f7ec99
devops: another fix for Docker build script (#15966)
* git configuration should be system wide to propagate to all
  users
* rust should be installed under the `pwuser`
2022-07-26 10:49:43 -07:00
Andrey Lushnikov b3b10674f4
devops: fix build-in-docker script (#15963) 2022-07-26 10:20:15 -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 f9b6ca2c5a
devops: add a universal script to build browsers inside docker (#15954)
This script takes care of all the dependencies necessary to compile
WebKit and Firefox inside supported Linux distributions.
2022-07-26 07:16:54 -07:00
github-actions[bot] 3e28acc4c2
browser(chromium-tip-of-tree): roll to 2022-Jul-26 (#15947)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-26 13:38:32 +02:00
Yury Semikhatsky 1528e56438
browser(webkit): skip gpu availability check on mac (#15938) 2022-07-25 17:58:24 -07:00
Dmitry Gozman 15ecc254cb
browser(webkit): make DOM.scrollIntoViewIfNeeded and DOM.getContentQuads work for display:contents (#15739) 2022-07-25 17:38:07 -07:00
Diego Pino 69bfa7d33f
browser(webkit): rebase to 07/25/22 (252781@main) (#15918) 2022-07-25 13:22:20 +02:00
Andrey Lushnikov 618941fc68
devops: make --debug as a CLI argument for FF build scripts (#15833) 2022-07-21 16:20:09 -07:00
Diego Pino a0418b970e
browser(webkit): rebase to 07/20/22 (252681@main) (#15827) 2022-07-21 12:46:37 +02:00
github-actions[bot] d126f4463c
browser(chromium): roll to 2022-Jul-21 (#15830)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 12:19:32 +02:00
github-actions[bot] 2d507403a1
browser(chromium-tip-of-tree): roll to 2022-Jul-21 (#15829)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 12:19:23 +02:00
Max Schmitt 9b3bd92071
devops: send Telegram messages via Node.js (#15804) 2022-07-20 15:45:26 -07:00
Diego Pino 35a7be24a3
browser(webkit): follow up #1684 (#15807) 2022-07-20 13:11:53 +02:00
github-actions[bot] c619e1b2b9
browser(chromium-tip-of-tree): roll to 2022-Jul-19 (#15780)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-19 12:08:19 +02:00
q66 184b6baa7a
browser(webkit): rebase to 07/15/22 (#15714) 2022-07-19 08:16:15 +02:00
Andrey Lushnikov 1d415312fe
browser(webkit): fix JHBuild on Ubuntu 20.04 (#15683)
Turns out Ubuntu 20.04 has both `libenchant` and `libenchant-2`.
To keep compiling against `libenchant` everywhere it exists,
we change the `aptIfElse` helper method to pick one or another.
2022-07-14 16:43:36 -07:00
Andrey Lushnikov 80bcfe70ec
browser(webkit): fix JHBuild on Debian 11 (#15653)
This patch:
* fixes bash script bug: at least in bash 5, assignment to a **local**
  variable overwrites the `$?` code, so the following condition is never true.
* adds the `libenchant-2-dev` library

Pretty diff: ff6e976044
2022-07-14 06:04:03 -07:00
Andrey Lushnikov c39df3695a
devops: add WebKit debian 11 build configuration (#15652) 2022-07-14 05:19:27 -07:00
github-actions[bot] f87d2d7c5b
browser(chromium-tip-of-tree): roll to 2022-Jul-14 (#15645)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-14 12:05:10 +02:00
github-actions[bot] da58281e16
browser(chromium): roll to 2022-Jul-14 (#15646)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-14 12:04:59 +02:00
Andrey Lushnikov f76fb3e08a
devops: add firefox debian build (#15568) 2022-07-12 05:12:51 -07:00
Andrey Lushnikov 38f8c92a28
devops: do not dedupe webkit archives (#15565)
The 2e331715ff introduced
universal webkit build and tried re-using archive deduping technique
across all our regular JHBuild-based builds.

However, this turns out to be too aggressive and doesn't work. At least
on Ubuntu 18.04:
- `minibrowser-gtk/minibrowser` is identical to
  `minibrowser-wpe/minibrowser`
- WPE gets symlinked into GTK
- Thus we now always start headed
2022-07-12 04:15:27 -07:00
github-actions[bot] 01a5bfa45c
browser(chromium-tip-of-tree): roll to 2022-Jul-12 (#15561)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-12 12:07:01 +02:00
Andrey Lushnikov d93abcbe42
devops: fix webkit builds (#15546)
This patch:
* removes "deterministic" argument from `rdfind` on Ubuntu 18.04.
  `rdfind` is a new addition, but it's nice to have since it saves 10%
  of the archive size.
* drops `stdc++fs` from dependencies. This doesn't seem to be necessary
  for JHBuild but breaks universal build.

Pretty diff: 256392e8c4
2022-07-11 14:40:23 -07:00
Andrey Lushnikov 67a2f948fd
chore: add missing webkit-mac-11 expected build (#15535) 2022-07-11 07:12:14 -07:00
Andrey Lushnikov fd1fae97b1
browser(webkit): fix build on Ubuntu 18.04 (#15529)
Turns out default GnuTLS on Ubuntu 18.04 is 3.5.18, so we should
use OpenSSL.

The glib-networking backend selector condition is thus incorrectly
compares version triplets.
2022-07-11 06:01:34 -07:00
Andrey Lushnikov 2e331715ff
devops: support universal webkit builds (#15496) 2022-07-08 16:27:53 -07:00
Yury Semikhatsky 4b4f23fdb8
browser(webkit): replace wpe pasteboard with a hashmap (#15506) 2022-07-08 15:07:39 -07:00
github-actions[bot] 6d030e666e
browser(chromium): roll to 2022-Jul-08 (#15488)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-08 12:05:17 +02:00
Yury Semikhatsky be4f27d685
browser(webkit): introduce Runtime.addBinding/bindingCalled (#15468)
References #14745
Pretty-diff: yury-s/WebKit@25c42a1
2022-07-07 12:58:22 -07:00
Max Schmitt bc4463c472
browser(webkit): disable WebKit PDF viewer (#15462) 2022-07-07 20:13:48 +02:00
github-actions[bot] 592e22a1a4
browser(chromium-tip-of-tree): roll to 2022-Jul-07 (#15441)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-07 13:46:52 +02: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 3b269d0ed7
browser(ff-beta): roll Firefox-Beta to 103.0b5 (#15394) 2022-07-05 15:47:35 -07:00
Andrey Lushnikov 530867e8ab
browser(firefox): report unhandled rejections for Firefox (#15391)
References #14165
2022-07-05 15:46:28 -07:00