Bug 36667 - Plugin versions are not propagated to navigator.plugins
Summary: Plugin versions are not propagated to navigator.plugins
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Plug-ins (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-26 10:23 PDT by Panayiotis Mavrommatis
Modified: 2022-07-01 11:35 PDT (History)
4 users (show)

See Also:


Attachments
Suggested patch (4.84 KB, patch)
2010-05-05 17:50 PDT, Panayiotis Mavrommatis
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Panayiotis Mavrommatis 2010-03-26 10:23:04 PDT
On Windows and Mac, plugins expose a version which we'd like to propagate to navigator.plugins and in general to provide that to the browser. This might allow the browser to warn users if their plugins are out of date.
Comment 1 Alexey Proskuryakov 2010-03-26 23:37:25 PDT
How do these plug-ins expose the version number? Do other browsers expose it to JavaScript?
Comment 2 Panayiotis Mavrommatis 2010-05-05 17:50:05 PDT
Created attachment 55183 [details]
Suggested patch
Comment 3 Panayiotis Mavrommatis 2010-05-05 17:51:39 PDT
Yes, Mozilla Firefox >= 3.6 shows the plugin version in about:plugins and it exposes it in the JS object navigator.plugins

See suggested patch
Comment 4 Alexey Proskuryakov 2010-05-17 15:01:43 PDT
My other question was how plug-ins expose this information. In particular, there are several places in a plist on Mac OS X that contain version. Looking at QuickTime plug-in for example:

	<key>CFBundleShortVersionString</key>
	<string>7.6.6</string>
	<key>CFBundleVersion</key>
	<string>1674</string>
	<key>CFBundleGetInfoString</key>
	<string>QuickTime Plugin, 7.6.6 Copyright Apple Inc. 1989-2010</string>

Firefox seems to use CFBundleShortVersionString. Is this what Chromium uses to populate this field in PluginData? Where does it come from for unpackaged plug-ins?

It doesn't really make a lot of sense to only implement this for Chrome, but expose an always empty version string in every other WebKit-based browser. It can be challenging to implement this property on all platforms at once, but something needs to be done to solve this. Personally, I'd try to fix as many platforms as I can, then hide the IDL attribute behind an #if check for others.

This definitely needs a regression test - we have a test plug-in that can be accessed from automated tests.

Sorry that this take a while. To make sure that a patch sticks in review queue for everyone to see, please follow <http://webkit.org/coding/contributing.html>.
Comment 5 hexalys 2014-06-19 21:59:05 PDT
(In reply to comment #4)
> It doesn't really make a lot of sense to only implement this for Chrome, but expose an always empty version string in every other WebKit-based browser. It can be challenging to implement this property on all platforms at once, but something needs to be done to solve this. Personally, I'd try to fix as many platforms as I can, then hide the IDL attribute behind an #if check for others.

Any progress on this?

No webkit browsers currently expose plugin.version at the moment, which is quite bad from a cross-browser standpoint now that IE11 does.
http://msdn.microsoft.com/en-us/library/ie/dn268316(v=vs.85).aspx

While it is possible to get an roughly accurate version most of the time from plugin.description or plugin.name, versions don't always match properly between Firefox/IE and Webkit/Blink for all plugins.

> Firefox seems to use CFBundleShortVersionString. Is this what Chromium uses to populate this field in PluginData? Where does it come from for unpackaged plug-ins?
Apparently yes as per this question's statement:
http://stackoverflow.com/questions/16979253/installed-plugin-version-not-showing?rq=1

For more perhaps useful info as far as implementation, see: https://bugs.launchpad.net/pipelight/+bug/1313457
Comment 6 Alexey Proskuryakov 2022-07-01 11:35:26 PDT
Mass closing plug-in bugs, as plug-in support has been removed from WebKit.

Please comment and/or reopen if this still affects WebKit in some way.