If the pref is false, we don't trigger auto-shrink machinery so that we
shouldn't use the display size to layout scrollbars.
Differential Revision: https://phabricator.services.mozilla.com/D100312
To reflect the top-level initial script usage, it should be called ScriptIndex.
Also, to use ScriptIndex in JSScript methods, it needs to be moved out of
Stencil.h.
Differential Revision: https://phabricator.services.mozilla.com/D100715
Stencil's *Scope::Data doesn't contain pointer and doesn't have to be aligned
to pointer size.
This removed extra padding between scope data items in vector.
Differential Revision: https://phabricator.services.mozilla.com/D99746
Split *Scope::Data into stencil and VM, with specialization for each.
Stencil variant doesn't contain pointer fields.
Differential Revision: https://phabricator.services.mozilla.com/D99745
The `RunningTimes` class stores CPU measurements. It may seem overkill for only one value, but in the future more measurements will be added.
During sampling, CPU measurements are collected by platform-specific code. This patch doesn't produce anything yet, see later patches.
These are stored with the samples.
Note that for duplicated samples (when a thread is known to be "asleep"), we still need to collect new measurements, because there could potentially be some activity happening, e.g. in system calls.
Finally the measurements are output as extra "samples" values.
Units for these values may platform-specific, so they are stored in the top-level JSON "meta" object.
We don't collect running times in the Base Profiler (yet), but we still need to add the appropriate field names in the samples' "schema", as expected by profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D99413
This patch adds "CPU Utilization" ("cpu" for short) as a new feature that will control the upcoming still-experimental CPU measurements.
Differential Revision: https://phabricator.services.mozilla.com/D99054
Instead of only capturing one feature (NoStackSampling), the sampler thread now stores all features so that any feature can be quickly looked at during sampling.
Currently this is still limited to NoStackSampling, a later patch will start using another feature.
Differential Revision: https://phabricator.services.mozilla.com/D99053
It seems that VoiceOver depends on that property to know if a selection is be extended or moved. This manifests in several places in Slack when the user combines VO navigation with Slack's keyboard navigation.
Also changed where we retrieve the editable ancestor to simplify the notification dispatching block.
Differential Revision: https://phabricator.services.mozilla.com/D100452
In the case we click a link from inside the frame, we don't want to
check for activation from the parent window but ourselves.
It feels like using the sourceWindowContext for these checks is always
the right thing to do, but it's not always possible if we set the
location.href from an out-of-process parent. In this case, we fall back
to consuming user activation on the iframe itself. This is tested in
browbrowser_protocol_ask_dialog.js when run with fission enabled.
We could consider making the user activation stuff more
multiprocess-friendly, but it's not clear to me it's worth it for this
particular edge case.
Differential Revision: https://phabricator.services.mozilla.com/D100578
Based on evidence from crash reports in Bug 1682589, there may be a bug where
IPDL intermittently calls `ActorDestroy()` twice on GamepadEventChannelParent,
leading to a crash.
This attempts to catch this behavior in Nightly (assuming that I'm correct and
it does exist). If not, I will have to find some other explanation for the
crash behavior from that bug.
Differential Revision: https://phabricator.services.mozilla.com/D100714