gecko-dev/intl/l10n
Nika Layzell 3e323b7d7a Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio
This patch contains changes to moz_task to improve it's support for
async execution on multiple threads. Unlike the previous executor
implementation, this new implementation reduces the amount of unsafe
code substantially by depending on the async-task crate
(https://crates.io/crates/async-task) for the core task implementation.
This adds a few additional features:

 * Both local (no Send bound) and non-local (with Send bound) execution support,
 * Support for spawning on arbitrary nsIEventTargets or the background task pool,
 * Returned Task objects from runnables which may be .await-ed on or detach()-ed,
 * Support for spawning with the NS_DISPATCH_EVENT_MAY_BLOCK flag set,
 * Automatic use of NS_DISPATCH_AT_END when required,
 * Support for specifying the runnable priority for runnables.

There are also some correctness improvements, and exposed a better API
for dispatching normal runnable functions to background threads.

After these changes the TaskRunnable API should no longer be necessary.
It is re-implemented on top of the executor and kept in-place to avoid
rewriting all consumers.

Differential Revision: https://phabricator.services.mozilla.com/D130705
2021-12-07 20:01:41 +00:00
..
docs Bug 1714788 - doc: do not provide the language if the code isn't valid r=firefox-source-docs-reviewers,championshuttler DONTBUILD 2021-11-16 07:59:48 +00:00
rust Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio 2021-12-07 20:01:41 +00:00
test Bug 1742106 - Add basic C++ Localization gtests. r=nordzilla,eemeli,emilio 2021-11-22 21:57:34 +00:00
FileSource.cpp Bug 1642415 - Use metasource in FileSource; r=platform-i18n-reviewers,extension-reviewers,gregtatum,zombie 2021-09-22 18:16:07 +00:00
FileSource.h Bug 1642415 - Use metasource in FileSource; r=platform-i18n-reviewers,extension-reviewers,gregtatum,zombie 2021-09-22 18:16:07 +00:00
FluentBindings.h Bug 1560038 - Add FluentBundle. r=emilio 2020-03-11 15:37:39 +00:00
FluentBundle.cpp Bug 1719696 - Create a components bag abstraction for mozilla::intl::DateTimeFormat; r=anba,platform-i18n-reviewers,dminor 2021-09-13 20:52:59 +00:00
FluentBundle.h Bug 1613705 - [localization] part2: Switch Localization class to use localization-ffi. r=emilio,nika 2021-08-03 16:25:10 +00:00
FluentResource.cpp Bug 1672317 - [l10nfilesource] part3: Introduce L10nFileSource backed by l10nregistry-rs. r=nika,emilio 2021-07-29 21:30:25 +00:00
FluentResource.h Bug 1672317 - [l10nfilesource] part3: Introduce L10nFileSource backed by l10nregistry-rs. r=nika,emilio 2021-07-29 21:30:25 +00:00
FluentSyntax.jsm
L10nRegistry.cpp Bug 1642415 - Add metasource to L10nFileSourceDescriptor; r=platform-i18n-reviewers,gregtatum 2021-09-22 18:16:08 +00:00
L10nRegistry.h Bug 1613705 - [localization] part3: Introduce passing Registry to Localization to replace BundleGenerator argument. r=emilio,nika 2021-08-03 16:25:11 +00:00
Localization.cpp Bug 1739143 - Capture DOM L10n initial translation and mutations rejections and report to console. r=nordzilla 2021-11-10 23:40:43 +00:00
Localization.h Bug 1563128 - Handle broken l10n-args gracefully. r=nordzilla 2021-11-16 18:28:26 +00:00
LocalizationBindings.h Bug 1613705 - [localization] part1: Introduce localization-ffi bindings for fluent-fallback. r=emilio,nika 2021-08-03 16:25:10 +00:00
README Bug 1613705 - [localization] part10: Remove Localization.jsm. r=platform-i18n-reviewers,dminor 2021-08-03 16:25:14 +00:00
RegistryBindings.h Bug 1660392 - [l10nregistry] part2: Add L10nRegistry WebIDL backed by l10nregistry-rs. r=nika,emilio 2021-07-30 16:47:47 +00:00
moz.build Bug 1742106 - Add basic C++ Localization gtests. r=nordzilla,eemeli,emilio 2021-11-22 21:57:34 +00:00

README

The content of this directory is partially sourced from the fluent.js project.

The following files are affected:
 - FluentSyntax.jsm

At the moment, the tool used to produce those files in fluent.js repository, doesn't
fully align with how the code is structured here, so we perform a manual adjustments
mostly around header and footer.