UTS #35 (version 38) overhauled the language tag canonicalisation algorithm
and CLDR 38 also added new alias entries to replace some deprecated language
subtags with a new, preferred form.
Overview of canonicalisation changes:
- Script aliases must now be processed. (Script alias data was already present
in CLDR, but the previous canonicalisation algorithm never processed it.)
- Sign language canonicalisation was added.
- Grandfathered tags are now handled like any other tag. It is no longer
required to perform exact matches, but instead individual subtags are
compared. For example both "art-lojban" and "art-ZZ-lojban" are now
canonicalised to "jbo" resp. "jbo-ZZ".
Changes in make_intl_data.py:
- Split `writeMappingsBinarySearchBody` from `writeMappingsBinarySearch` so it
can be used in the new `writeSignLanguageMappingsFunction` function.
- `writeMappingsBinarySearchBody` splits the `name` parameter in two distinct
parameters `source_name` and `target_name`. This is also needed for the new
`writeSignLanguageMappingsFunction` function.
- Change `writeVariantTagMappings` to allow no replacements.
- For example the alias entry `<languageAlias type="und_bokmal" replacement="und">`
removes the "bokmal" variant subtags, but doesn't add any replacement tags.
- Replace "grandfathered" with "legacy", because UTS and CLDR no longer use
that term.
- `readSupplementalData` was changed to collect all alias rules into a single
dict. This matches how the new UTS #35 canonicalisation algorithm is
specified. Later they are split into individual dictionaries for each subtag.
Now that we no longer need to support old Python versions, we can use newer
features like format strings. I've used them exclusively in new code and also
replaced other `str.format()` calls in functions which were modified in this
patch.
Differential Revision: https://phabricator.services.mozilla.com/D101398
The two ICU bugs (ICU-10220 and ICU-12345) have been resolved and it's now no
longer necessary to call `uloc_addLikelySubtags` before calling
`uloc_minimizeSubtags`.
Drive-by change:
- Replaced `strlen` with `std::char_traits<char>::length`.
Differential Revision: https://phabricator.services.mozilla.com/D101396
builtin/TestingFunctions.cpp:
`ucal_getHostTimeZone()` has been promoted to "stable" in ICU 68, so we can
remove the `ifndef U_HIDE_DRAFT_API` guard.
intl/ListFormat:
`UListFormatter{Type,Width}` were also promoted to "stable" in ICU 68. This
allows to enable "type" and "style" options for `Intl.ListFormat` by default.
Differential Revision: https://phabricator.services.mozilla.com/D101395
Updates the numbering and measuring unit systems data to CLDR 38 by running
`make_intl_data.py numbering` and `make_intl_data.py units`.
Differential Revision: https://phabricator.services.mozilla.com/D101392
Update the patch from bug 1614941, because CLDR 38 adds its own patterns for
"MMMMd" and "yMMMM", which both conflict with our customised patterns. The
customised patterns were updated per the discussion in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1614941#c32>.
Remove the patches from bug 1433303 and bug 1534160. Both are no longer needed,
because they've been integrated into upstream.
Differential Revision: https://phabricator.services.mozilla.com/D101365
This adds the following tasks on central:
+test-linux1804-64-asan-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-linux1804-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-linux1804-64-shippable-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-macosx1015-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-macosx1015-64-shippable-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-windows10-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-windows10-64-shippable-qr/opt-mochitest-webgl1-core-fis-gli-e10s
And the following tasks on autoland:
+test-linux1804-64-asan-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-linux1804-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-linux1804-64-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-macosx1015-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-macosx1015-64-qr/opt-mochitest-webgl1-core-fis-gli-e10s
+test-windows10-64-qr/debug-mochitest-webgl1-core-fis-gli-e10s
+test-windows10-64-qr/opt-mochitest-webgl1-core-fis-gli-e10s
Differential Revision: https://phabricator.services.mozilla.com/D116832
This adds the set of macosx1015-qr tests to ccov in the full taskgraph (and
removes the 1014 set which is just TV). Since these task weren't running
anywhere it has no impact on target task graphs.
I didn't bother testing on try since they aren't running there anyway. So have
no idea if this change introduces new failures. But if we cared about that we
would be running them ;).
Differential Revision: https://phabricator.services.mozilla.com/D116395
The methods is replaced by a helper.
Some tests were using testActor.hasNode as
a way to check if a frame switch was successful;
for those we check the markup instead.
Depends on D116692
Differential Revision: https://phabricator.services.mozilla.com/D116818
We currently allow software drivers such as `llvmpipe` to run HW-WR -
in nightly and apparently even in release.
Explicitly make these drivers always use SW-WR instead.
While on it, improve our detection for software drivers in glxtest.
This may become handy for new software drivers such as zink+lavapipe.
Differential Revision: https://phabricator.services.mozilla.com/D116771
This patch implements the sponsor level blocking for the sponsored Top Sites.
When a sponsored top site gets dismissed, Firefox will extract the sponsor (hostname) out of the URL, and persist it to the pref `browser.topsites.blockedSponsors` as a JSON array. When Firefox fetches the sponsored tiles from Contile again, it will filter all the tiles whose sponsor has been blocked before.
Differential Revision: https://phabricator.services.mozilla.com/D116413
Allow creating a correct environment coordinate for a private brand, and create
the machinery (GetAliasedDebugVar) required to traverse the environment to get
to said brand.
Differential Revision: https://phabricator.services.mozilla.com/D114549
This ensures that we have access to static methods in Debugger.frame.evalInFrame;
If we don't close over, then the debugger seems to return undefined when trying
to load the private binding off of the class, which then causes CheckPrivateField
to assert.
Differential Revision: https://phabricator.services.mozilla.com/D116178
Bug 1711610 moved `AvailableMemoryTracker::Init()` from `NS_InitXPCOM` to `XRE_mainRun`,
but it caused memory degradation because `AvailableMemoryTracker` was no longer initialized
in the child processes.
I made that part for `nsAvailableMemoryWatcher` to cache the pref value in the earlier design,
but it's not needed at all in the current design because `nsAvailableMemoryWatcher` loads
a mirror value every time.
This patch reverts `AvailableMemoryTracker::Init()` back to `NS_InitXPCOM`.
Differential Revision: https://phabricator.services.mozilla.com/D116742
I think I see why now the 90% check of bug 1707560 was there, to prevent situations like this. But that bug fixed a real problem so we want to make a forward fix of this issue.
The problem happens when we take a tall element and change our rect to have the same aspect ratio as the composited area. We center the new rect on the tap point, so unless the cursor is in he center of the screen the new rect will be out of the composited area. This is fine if we actually zoom, but if we are already zoomed it will just result in scrolling, which we do not want. We want to zoom out in this situation.
Since ZoomToRect performs any scrolling and zooming to zoom to the rect we can just do that scrolling ourselves and give the two rects a common origin and then decide if we are already zoomed in as far as we can for this tap point.
Differential Revision: https://phabricator.services.mozilla.com/D116367
Expand XDG_RUNTIME_DIR in ExpandUnveilPath, default to ~/.cache, and
create the dconf service-db temp dir under this dir before unveil().
Differential Revision: https://phabricator.services.mozilla.com/D116562
This helps track all navigations, including the cross process navigation
and navigation with JSWindowActor based targets.
With work from bug 1702511, this also helps clearing at the precise right time.
Differential Revision: https://phabricator.services.mozilla.com/D115818
This helps clearing the netmonitor it all navigation, including the cross process navigation
and navigation with JSWindowActor based targets.
With work from bug 1702511, this also helps clearing at the precise right time.
Note that nothing special is being done for the initial document request,
but if we need to we can use NETWORK_EVENT's isNavigationRequest boolean
to help make it work.
Differential Revision: https://phabricator.services.mozilla.com/D116032
This won't necessarily be true when using an external thread pool.
The maximum number of Wasm tasks is now limited by the number of cores though.
Differential Revision: https://phabricator.services.mozilla.com/D116620