syranide/swf-player-version

in firefox 51 (32-bit) navigator.mimeTypes['application/x-shockwave-flash'] issue

Closed this issue ยท 7 comments

var mimeType = navigator.mimeTypes['application/x-shockwave-flash']
mimeType.enabledPlugin.description is not a string

in current version (52.0.2) they fixed it

Gah, thanks. I'll add a test for this too ๐Ÿ‘

I've released 1.1.4 now, unknown versions will now be reported as '0.0.0', so if it's important to support this version you can use the catch-all isVersionSupported() or a specific test for getVersion() === '0.0.0'.

Thank you!

why not use :

var plugin = navigator.plugins['Shockwave Flash'];
if(plugin){
detectedVersion = parseVersion(plugin.description);
}

Need to check the navigator.mimeTypes to determine whether the plugin is enabled or not (it still shows up as a plugin when disabled). navigator.plugins['Shockwave Flash'] should really be the same as navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin. So your code should still return an invalid description for the plugin in FF51?

In FF current version(52.0.2) they are the same, but in FF51 navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin and navigator.plugins['Shockwave Flash'] is not equal.
In ff51 navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin returnes the list of all plugins, not only flash ( there was a bug). But calling navigator.plugins['Shockwave Flash'] returned expected result.

Oh okay then, yeah I'll have it read from that then instead ๐Ÿ‘

Reworked the detection so it reads from the plugins-plugin instead, thanks a lot!