Many instances of the launcher failure ping indicate hooking NtMapViewOfSection
or LdrLoadDll failed. This is most likely caused by a third-party application
applying a hook onto the same target earlier than we do.
This patch is to add a new field "detour_orig_bytes" in the laucnher failure ping
to collect the first sixteen bytes of a detour target function. With this,
we can know whether those detour failures were caused by a third-party hook or not,
and if yes, what was the actual binary pattern.
Differential Revision: https://phabricator.services.mozilla.com/D89836
First, `UrlbarView.clear` needs to null the selected element. Second, setting
the selected element to null needs to also null
`UrlbarInput._resultForCurrentValue`. `UrlbarView._selectElement` does call
`input.setValueFromResult`, which sets `_resultForCurrentValue` -- but not if
the `updateInput` arg is false. So I added a new
`UrlbarInput.setResultForCurrentValue` method so `_selectElement` can set it. At
first I tried unconditionally calling `input.setValueFromResult`, but a bunch of
tests failed. I looked into it, but it's complicated, so I gave up and added
this new method.
This also makes some other changes that I'll comment on inline.
Differential Revision: https://phabricator.services.mozilla.com/D90360
When a doc does not have top-level DOM group, or consists of a single leaf,
we need to insert a generated root group. The rotor API expects this and uses
it for boundary detection.
Differential Revision: https://phabricator.services.mozilla.com/D90174
The debug assertion check here is trying to validate that we don't
enter an unexpected path for non-tiled images if the image template
has tiling enabled.
However, it was not correctly handling the case where an image key
has been sent but the image was removed. This case is handled by
the `resolve_image` code below, so it's a valid state to encounter
in this code path.
Differential Revision: https://phabricator.services.mozilla.com/D90343
There are two things wrong with captureVisibleTab on mobile:
* ownerGlobal is not available on nativeTab, this patch uses
this.browser.ownerGlobal instead.
* ZoomManager is not available on mobile, this patch moves that code to
browser/../ext-tabs.
Differential Revision: https://phabricator.services.mozilla.com/D90009
Some tests rely on SpecialPowers.pushPermissions/popPermissions/flushPermissions
operating on the same permissions stack no matter the SpecialPowers instance
they're called on. This works when all of those SpeicalPowers instances are in
the same process, but with out-of-process Fision frames, that isn't always the
case.
This patch updates the permission stack code to operate the same way as the
preference stack code, which was already updated to deal with this issue.
Differential Revision: https://phabricator.services.mozilla.com/D90320
This add a similar optimization as js::StaticStrings for tiny strings to the
ParserAtoms mechanism. This includes (some) length 1 and length 2 atoms for
fast lookup. This is effective for large minified JS files and can speed up
syntax-parsing by up to 20% in some cases. We extend the atomIndex_ Variant
to have new `StaticParserString{1,2}` types which we use to in toJSAtom to
quickly translate to the corresponding StaticStrings.
Depends on D90152
Differential Revision: https://phabricator.services.mozilla.com/D90153
In this code we often use 'length' to refer to number of char16_t and this
can be a little confusing with UTF-8 so instead use 'nbytes' as the argument
until we establish what length of the inflated sequence is.
Depends on D90148
Differential Revision: https://phabricator.services.mozilla.com/D90149
The `$` and `_` characters are legal JS identifiers and can show up a fair
bit in large minified code-bases. This changes the {to,from}SmallChar which
is used during `StaticStrings::init`. We already use a table-based lookup
while atomizing so there isn't additional perf cost during atomization.
Differential Revision: https://phabricator.services.mozilla.com/D90148
This extracts an install-meson.sh helper script to install meson in both
the wrench-deps task for Firefox CI and the taskcluster.yml in WebRender CI.
Differential Revision: https://phabricator.services.mozilla.com/D90441
The SMTC-thumbnail-update task is dispatched to main-thread from the
on-complete callback of the async image storing operation. However, the
callback is actually on the main-thread itself so the
thumbnail-update-task can be executed in that callback directly instead
of being dispatched. The task should be finished slightly faster if the
task dispatch is replaced by executing the task.
Differential Revision: https://phabricator.services.mozilla.com/D90331