Instead of downloading a file first and then unpacking it, we would like to
fetch it into memory and then unpacking directly from there.
This saves writing the file first to disk, thus, saving on IO.
MozReview-Commit-ID: JdNGnxIYEvy
--HG--
extra : rebase_source : 73c280fd23f3066d04dd3af07ac443db77dfd6d0
Containing the Mercurial 3.9.1 version bump and the change to pin the
hg.mo fingerprint from a TC secret.
MozReview-Commit-ID: LVU7P0LqIvD
--HG--
extra : rebase_source : 8ad46e014ba9840c9972b51ea43e8ccf14492cf2
We just upgraded our run-time environment to Mercurial 3.9.
3.9 features a new [hostsecurity] config section and allows certificate
fingerprints to be defined using SHA-256 hashes (not just SHA-1).
A TaskCluster secret with the Mercurial 3.9 fingerprint format has
been added. This commit takes advantage of it.
MozReview-Commit-ID: 5NwJl9zOse2
--HG--
extra : rebase_source : fc985712d299242aec8f8fbc328eba8baca95508
curl and jq were previously used to fetch and parse the TC secret.
We now use Python for that. So remove the unused packages.
This reduces the Docker image size by ~10MB.
MozReview-Commit-ID: Nl7fC1aG7w
--HG--
extra : rebase_source : e1bfe76f0e2efd06c2e2e8a94f6c3fb3dc4c0d50
Mercurial 3.9 changes the default security settings to make Mercurial
secure by default. It is important for Firefox's automation to be
secure.
MozReview-Commit-ID: IF7Z74111hI
--HG--
extra : rebase_source : 3bc3cbe7688a8ecdd2593cbe202e456a649b49e1
Icons loaded from memory have already gone through the resizing process and have either
the requested size or are resized up to a limit. Without this check a small icon
could be resized multiple times until it matches the target size; even though the icon
is too small. In addition to that we would recycle a bitmap that might still be in use.
MozReview-Commit-ID: K51aBhBcAnj
--HG--
extra : rebase_source : 771c0a88b69e5d3688293ddf27955e01717c8931
The FaviconGenerator is the last class in the old favicons package. As this class is only used by the IconGenerator
let's move the code inside the new class and remove FaviconGenerator.
MozReview-Commit-ID: 7NsJRGdoUWv
--HG--
extra : rebase_source : 703b80560f47220d094de0049cd9b92f8cd524eb
The decoders are used by the code in the icons package exclusively. Let's move it
to the new package now.
MozReview-Commit-ID: AAybHpeA71V
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/favicons/decoders/FaviconDecoder.java => mobile/android/base/java/org/mozilla/gecko/icons/decoders/FaviconDecoder.java
rename : mobile/android/base/java/org/mozilla/gecko/favicons/decoders/ICODecoder.java => mobile/android/base/java/org/mozilla/gecko/icons/decoders/ICODecoder.java
rename : mobile/android/base/java/org/mozilla/gecko/favicons/decoders/IconDirectoryEntry.java => mobile/android/base/java/org/mozilla/gecko/icons/decoders/IconDirectoryEntry.java
rename : mobile/android/base/java/org/mozilla/gecko/favicons/decoders/LoadFaviconResult.java => mobile/android/base/java/org/mozilla/gecko/icons/decoders/LoadFaviconResult.java
extra : rebase_source : 3166604d46fcd4736404cc1aa69a98dfbd736072
Most of the code in the favicons package is now obsolete and can be
removed. Most of this code still exists in the icons package (in smaller
chunks).
MozReview-Commit-ID: 6J4pgd5doNt
--HG--
extra : rebase_source : fa04223a758483d8440167fb63fe852ea3bde3f8
This patch replaces the old favicon code with the new icon code
in the UI code.
MozReview-Commit-ID: 2YdDpYUhb0M
--HG--
extra : rebase_source : 1c07eebdd4d9d873040a60a19b2aa30efc712cb7
This patch does multiple things:
1) It restructures the icon code to follow a preparer, loader, processor pattern.
Instead of very long procedures we now have a lot of small components. This patch
includes 90+ tests for those components.
2) It replaces the database storage with the disk lru cache. We still keep the
tables around because we will still load from it as fallback to avoid needing
to migrate all data.
This patch is pretty big but a lot of it is moving code around and breaking it
into smaller chunks. A later commit will remove now obsolete components.
By creating a consistent mapping page URL -> icon URL -> icon data this change
fixes the linked bugs (bug 1269821 and bug 1271634).
MozReview-Commit-ID: 1nkrZn286Gv
--HG--
extra : rebase_source : e8d2902dc8553e43297e9e3f0fd96bf04f28ba3a
This patch adds the known and widely used disk LRU cache library by Jake Wharton [1].
It's a standalone version of the disk LRU cache found in the AOSP tree.
The goal is to use a flat file disk cache to avoid the overhead of storing blobs
in a database [2] (and some bugs like bug 1108084).
[1] https://github.com/JakeWharton/DiskLruCache
[2] https://wiki.mozilla.org/Performance/Avoid_SQLite_In_Your_Next_Firefox_Feature
MozReview-Commit-ID: 2ayN7SYVe4W
--HG--
extra : rebase_source : d24907e9ab5563999754bb1f554ed31e5c90d47d