mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Gecko engine for Wine
f8aba5da46
======== https://hg.mozilla.org/integration/gaia-central/rev/9621115bda40 Author: Fabien Cazenave <fabien@cazenave.cc> Desc: Merge pull request #10709 from fabi1cazenave/l10nOptim-bug853933 Bug 853933 - Don't inline all locales as JSON in the HTML, r=ochameau ======== https://hg.mozilla.org/integration/gaia-central/rev/cf0c69f54763 Author: Fabien Cazenave <fabien@cazenave.cc> Desc: Bug 853933 - Don't inline all locales as JSON in the HTML Currently, in order to ensure that apps are translated before first paint, all l10n resources are included as one multi-locales JSON dictionary, which is serialized in an inline `<script>` element for each HTML document. This works fine when shipping few locales, but it can increase the document size quite badly for 60+ locales, thus delaying the startup time very significantly. This patch allows to support 60+ locales more easily by having: * one minimal JSON dictionary per locale in each HTML file; * one extensive JSON dictionary per locale in each webapp. The inline JSON dictionary is split on a per-locale basis (= one `<script>` node per supported locale) and only contains the l10n strings that are required to translate the HTML document: the "startup cost" of each locale becomes neglectable, and it removes the risk of high RAM consumption when parsing a giant multi-locale JSON at startup. All l10n resources that are not declared in the HTML document are concatenated in a single JSON dictionary per locale: this reduces the number of disk I/O to load l10n resources and does not increase the total disk size of each webapp. To enable this, this patch implements a `{{locale}}` quasi-litteral in the HTML markup that is used to declare l10n resources: <link rel="prefetch" type="application/l10n" href="/{{locale}}.json" /> where `{{locale}}` is replaced by the value of `navigator.language`. Note that this latter optimization is only interesting for apps that wait for the `localized` event to start. With the inline JSON dictionary for the declarative content and the `mozL10n.localize()` method, most apps could probably stop waiting for this `localized` event now. |
||
---|---|---|
accessible | ||
addon-sdk | ||
b2g | ||
browser | ||
build | ||
caps | ||
chrome | ||
config | ||
content | ||
db/sqlite3 | ||
docshell | ||
dom | ||
editor | ||
embedding | ||
extensions | ||
gfx | ||
hal | ||
image | ||
intl | ||
ipc | ||
js | ||
layout | ||
media | ||
memory | ||
mfbt | ||
mobile | ||
modules | ||
mozglue | ||
netwerk | ||
nsprpub | ||
other-licenses | ||
parser | ||
probes | ||
profile | ||
python | ||
rdf | ||
security | ||
services | ||
startupcache | ||
storage | ||
testing | ||
toolkit | ||
tools | ||
uriloader | ||
view | ||
webapprt | ||
widget | ||
xpcom | ||
xpfe | ||
xulrunner | ||
.gdbinit | ||
.gitignore | ||
.hgignore | ||
.hgtags | ||
aclocal.m4 | ||
Android.mk | ||
AUTHORS | ||
client.mk | ||
client.py | ||
CLOBBER | ||
configure.in | ||
LEGAL | ||
LICENSE | ||
mach | ||
Makefile.in | ||
moz.build | ||
mozilla-config.h.in | ||
README.txt |
An explanation of the Mozilla Source Code Directory Structure and links to project pages with documentation can be found at: https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure For information on how to build Mozilla from the source code, see: http://developer.mozilla.org/en/docs/Build_Documentation To have your bug fix / feature added to Mozilla, you should create a patch and submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at: http://developer.mozilla.org/en/docs/Creating_a_patch http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree If you have a question about developing Mozilla, and can't find the solution on http://developer.mozilla.org, you can try asking your question in a mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups are accessible on Google Groups, or news.mozilla.org with a NNTP reader.] You can download nightly development builds from the Mozilla FTP server. Keep in mind that nightly builds, which are used by Mozilla developers for testing, may be buggy. Firefox nightlies, for example, can be found at: ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/ - or - http://nightly.mozilla.org/