* 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
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.
* `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.
> 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.
Instead of using 64-bit version of MINGW that comes with Git Bash,
we now switch to the one provided by the mozilla-build on windows,
which is 32-bit.
This patch also reverts the previous attempt that was defining the library names
for redistribution. It should work without them as well.
References #12225
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