Whenever chrome JS code leaks, we leak the dynamic atom "[System
Principal]". This causes an assertion, which hangs the browser in
stack walking code for multiple minutes on OSX. As a bandaid, make
this atom static so it won't leak.
My first instinct is that it would make sense to use this new atom
directly in SystemPrincipal, but atoms are represented internally as a
kind of nsAString, but principal code uses nsACStrings, so you end up
with an extra conversion from 16-bit to 8-bit.
This atom is also going to be present in any process running chrome
JS, so this will save a little bit of memory.
Differential Revision: https://phabricator.services.mozilla.com/D26590
--HG--
extra : moz-landing-system : lando
Warn instead of asserting since it's possible for decoders to give us 0 by 0
frames here.
Differential Revision: https://phabricator.services.mozilla.com/D26612
--HG--
extra : moz-landing-system : lando
Refactored a couple of minor issues with JS StringBuffer, partly to prepare
it to handle the new JSString buffer arena.
1. There were public functions that were returning mutable references to
private members, making them not-really "private" at all. They are now
hidden and new API calls were added to provide needed functionality.
2. ExtractWellSized() now uses the buffer's policy to resize/free it instead
of directly calling JS alloc API
3. Changed FinishStringFlat to no longer take a reference to a StringBuffer
and a reference to a StringBuffer member
Differential Revision: https://phabricator.services.mozilla.com/D25706
--HG--
extra : moz-landing-system : lando
Replace the unaligned uint32_t index with the encoded double value. The
double values are already being copied again before use, so an unaligned
uint64_t load directly to double seems a more direct strategy. This
also avoids needed to manage the allocation of the consts table.
Differential Revision: https://phabricator.services.mozilla.com/D23396
--HG--
extra : moz-landing-system : lando
No need to build the match body if there are no generics. This should hopefully
save some work too.
Depends on D26289
Differential Revision: https://phabricator.services.mozilla.com/D26290
--HG--
extra : moz-landing-system : lando
I'm going to add a ToResolvedValue, and I don't want to add more copy-pasta.
This shouldn't change behavior.
Differential Revision: https://phabricator.services.mozilla.com/D26289
--HG--
extra : moz-landing-system : lando
ChromeUtils.import no longer pollute the global scope,
so we can switch to it and remove this ancient helper.
Depends on D26078
Differential Revision: https://phabricator.services.mozilla.com/D26079
--HG--
extra : moz-landing-system : lando
In bug 1517210, DevTools started sharing the same compartment than JSMs.
So we can no longer use a Debugger instance bound to jsdebugger.jsm as it
would run in the same compartment than DevTools code we want to inspect
from the allocation tracker.
Instead, we instantiate the Debugger from a custom Sandbox loaded
in a unique and distinct compartment.
Depends on D26077
Differential Revision: https://phabricator.services.mozilla.com/D26078
--HG--
extra : moz-landing-system : lando
Now that there is a shared head.js, the import-globals-from is done from there.
Differential Revision: https://phabricator.services.mozilla.com/D26077
--HG--
extra : moz-landing-system : lando
Unicode BCP 47 locale identifiers have stricter requirements for the Unicode ("-u-") and
tranformed content ("-t-") extension sequences.
- Keys in Unicode extensions must be of the form "alphanum alpha".
- Transformed content extensions need to be parsed following the `transformed_extensions`
syntax from UTS 35.
Differential Revision: https://phabricator.services.mozilla.com/D23542
--HG--
extra : moz-landing-system : lando
- Strict parsing for "u" and "t" extensions is not yet implemented.
- Canonicalisation per UTS 35 is also not yet implemented, so it still refers to BCP 47 tags.
Differential Revision: https://phabricator.services.mozilla.com/D23540
--HG--
extra : moz-landing-system : lando
Unicode BCP 47 locale identifiers don't support four letter language subtags.
Differential Revision: https://phabricator.services.mozilla.com/D23539
--HG--
extra : moz-landing-system : lando
Language tags only consisting of a private-use subtags are not allowed in Unicode
BCP 47 locale identifiers.
Differential Revision: https://phabricator.services.mozilla.com/D23538
--HG--
extra : moz-landing-system : lando
Irregular grandfathered language tags and regular grandfathered tags with
extlang-like subtags can't be parsed as Unicode BCP 47 locale identifiers, so
they now need to be rejected by the language tag parser.
Differential Revision: https://phabricator.services.mozilla.com/D23537
--HG--
extra : moz-landing-system : lando
Removed waitForNewTabEvent from browser/base/content/test/siteIdentity/head.js as it doesn't seem to be used anymore.
Differential Revision: https://phabricator.services.mozilla.com/D21868
--HG--
extra : moz-landing-system : lando