gecko-dev/browser
Dave Townsend d8b7fb22e3 Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy
Summary:
This moves the load of favicons into the content process. We use the same logic
for finding favicons (based on waiting until none have shown up for a short
time) but then load the favicon and convert it to a data uri which we then
dispatch to the parent process. Along the way this fixes asssociating the load
with the tab for WebExtension and devtools, fixes CSP usage for the load, fixes
expiry detection of the favicon and stops us from loading the same resource
twice.

This change also merges the prefs browser.chrome.site_icons and
browser.chrome.favicons leaving just the former controlling favicon loading. It
adds the pref browser.chrome.guess_favicon to allow disabling guessing where
a favicon might be located for a site (at <hostname>/favicon.ico). This is
mainly to allow disabling this in tests where those additional yet automatic
requests are uninteresting for the test.

There are multiple clean-ups that can follow this but this is a first step along
that path.

MozReview-Commit-ID: E0Cs59UnxaF

Reviewers: mak

Tags: #secure-revision

Bug #: 1453751

Differential Revision: https://phabricator.services.mozilla.com/D1672
Differential Revision: https://phabricator.services.mozilla.com/D1673
Differential Revision: https://phabricator.services.mozilla.com/D1674
Differential Revision: https://phabricator.services.mozilla.com/D1850
Differential Revision: https://phabricator.services.mozilla.com/D1869

--HG--
rename : browser/base/content/test/general/browser_bug408415.js => browser/base/content/test/favicons/browser_bug408415.js
rename : browser/base/content/test/general/browser_bug550565.js => browser/base/content/test/favicons/browser_bug550565.js
rename : browser/base/content/test/general/browser_favicon_change.js => browser/base/content/test/favicons/browser_favicon_change.js
rename : browser/base/content/test/general/browser_favicon_change_not_in_document.js => browser/base/content/test/favicons/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/general/browser_subframe_favicons_not_used.js => browser/base/content/test/favicons/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon1.ico
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon2.ico
rename : browser/base/content/test/general/file_bug970276_popup1.html => browser/base/content/test/favicons/file_bug970276_popup1.html
rename : browser/base/content/test/general/file_bug970276_popup2.html => browser/base/content/test/favicons/file_bug970276_popup2.html
rename : browser/base/content/test/general/file_favicon_change.html => browser/base/content/test/favicons/file_favicon_change.html
rename : browser/base/content/test/general/file_favicon_change_not_in_document.html => browser/base/content/test/favicons/file_favicon_change_not_in_document.html
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_generic_favicon.ico
rename : browser/base/content/test/general/file_with_favicon.html => browser/base/content/test/favicons/file_with_favicon.html
extra : rebase_source : 6372b2681a59d267f966e9fa2ca9a54e3ff0cea0
extra : intermediate-source : b11aa832c41ac5beef9065f804d11fb7c9887990
extra : source : 638eb8a41245f6d9932861afda21edd5e0b2618a
2018-06-28 16:06:09 -07:00
..
app Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy 2018-06-28 16:06:09 -07:00
base Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy 2018-06-28 16:06:09 -07:00
branding Bug 1454610 - Restore PNG density metadata on DMG backgrounds r=dolske 2018-06-11 14:11:53 -07:00
components Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy 2018-06-28 16:06:09 -07:00
config Bug 1470079 - Add fuzzing coverage build to taskcluster r=marco 2018-06-24 18:48:52 -07:00
docs Bug 1451351 - Move obsolete documentation to subfolder. r=janerik 2018-05-06 14:33:10 +09:00
extensions Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-28 01:12:18 +03:00
fonts Bug 1358240 - Replace EmojiOne with Twemoji, r=jfkthame, timdream 2018-03-08 18:23:19 -06:00
installer Backed out changeset 9aa9b21d0108 (bug 1458917) for android reftest failures @ mozilla::net::nsSocketTransport::InitiateSocket on a CLOSED TREE 2018-06-28 15:47:07 +03:00
locales Bug 1365626 - Remove View MathML Source feature. r=mconley 2018-06-28 20:45:31 +00:00
modules Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy 2018-06-28 16:06:09 -07:00
themes Bug 1421433 - Load the "global.css" and "browser.css" skin stylesheets earlier. r=dao 2018-06-28 19:10:36 +01:00
tools/mozscreenshots Bug 1469872 - update bugzilla products and components in moz.build files: devtools. r=nalexander 2018-06-20 21:34:40 +03:00
.eslintrc.js Bug 1436389 - Update complexity rules to adapt for the algorithm in the new ESLint. r=mossop 2018-02-07 16:16:09 +00:00
app.mozbuild
build.mk Bug 1436662: Package translated uninstaller; r=pike,mshal 2018-04-16 12:49:53 -06:00
confvars.sh Bug 1468362: Remove ADDON_SINGING buildconfig setting. r=aswan 2018-06-12 13:56:58 -04:00
defs.mk
LICENSE
Makefile.in
moz.build Bug 1420908: Remove telemetry experiments. r=gfritzsche 2018-04-03 15:17:13 -07:00
moz.configure