As said in llvm coding standard else should not be used after interrupts statements.
It is my first time contribution for open source.
Differential Revision: https://phabricator.services.mozilla.com/D82743
Handle numbering systems similar to measurement units:
- Add a central list of all supported numbering systems in a yaml file.
- Verify these numbering systems are supported by ICU.
- Also verify ICU supports no additional simple numbering systems. (ECMA-402
should support all numbering systems with simple digit mappings defined in
CLDR.)
- Generate source and test files from this list of numbering systems.
Differential Revision: https://phabricator.services.mozilla.com/D81717
The change itself isn't important for us, because we don't use ICU's make-files,
but avoids confusion why additional changes were applied when running the update
script.
Differential Revision: https://phabricator.services.mozilla.com/D82545
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.
Depends on D77635
Differential Revision: https://phabricator.services.mozilla.com/D77634
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.
Depends on D77635
Differential Revision: https://phabricator.services.mozilla.com/D77634
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.
Depends on D77635
Differential Revision: https://phabricator.services.mozilla.com/D77634
test_collation.js uses nsICollation and nsICollationFactory from script, but
I would like to make it non-scriptable. Actually, it is only used from
xpcshell tests.
Differential Revision: https://phabricator.services.mozilla.com/D82310
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.
Depends on D77635
Differential Revision: https://phabricator.services.mozilla.com/D77634
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.
Depends on D77635
Differential Revision: https://phabricator.services.mozilla.com/D77634
Setting a key/value pair on the parent process message manager's `sharedData`
initiates a pending runnable that runs at **idle priority**. If the current
thread never gets a chance to idle, then those registry changes will never be
synchronized.
This patch adds an explicit flush so that `_synchronizeSharedData` does indeed
actually synchronize.
We replace the scalar `registerSource`, `updateSource`, and `removeSource` with
variants that accept arrays instead. This allows us to process multiple
registration changes while deferring the synchronization until the entire list
has been processed. The scalar variants were removed to future-proof against
perf issues.
Differential Revision: https://phabricator.services.mozilla.com/D81243
This removes a dependency on `pymake`, which is Python 2-only, and thoroughly unnecessary since we just use it to find assignments of the form `OBJECTS = ...`. We can replicate this logic by just isolating lines that begin with that literal string, and everything else can stay the same. This is definitionally more brittle than actually using a parser, but it works fine for now, and the original implementation wasn't significantly better (it didn't handle any form of dynamism, anything more complicated than a single unconditional assignment with a space-separated list of literal strings representing outputs, etc.)
Differential Revision: https://phabricator.services.mozilla.com/D79896