forked from mirrors/gecko-dev
This modernizes an old part of the build system to not require build-time localization at all. That's generally preferable. The most significant changes to the in-product functionality is to make import localize HTML so that we can use Fluent's `data-l10n-id`. The locale used is the user's current locale. This is different than the existing approach, which always uses the build-time (repack) locale. I believe this is a strictly superior user experience and it may lead to future improvements where-in the default bookmarks become truly dynamic and vary with the user's chosen locale rather than being point-in-time decisions. I tried to restrict these changes to only applen when we import the default bookmarks, but I think the various layers of flags no longer achieve this restriction in practice and the formatting and localization will apply to all imported `bookmarks.html` files. Since we don't anticipate (nor ourselves write) these new things in (respectively, to) `bookmarks.html`, and the file is already user-controlled, I don't think this exposes any meaningful change in functionality (or in security surface). Some notes: 1) There's no migration of `.inc` -> `.ftl` because this is the lone `.inc` file. 2) I elected to prefix all strings with `default-bookmarks-`, since the existing names were very short and likely to collide (now or in the future). 3) I elected to change the HTML file name for easier searching. 4) Since the `default-bookmarks.html` file is product-specific and the existing tests are in `toolkit/`, I elected to not test the file directly in automation. 5) We removed the explicit locale (or equivalent `%LOCALE%`) since Mozilla properties will redirect to the appropriate language automatically. Differential Revision: https://phabricator.services.mozilla.com/D135816 |
||
|---|---|---|
| .. | ||
| content | ||
| tests | ||
| .eslintrc.js | ||
| 360seMigrationUtils.jsm | ||
| ChromeMacOSLoginCrypto.jsm | ||
| ChromeMigrationUtils.jsm | ||
| ChromeProfileMigrator.jsm | ||
| ChromeWindowsLoginCrypto.jsm | ||
| components.conf | ||
| EdgeProfileMigrator.jsm | ||
| ESEDBReader.jsm | ||
| FirefoxProfileMigrator.jsm | ||
| IEProfileMigrator.jsm | ||
| jar.mn | ||
| MigrationUtils.jsm | ||
| moz.build | ||
| MSMigrationUtils.jsm | ||
| nsIBrowserProfileMigrator.idl | ||
| nsIEHistoryEnumerator.cpp | ||
| nsIEHistoryEnumerator.h | ||
| nsIKeychainMigrationUtils.idl | ||
| nsKeychainMigrationUtils.h | ||
| nsKeychainMigrationUtils.mm | ||
| nsWindowsMigrationUtils.h | ||
| ProfileMigrator.jsm | ||
| SafariProfileMigrator.jsm | ||