This patch mainly enables the pref for SharedArrayBuffer on early Beta. (We have
already enabled that on Nightly by default)
This change causes some tests to fail. This patch handles the failures for
a mochitest and web-platform-tests.
Differential Revision: https://phabricator.services.mozilla.com/D60965
--HG--
extra : moz-landing-system : lando
It used to be that some XPIDL interfaces were allowed to be non-nsISupports,
and were only used to hold a bunch of constants. It appears that we've now
had enough de-COM work happen that there are no longer any, so we can remove
support for this.
Differential Revision: https://phabricator.services.mozilla.com/D61008
--HG--
extra : moz-landing-system : lando
For builtinclass interfaces, or ones not declared in IDL, we don't call out
into scripted QueryInterface anyway, so we can return earlier, before we ever
set up the AutoEntryScript.
Differential Revision: https://phabricator.services.mozilla.com/D61005
--HG--
extra : moz-landing-system : lando
It used to be that some XPIDL interfaces were allowed to be non-nsISupports,
and were only used to hold a bunch of constants. It appears that we've now
had enough de-COM work happen that there are no longer any, so we can remove
support for this.
Differential Revision: https://phabricator.services.mozilla.com/D61008
--HG--
extra : moz-landing-system : lando
It used to be that some XPIDL interfaces were allowed to be non-nsISupports,
and were only used to hold a bunch of constants. It appears that we've now
had enough de-COM work happen that there are no longer any, so we can remove
support for this.
Differential Revision: https://phabricator.services.mozilla.com/D61008
--HG--
extra : moz-landing-system : lando
The fields these methods deal with are not dead: they are just
interacted with via other means.
I found these via the code coverage report for XPCInlines.h.
Differential Revision: https://phabricator.services.mozilla.com/D60863
--HG--
extra : moz-landing-system : lando
This in turn requires fixing various other include hell / missing include
issues.
Differential Revision: https://phabricator.services.mozilla.com/D60337
--HG--
extra : moz-landing-system : lando
These are mochitests because there's currently no way to trigger a GC from WPT. I tried to do this with xpcshell tests but I couldn't get the pref to enable weak refs to work.
Differential Revision: https://phabricator.services.mozilla.com/D59375
--HG--
extra : moz-landing-system : lando
These are mochitests because there's currently no way to trigger a GC from WPT. I tried to do this with xpcshell tests but I couldn't get the pref to enable weak refs to work.
Differential Revision: https://phabricator.services.mozilla.com/D59375
--HG--
extra : moz-landing-system : lando
The previous patch was incorrect since by my logic mGCIsRunning should already have been true in AssertInvalidWrappedJSNotInTable. This ends up being false in two situations 1) during shutdown when the finalization callback that sets it has been removed and 2) when called during compacting GC.
This patch fixes the situation by setting it explicitly while we're inside WeakPointerZonesCallback and restoring the original value when we leave.
Differential Revision: https://phabricator.services.mozilla.com/D58818
--HG--
extra : moz-landing-system : lando
Because toSource is available to chrome code, we need to adjust some parts where toSource is missing because of content contexts.
We can remove most of these changes when we remove toSource everywhere.
Differential Revision: https://phabricator.services.mozilla.com/D58660
--HG--
extra : moz-landing-system : lando
XPCWrappedNative::SystemIsBeingShutDown() returns immediately if the
XPCWN isn't valid, so this check is not needed.
Differential Revision: https://phabricator.services.mozilla.com/D58566
--HG--
extra : moz-landing-system : lando
This function doesn't expected to be called while running inside of the GC and asserts. At the moment this happens inside XPCJSRuntime::AssertInvalidWrappedJSNotInTable which is called while destroying a nsXPCWrappedJS. We should probably just skip the assertions in this case.
Differential Revision: https://phabricator.services.mozilla.com/D58525
--HG--
extra : moz-landing-system : lando
Ideally this code would use JS::ValueType with a switch-statement and rely on
compiler exhaustiveness checking, but this is the safer patch.
Differential Revision: https://phabricator.services.mozilla.com/D56727
--HG--
extra : moz-landing-system : lando
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.
Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:
* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.
Differential Revision: https://phabricator.services.mozilla.com/D56440
--HG--
extra : moz-landing-system : lando
Bug 1603373 tightened up JS engine assertions around this, but that broke
Thunderbird tests.
Differential Revision: https://phabricator.services.mozilla.com/D57443
--HG--
extra : moz-landing-system : lando