Open Bug 1433813 Opened 7 years ago Updated 1 year ago

WebExtension's page does not have favicon

Categories

(GeckoView :: Extensions, defect, P5)

ARM
Android
defect

Tracking

(Not tracked)

People

(Reporter: CoolCmd, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 Build ID: 20180118215408 Steps to reproduce: WebExtension contains index.html and 32.png. Navigate to moz-extension://web-extension-id/index.html Actual results: Page does not have favicon. The following lines fail: <link rel="icon" type="image/png" sizes="32x32" href="32.png"> <link rel="icon" type="image/png" sizes="32x32" href="/32.png"> <link rel="icon" type="image/png" sizes="32x32" href="moz-extension://.../32.png"> <link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,..."> This line works, but it useless for extensions: <link rel="icon" type="image/png" sizes="32x32" href="https://..."> Expected results: Page should have an favicon, like desktop Firefox.
OS: Unspecified → Android
Hardware: Unspecified → ARM
[triage] Add-on related: moving to add-ons. If this component is incorrect, feel free to put it back in favicons.
Component: Favicon Handling → Add-on Manager
Component: Add-on Manager → WebExtensions: Android
Product: Firefox for Android → Toolkit
Version: Firefox 57 → 57 Branch
Flags: needinfo?(lgreco)
Priority: -- → P3
I took a look to how the favicons are rendered on Firefox for Android, and I confirm my initial guess: on Firefox for Android the favicons are rendered by the Java/Android part of the Application (and not by Gecko as it happens on Firefox Desktop), in particular the favicon is implemented by the following Java class: - https://searchfox.org/mozilla-central/rev/b9f1a4ecba48b2d8c686669e32d109c40e927b48/mobile/android/base/java/org/mozilla/gecko/widget/FaviconView.java This Java class renders an icon loaded using a number of strategies, provided by the classes from the `mobile/android/base/java/org/mozilla/gecko/icons/loader` dir: - https://searchfox.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/icons/loader - https://searchfox.org/mozilla-central/rev/b9f1a4ecba48b2d8c686669e32d109c40e927b48/mobile/android/base/java/org/mozilla/gecko/icons/IconRequestExecutor.java I've not yet debugged the issue in more detail, e.g. to check what is actually happening on the Java side when the tab has a moz-extension url, but by briefly looking at the code of these icon loaders it seems that none of them is currently going to be able to retrieve an icon given the moz-extension url of the tab.
Flags: needinfo?(lgreco)
Product: Toolkit → WebExtensions
extensions for Android - an experimental thing that is not supported, and no one fixes bugs?

In Fenix, A-C is currently responsible for fetching favicons. That is done with a helper extension.

In order to fix this, GeckoView needs to offer first-class support for getting favicons. If still through an extension API, then it could be with bug 1414498.

A-C's helper extension: https://github.com/mozilla-mobile/android-components/tree/91bf4253239054b79c004ed2fd52a98e6c8d9a91/components/browser/icons/src/main/assets/extensions/browser-icons
A-C feature implementation: https://github.com/mozilla-mobile/android-components/tree/91bf4253239054b79c004ed2fd52a98e6c8d9a91/components/browser/icons

Component: Android → Extensions
Priority: P3 → P5
Product: WebExtensions → GeckoView
See Also: → 1414498
Version: 57 Branch → unspecified
Severity: normal → S3
Status: UNCONFIRMED → NEW
Ever confirmed: true
You need to log in before you can comment on or make changes to this bug.