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
Review URL: aff16fc8e4
This patch fixes 2 firefox crashers:
- color scheme override code was not used, but was called
from multiple threads, which caused a weakptr use violation (cannot
be used from multiple threads)
- snapshot listener callback was reset asynchronously, so when
`HeadlessWindowCapturer` was destroyed, it was still occasionally
called (see `HeadlessWindowCapturer::~HeadlessWindowCapturer`)
With this patch, I no londer experience tracing crashes in firefox.
References #10259
Turns out `mach clobber` works reliably only with a bootstrapped
checkout and fails otherwise.
Ignore failure if there's been no bootstrap since clobberring won't
change anything.
When firefox is automated + interacted with manually, input composition
might get stolen from Text Input Processor.
Re-requiring TIP every time seems to fix this.
References #5460
This patch adds Firefox cross-compilation from x86_64 Ubuntu 20.04 to
arm64 Ubuntu 20.04.
This patch also fixes packaging logic for Firefox to use a STRIP
command from the aarch64 toolchain.
References #7723
This moves default Firefox and WebKit checkouts to $HOME folder,
unless browser specific env variables are specified.
In other words:
- Firefox checkouts goes to `$HOME/firefox` unless there's a
`$FF_CHECKOUT_PATH` that specifies a custom location.
- WebKit checkout goes to `$HOME/webkit` unless there's a
`$WK_CHECKOUT_PATH` that specifies a custom location.
With this change, all build bots will now re-use checkouts
between builds, which should speed up compilation.
Apple M1 builders are now updated to the BigSur 11.6.
This patch:
- changes build assertions to validate 11.6 operating system
- changes build archive name to have major version only
- updates `//src/utils/registry.ts` to a new archive name for M1
This affects only M1 builds for Firefox, Firefox-Beta & WebKit.
We should roll these browsers at least once before 1.16 release.
Broken since https://github.com/microsoft/playwright/pull/8049
Previously when doing `build.sh --full` it was installing deps + building. Currently when passing `--full` it does not install the deps before, since it tries to compile before.
Instead of building firefox using `//browser_patches/buid.sh ff-beta`,
one can use `//browser_patches/repack-juggler.mjs ff-beta`.
The script will download the last Playwright build, and repack
Juggler and preferences there.
This way bash won't expand and post-process variable values in any way.
The changes are driven with
[`shellcheck`](https://github.com/koalaman/shellcheck)
Browsers require particular xcode versions to be installed on the host
machine to produce successful build.
This patch starts using explicit xcode versions for all mac browser
builds.
When Firefox decides to perform an http->https redirect based on HSTS
information, it issues an "internal" redirect and cancels the http request.
Since there is no response for the http request, we forge 307 redirect
in this case, following Chromium lead.
The relevant code is in nsHttpChannel::StartRedirectChannelToHttps.
With this change, the script is now 2-stage:
- first, prepare browser build with `repack-juggler.js --prepare`
- afterwards, run the script to repack tot juggler version with the
bubild
This patch adds a new script -
`//browser_patches/firefox/repack-juggler.mjs`
This script lets you test Firefox changes if they are Juggler-specific
without firefox checkout / compilation.
The `repack-juggler.mjs` script does the following:
- downloads the latest build of Firefox-with-juggler
- finds an `omni.ja` file with Juggler files inside
- replaces juggler in omni.ja with the current juggler files in the index
Before that it actually didn't install all needed dependencies and failed after that when starting the compiler suite. WebKit also installs dependencies with apt, so it should be fine to install them on OS level.
- to read post data of requests, we have to read stream
- to restore the stream later on, we have to rewind it back
- however, if the stream is large enough, it cannot be rewound back
This patch starts cloning post data streams if possible to avoid
back-rewinding them later on.
References #4704
Merging conflicts:
038f367c30
After this roll, we no longer require our custom `onFrameLocationChanged` instrumentation
since gecko now fixed the `NOTIFY_LOCATION` behavior so that it works
for same-document navigations inside iframes.