Open Bug 1194338 (downloadable-fonts) Opened 5 years ago Updated 2 years ago

[meta] Fennec support for downloadable fonts


(Firefox for Android :: General, defect)

Not set




(Reporter: rnewman, Unassigned, Mentored)


(Depends on 2 open bugs, Blocks 3 open bugs)


(Keywords: meta)

This is a long story.

In Bug 1063868 we made it possible to exclude Clear Sans from the build. This drops our initial APK size by 2.75MB.

But we still want to deliver those fonts to most users, if they have the space.

This bug is the first stab at Fennec 'DLC', soon to be followed by Bug 945123 and Bug 1095719.

We chose fonts precisely because we always want to download them.

Work will probably proceed as follows:

0. Verify that our app is usable on a range of Android versions with no fonts at all.

1. Figure out how to package fonts separately so that we can install them alongside the build. This will get reftests working even if the fonts aren't in our APK.

2. Optional: turn on font exclusion for constrained builds! Hooray for Gingerbread!

3. Build a small chunk of code, probably in an Android service, to download fonts from a CDN into that 'alongside' location. This takes some care: we need to worry about captive portals, MITM, cert pinning, filesystems being full, memory pressure notifications, retry/interruption, etc.

Take a look at the Updater code and some of our background services for inspiration.

4. Trigger that code behind the first-run experience. Exactly when and how depends on how bad things look without our fonts, and how we can signal to Gecko that the fonts are available after download.

5. Implement a simple package registry on the device. This keeps track of which versions of the fonts are installed, allows us to check hashes, and update when necessary. This will be where we track all DLC; for now just fonts.

6. Implement a simple package service client. This pulls down changes into that registry, allowing the client to make decisions about when to download new content.

7. Thoroughly test on Nightly, and eventually let this ride the trains.

You might notice that Bug 648548 exists. Why is this a different bug?

1. No UI.
2. This is part of our stock assets, not an optional in-line content feature.
3. This is a generalized first step towards downloading much more stuff.
This looks like a main work bug, so I removed "[meta]".
tracking-fennec: ? → 44+
Summary: [meta] Fennec support for downloadable fonts → Fennec support for downloadable fonts
(In reply to Mark Finkle (:mfinkle) from comment #1)
> This looks like a main work bug, so I removed "[meta]".

Actually I was planning to add more sub bugs for the specific tasks as I start to work on them. :)
Summary: Fennec support for downloadable fonts → [meta] Fennec support for downloadable fonts
Depends on: 1210385
Meta bugs don't need to track a release.
tracking-fennec: 44+ → ---
I do not need to be assigned to the meta bug.
Alias: downloadable-fonts
Assignee: s.kaspari → nobody
Mentor: s.kaspari
Depends on: 1260485
Blocks: fennec-dlc
No longer depends on: fennec-dlc
Keywords: meta
You need to log in before you can comment on or make changes to this bug.