Commit Graph

1739 Commits

Author SHA1 Message Date
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
Yury Semikhatsky
cc45ac91f5
browser(webkit): grant pasteboard read access for input edit commands (#15390)
This is what WebPageProxy::executeEditCommand does via WebPageProxy::willPerformPasteCommand.

Refs: #8114, #12000
Pretty-diff: yury-s/WebKit@4213f02
2022-07-05 14:14: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