Currently, Mac WebKit builds are failing in CI. It seems this is a regression in upstream WebKit as I'm able to reproduce it in my local environment.
The error is the following:
```
usr/bin/codesign --force --sign - --timestamp\=none --preserve-metadata\=identifier,entitlements,flags --generate-entitlement-der /Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework
/Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework: replacing existing signature
/Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework: unsealed contents present in the root directory of an embedded framework
Command CodeSign failed with a nonzero exit code
```
Bisecting the regression it seems the build started failing on [r295496](https://trac.webkit.org/changeset/295496/webkit)
This changeset also introduced a new flag, _--no-use-workspace__, which allows to build not using WebKit.xcworkspace (I understand this is how builds were done before this changeset). Building with _--no-use-workspace_ fixes builds for Mac.
I skipped the Windows specific files this time. I added an extra commit to fix dependencies update in Ubuntu 18.04.
All changes in this PR:
chore(webkit): bootstrap build #1665
[GLIB] Fix build error after r295446
[JHBuild] Fix error use OpenSSL backend when gnutls available in the …
WebSocketTaskCurl.cpp has been implemented upstream since last roll. We now pass ignoreCertificateErrors to it similar to other platforms. This should fix Curl compilation errors on windows.
Pretty-diff: yury-s/WebKit@48cd095
> 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.
This patch:
- fixes firefox-beta archiving that requires 2 extra env variables
- attempts to use windows paths to specify `MOZ_FETCHES_DIR` on
Windows to point to the toolchains folder.
This is a follow-up to a7a7644beb
that started bootstrapping toolchains from `master` branch.
Now, we have to explicitly use these toolchains when building
Firefox.
It turns out that we can only bootstrap Firefox toolchains
from latest commits.
So in case of a full build, we have to fetch latest commit
from `master`, bootstrap from it, and then build the commit we'd like.
This PR fixes the following error message in WPE:
```
[pid=506430][err] (MiniBrowser:506435): GLib-GObject-CRITICAL **: 11:47:23.538: g_object_new_is_valid_property: object class 'WebKitWebContext' has no property named 'process-swap-on-cross-site-navigation-enabled' +0ms
```
Our changes to WPE port that added support for the parameter were removed in 5a3fae4c5a as PSON is enabled by default in WPE (see https://bugs.webkit.org/show_bug.cgi?id=240052) and we don't need to set this explicitly in our fork.
Pretty diff: fc28e40f36
OverridenGeolocationProvider can be destroyed after BrowserContext. Since the provider is owned by WebGeolocationManagerProxy we now store weak pointer to it in the browser context.
Refs: #14081