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
* 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
* `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 a7a7644bebd69d68d1803bd7b4cf9771bec4d185
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.
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
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