118
edits
No edit summary |
No edit summary |
||
| Line 7: | Line 7: | ||
* IRC: [[IRC|irc.mozilla.org #mobile]] | * IRC: [[IRC|irc.mozilla.org #mobile]] | ||
== Groundwork == | == Getting ready == | ||
Before starting the project and maybe even before applying for GSoC get familiar with the codebase and how to contribute patches to Firefox for Android: | |||
* '''Build environment:''' Create a build environment for building Firefox for Android: [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build Simple Firefox for Android build] | |||
** A "front-end" build will be enough for most of the tasks and is much faster. However if you are going to edit C++ code you will need to setup a "back-end" build. | |||
* '''Write patches:''' To get familiar with the code base, the tools and creating patches, pick one of the mentor bugs that matches your skill set: [http://www.joshmatthews.net/bugsahoy/?mobileandroid=1&simple=1 Bugs Ahoy!] | |||
** Those bugs have a mentor assigned. The mentor will help you and answer your questions. | |||
== The project == | |||
=== Groundwork === | |||
* For downloading fonts at runtime we implemented a background service that uses a static catalog of downloadable content. [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1194338&hide_resolved=0 See dependency tree]. | * For downloading fonts at runtime we implemented a background service that uses a static catalog of downloadable content. [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1194338&hide_resolved=0 See dependency tree]. | ||
| Line 13: | Line 25: | ||
* Currently in development is a client that synchronizes the catalog of downloadable content from a Kinto server. [https://bugzilla.mozilla.org/show_bug.cgi?id=1201059 See Bug 1201059] | * Currently in development is a client that synchronizes the catalog of downloadable content from a Kinto server. [https://bugzilla.mozilla.org/show_bug.cgi?id=1201059 See Bug 1201059] | ||
== Project tasks == | === Project tasks === | ||
=== Preparation === | ==== Preparation ==== | ||
* Create a build without hyphenation dictionaries (MOZ_EXCLUDE_HYPHENATION_DICTIONARIES) | * Create a build without hyphenation dictionaries (MOZ_EXCLUDE_HYPHENATION_DICTIONARIES) | ||
| Line 21: | Line 33: | ||
* Create or find a test page that you can use to easily test if a hyphenation dictionary by a build (For testing later). | * Create or find a test page that you can use to easily test if a hyphenation dictionary by a build (For testing later). | ||
=== Main tasks === | ==== Main tasks ==== | ||
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1175555 Bug 1175555] - Exclude hyphenation dictionaries from builds via build flag - '''Already done''' | * [https://bugzilla.mozilla.org/show_bug.cgi?id=1175555 Bug 1175555] - Exclude hyphenation dictionaries from builds via build flag - '''Already done''' | ||
| Line 31: | Line 43: | ||
* Bug ??? - Add hyphenation dictionaries to online catalog of content in Kinto | * Bug ??? - Add hyphenation dictionaries to online catalog of content in Kinto | ||
=== Landing === | ==== Landing ==== | ||
* Bug ??? - Land your changes behind a Nightly flag | * Bug ??? - Land your changes behind a Nightly flag | ||
* Verify that Nightly behaves correctly and the hyphenation dictionaries are downloaded | * Verify that Nightly behaves correctly and the hyphenation dictionaries are downloaded | ||
* Bug ??? - Let your changes ride the trains | * Bug ??? - Let your changes ride the trains | ||
=== Code === | |||
The existing (Java) code for downloadable content can be found in the [https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/dlc org.mozilla.gecko.dlc package]. | |||
== Follow-up project == | |||
For a very experienced developer the hyphenation dictionaries project could be too small for a 3 month period. There's a follow-up project about adding support for downloading localization files at runtime ([https://bugzilla.mozilla.org/show_bug.cgi?id=945123 Bug 945123]). But this project contains much more unknowns and research tasks which makes it hard to estimate. | |||
== Bonus tasks == | == Bonus tasks == | ||
| Line 41: | Line 61: | ||
* There are various open follow-up bugs to improve the background service for downloading content as well as the sync client (Actual list of bugs TBD). | * There are various open follow-up bugs to improve the background service for downloading content as well as the sync client (Actual list of bugs TBD). | ||
== | == FAQ == | ||
* '''What are hyphenation dictionaries?''' | |||
** Hyphenation dictionaries define how words in a specific language can be broken in parts, see [https://en.wikipedia.org/wiki/Hyphen#Separating Wikipedia]. [https://dxr.mozilla.org/mozilla-central/search?q=path%3Adic+path%3Ahyphenation&redirect=false&case=true Those are the hyphenation dictionaries in the tree]. | |||
edits