gecko-dev/browser/modules
Dave Townsend 9cbfdc7c2d Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan
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

--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 : 53dc0c682bf61d5135fbca172ac5238b414a1771
2018-06-04 12:53:55 -07:00
..
test Bug 1461439: Enable browser error telemetry on non-Nightly channels. r=Gijs 2018-06-05 11:15:54 -07:00
AboutNewTab.jsm Bug 1448918 - Create about:welcome page in preparation for firstrun migration. r=dmose 2018-04-23 15:47:57 -04:00
AsyncTabSwitcher.jsm Bug 1176019 - Don't let cache interfere with tab warming r=mconley 2018-05-15 09:31:13 -07:00
AttributionCode.jsm
BlockedSiteContent.jsm Bug 1448330 - Make nsIURI.clone a private method r=mayhemer 2018-06-14 13:05:43 +02:00
BrowserErrorReporter.jsm Bug 1461439: Enable browser error telemetry on non-Nightly channels. r=Gijs 2018-06-05 11:15:54 -07:00
BrowserUsageTelemetry.jsm Bug 1465704 - Add follow_urlbar_link event telemetry for Savant Shield study; r=adw 2018-06-06 03:51:01 -07:00
BrowserWindowTracker.jsm Bug 1466071: Part 1: Prevent orderedWindows from changing while iterating. r=mikedeboer 2018-06-05 13:47:58 -07:00
ContentClick.jsm Bug 1463738 - Remove the Bookmark description UI. r=dao 2018-05-23 17:15:09 +01:00
ContentCrashHandlers.jsm
ContentLinkHandler.jsm Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan 2018-06-04 12:53:55 -07:00
ContentMetaHandler.jsm Bug 1464548: Part 3 - Update callers to use defineLazyGlobalGetters. r=mccr8 2018-05-25 17:02:29 -07:00
ContentObservers.js
ContentSearch.jsm Bug 1437942 - Remove search engines from langpacks. r=adw 2018-06-04 16:45:50 -05:00
ContentWebRTC.jsm
ContextMenu.jsm Bug 1466379 - fall back to currentURI in case images are blocked, r=bz,dao 2018-06-07 16:20:29 +01:00
ExtensionsUI.jsm Bug 1456243: Remove dead prompt-for-distribution-add-ons code. r=aswan 2018-05-17 18:56:50 -07:00
Feeds.jsm Bug 1463738 - Remove the Bookmark description UI. r=dao 2018-05-23 17:15:09 +01:00
FormSubmitObserver.jsm Bug 1461247 - Only load FormSubmitObserver.jsm when an invalidformsubmit notification happens. r=MattN 2018-05-25 14:22:13 -03:00
FormValidationHandler.jsm
LaterRun.jsm
LightWeightThemeWebInstallListener.jsm Bug 1462673 - Only load LightWeightThemeWebInstallListener when necessary. r=mconley 2018-05-25 14:22:14 -03:00
moz.build Bug 1446101 - Part 2: Convert the all tabs panel to photon styles r=dao 2018-06-06 15:48:21 -05:00
NetErrorContent.jsm Bug 1464552: Part 1 - Split net and cert error utils into separate JSM. r=felipe 2018-05-25 17:50:22 -07:00
OpenInTabsUtils.jsm
PageActions.jsm
PageInfoListener.jsm Bug 1461444 - Only load the PageInfoListener content code when needed. r=johannh 2018-05-25 14:22:13 -03:00
PageStyleHandler.jsm Bug 1466256 - Fix how PageStyleHandler.jsm gets the message manager. r=Gijs 2018-06-18 15:11:00 -03:00
PermissionUI.jsm Bug 1461656 - Ask permission when site wants to autoplay media. r=flod,johannh 2018-05-18 12:54:33 +01:00
PingCentre.jsm Bug 1464548: Part 3 - Update callers to use defineLazyGlobalGetters. r=mccr8 2018-05-25 17:02:29 -07:00
PluginContent.jsm Bug 1464548: Part 3 - Update callers to use defineLazyGlobalGetters. r=mccr8 2018-05-25 17:02:29 -07:00
ProcessHangMonitor.jsm
ReaderParent.jsm
RemotePrompt.jsm
Sanitizer.jsm Bug 1469518 - Ensure history sanitization for "today" reaches all the way back to exactly midnight. r=mak 2018-06-20 12:34:02 +01:00
SavantShieldStudy.jsm Bug 1465694 - Add tab event telemetry for Savant Shield study; r=dao 2018-06-06 03:44:48 -07:00
SchedulePressure.jsm
SiteDataManager.jsm Bug 1450448 - Correctly handle non-initialized appCache in site data preferences. r=Gijs 2018-05-15 22:02:33 +02:00
SitePermissions.jsm Bug 1461656 - Ask permission when site wants to autoplay media. r=flod,johannh 2018-05-18 12:54:33 +01:00
TabsList.jsm Bug 1446101 - Part 4: Remove old alltabs code, rename alltabs-popup to newtab-popup r=dao 2018-06-06 16:34:49 -05:00
ThemeVariableMap.jsm Bug 1467423 - Make findbar textbox focused state follow theme properties. r=jaws 2018-06-19 15:25:49 +01:00
TransientPrefs.jsm
webrtcUI.jsm Bug 1456899 - Consider the page URI when checking WebRTC permissions in webrtcUI.jsm. r=nhnt11 2018-05-08 15:31:49 +02:00
Windows8WindowFrameColor.jsm
WindowsJumpLists.jsm Bug 1458910 - Merge nsPIPlacesDatabase into nsINavHistoryService. r=standard8 2018-05-10 10:39:12 +02:00
WindowsPreviewPerTab.jsm
ZoomUI.jsm