It may happen that reload leads to a cross-origin redirect. This PR adds instrumentation to the policy check that triggers new web process creation and allows the client side properly track the navigation progress after reload.
Pretty-diff: 753967002c
References: #16147
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
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
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.
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
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
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.
WebKit switched to workspace builds by default upstream in c67ee46115 and Playwright.app project (forked from MiniBrowser.app xcode project) was not a part of the workspace. This PR:
* Adds Tools/Playwright project to the WebKit workspace;
* Adds WebKit.framework to the list of dependencies of Playwright.app (I managed to successfully build without this modification but decided to added to be on the safe side as that was done upstream too);
* Removes `--no-use-workspace` in order to use workspace build mode which is the default upstream.
Pretty-diff: 75f1e79447