Closed Bug 1741595 Opened 4 years ago Closed 4 years ago

Remove about:plugins on Android

Categories

(Toolkit :: General, defect, P3)

Desktop
All
defect

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: Gijs, Assigned: Gijs)

References

Details

Attachments

(1 file)

Fun rabbithole from reviewing the patch from bug 1733495.

about:plugins exists on Android. It is registered in docshell, the HTML, JS and CSS are shipped in toolkit, and the page loads in browser - but it's completely blank. What gives? That's kind of strange right?

Well, it turns out that the HTML file is basically mostly empty, and everything depends on the plugins.js script, the relevant bit of which looks like this:

/* JavaScript to enumerate and display all installed plug-ins

 * First, refresh plugins in case anything has been changed recently in
 * prefs: (The "false" argument tells refresh not to reload or activate
 * any plug-ins that would be active otherwise.  In contrast, one would
 * use "true" in the case of ASD instead of restarting)
 */
navigator.plugins.refresh(false);

RPMSendQuery("RequestPlugins", {}).then(aPlugins => {

Huh, fun, what's that "RequestPlugins" thing?

Well, it's some IPC. We go ask the parent process about plugins. On a good day we end up in AboutPluginsParent.

On Android, apparently we don't have good days because that actor lives in browser/ and isn't shipped. So we sling the "RequestPlugins" message into the proverbial ether, and then nothing happens. A void, no answers, endless sadness, etc.

Ways forward would seem to include:

  1. unship all this on Android and make it explicit it doesn't exist and we don't care about it
  2. move the browser actor into toolkit (all its functionality is probably toolkit-compatible).

I think in the past we used to support flash on android, but we've not done that for donkeys. On desktop we still expose some EME/DRM-related stuff on about:plugins, but I'm pretty sure that we don't use those on Android (Bryce, am I right?). So I'm leaning to the "burn with fire" option (when don't I, really...). Less gunk on android means smaller pkg size which makes everyone happy - right? Agi, does that sound right?

Flags: needinfo?(bvandyk)
Flags: needinfo?(agi)

Given that on desktop the information on about:plugins is also available via the about:addons page's "Plugins" view, is there any reason to keep it anywhere?

The latter also handles better the state of plugins before they're installed, while about:plugins shows then fallback strings like {$pluginFullPath}.

I think in the past we used to support flash on android, but we've not done that for donkeys. On desktop we still expose some EME/DRM-related stuff on about:plugins, but I'm pretty sure that we don't use those on Android (Bryce, am I right?). So I'm leaning to the "burn with fire" option (when don't I, really...). Less gunk on android means smaller pkg size which makes everyone happy - right? Agi, does that sound right?

Short answer: burn it with fire seems reasonable to me.

Long answer: There may have been a time we intended to expose information in the same way as we do on desktop. We used to download OpenH264 on Android, though the Widevine path has always relied on the local DRM module on Android. So I could see a world were we planned to show at least the OpenH264 info in the page. However, we're now relying on local libs for the functionality we used OpenH264 for, therefore we're not even downloading OpenH264 anymore.

An edge case, which I don't think we should weigh too heavily in our consideration, is that folks can make their own custom GMP plugins. These could show up in the page. But I'm not aware of any particularly prevalent existing cases for this. If it does become a thing we wish to support, we can always restore code in future.

So again, burn it with fire seems fine.

Flags: needinfo?(bvandyk)

(In reply to Eemeli Aro [:eemeli] from comment #1)

Given that on desktop the information on about:plugins is also available via the about:addons page's "Plugins" view, is there any reason to keep it anywhere?

Short answer: yes. Longer answer, see extensive discussion in bug 1738533 which we wontfixed.

+1 on burn it with fire!

Flags: needinfo?(agi)
Severity: -- → N/A
Priority: -- → P3
Assignee: nobody → gijskruitbosch+bugs
Severity: N/A → S4
Status: NEW → ASSIGNED
Summary: about:plugins is useless on Android → Remove about:plugins on Android
Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/3737753088ff remove about:plugins from android builds, r=agi
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
Blocks: 747301
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: