The goal is to stop using MachineState for this, so that we can refactor MachineState
separately for the JS use cases.
This also has some other benefits: the new RegisterOffsets type is much smaller than
MachineState, because it doesn't store any information for floating-point registers
and it stores a 32-bit offset instead of a pointer. This also gets rid of some casts.
Differential Revision: https://phabricator.services.mozilla.com/D143508
Parts 6-7 added assertions that init-prop operations aren't used in unsupported
contexts. Part 8 changed `CanAttachNativeSetSlot` to check for the correct
enumerable property attribute.
These changes allow to enable attaching stubs for `JSOp::InitHiddenElem`.
Depends on D143300
Differential Revision: https://phabricator.services.mozilla.com/D143301
This change is no longer needed after bug 1547129.
Drive-by change:
- Change `InitPropertyOperation()` to accept `jsbytecode*` for consistency with
`InitElemOperation()`.
Depends on D143296
Differential Revision: https://phabricator.services.mozilla.com/D143297
This change allows to use the add-slot stub when adding a non-writable
property, for example through `InitLockedProp` or `InitLockedElem`.
Depends on D143294
Differential Revision: https://phabricator.services.mozilla.com/D143295
Normalising `NaN` comparator results to `0` was added in ES6, but the two
numeric comparator functions were never updated to include this change.
Differential Revision: https://phabricator.services.mozilla.com/D143337
This sets up prefs so by default any release will use the content signature path
for GMP updates, rather than cert pinning. This intentionally leaves in place
the old cert pinning machinery so that we can still use if we need to
- Compare the new and old for things like debugging.
- Revert these changes in the case of regressions (either by shipping a patch or
something like normandy).
This patch is also small to enable it to be uplifted easily.
Once we're sure this new path is good, a larger patch can follow up to remove
the cert pinning code + rework our tests.
Differential Revision: https://phabricator.services.mozilla.com/D141891
InvalidateNonClientRegion mixed up these constants. They seem to always map to the same value on Windows so this doesn't change any behavior.
Differential Revision: https://phabricator.services.mozilla.com/D143390
As with the other 3 borders, the top of the window should not try to move the region offscreen. We were doing this and compensating for it with widget padding in the theme. The problem is that Windows uses a heuristic internally to determine when this happens and clip drawing that would fall on another monitor, but this fails when we take our (non-standard) approach. Instead, we can just set the client region normally in WM_NCCALCSIZE.
Differential Revision: https://phabricator.services.mozilla.com/D143389
If allocation fails, we'll now just discard the entire contents of
mAllocatedPointers and stop using it going forward.
See the documentation alongside the mAllocatedPointers declaration (in this
patch) for more details.
Differential Revision: https://phabricator.services.mozilla.com/D143416
This patch doesn't change behavior. As of this patch, this variable gets
instantiated immediately (in the PresShell constructor) and is never null, so
no logic/beheavior has changed.
This lays the groundwork for the next patch, which will add one case where this
variable does get nulled out (and add logic to handle that).
Differential Revision: https://phabricator.services.mozilla.com/D143411
This enables AccGroupInfo::TotalItemCount to work for CachedTableAccessibles.
This still doesn't yet support aria-row/colcount for cached RemoteAccessibles.
Differential Revision: https://phabricator.services.mozilla.com/D141818