Fix Bug 887245, point plugins with no update URL to google not to plugincheck itself

This commit is contained in:
ossreleasefeed 2013-08-12 20:19:34 +02:00
Родитель ad0b1f67f4
Коммит ef58c86b68
2 изменённых файлов: 104 добавлений и 79 удалений

1
.gitignore поставляемый
Просмотреть файл

@ -4,6 +4,7 @@ settings/local.py
*.py[co]
*.sw[po]
.coverage
.jshintrc
pip-log.txt
docs/_gh-pages
build.py

Просмотреть файл

@ -1,51 +1,54 @@
$(function() {
var vulnerablePluginsSection = $('#sec-plugin-vulnerable'),
vulnerablePluginsBody = $('#plugin-vulnerable'),
vulnerablePluginsHtml = '',
outdatedPluginsSection = $('#sec-plugin-outdated'),
outdatedPluginsBody = $('#plugin-outdated'),
outdatedPluginsHtml = '',
unknownPluginsSection = $('#sec-plugin-unknown'),
unknownPluginsBody = $('#plugin-unknown'),
unknownPluginsHtml = '',
upToDatePluginsSection = $('#sec-plugin-uptodate'),
upToDatePluginsBody = $('#plugin-uptodate'),
upToDatePluginsHtml = '',
iconFor = function (pluginName) {
if (pluginName.indexOf('Flash') >= 0) {
return 'icon-flash.png';
} else if (pluginName.indexOf('Java') >= 0) {
return 'icon-java.png';
} else if (pluginName.indexOf('QuickTime') >= 0) {
return 'icon-quicktime.png';
} else if (pluginName.indexOf('DivX') >= 0) {
return 'icon-divx.png';
} else if (pluginName.indexOf('Totem') >= 0) {
return 'icon-totem.png';
} else if (pluginName.indexOf('Flip4Mac') >= 0) {
return 'icon-flip4mac.png';
} else if (pluginName.indexOf('WindowsMediaPlayer') >= 0) {
return 'icon-wmp.png';
} else if (pluginName.indexOf('VLC') >= 0) {
return 'icon-vlc.png';
} else if (pluginName.indexOf('Silverlight') >= 0) {
return 'icon-silverlight.png';
} else if (pluginName.indexOf('Shockwave') >= 0) {
return 'icon-shockwave.png';
} else if (pluginName.indexOf('RealPlayer') >= 0) {
return 'icon-real.png';
} else if (pluginName.indexOf('Adobe Acrobat') >= 0) {
return 'icon-acrobat.png';
} else if (pluginName.indexOf('Office Live') >= 0) {
return 'icon-officelive.png';
} else if (pluginName.indexOf('iPhoto') >= 0) {
return 'icon-iphoto.png';
} else {
return 'default.png';
}
};
'use strict';
var iconFor = function (pluginName) {
if (pluginName.indexOf('Flash') >= 0) {
return 'icon-flash.png';
} else if (pluginName.indexOf('Java') >= 0) {
return 'icon-java.png';
} else if (pluginName.indexOf('QuickTime') >= 0) {
return 'icon-quicktime.png';
} else if (pluginName.indexOf('DivX') >= 0) {
return 'icon-divx.png';
} else if (pluginName.indexOf('Totem') >= 0) {
return 'icon-totem.png';
} else if (pluginName.indexOf('Flip4Mac') >= 0) {
return 'icon-flip4mac.png';
} else if (pluginName.indexOf('WindowsMediaPlayer') >= 0) {
return 'icon-wmp.png';
} else if (pluginName.indexOf('VLC') >= 0) {
return 'icon-vlc.png';
} else if (pluginName.indexOf('Silverlight') >= 0) {
return 'icon-silverlight.png';
} else if (pluginName.indexOf('Shockwave') >= 0) {
return 'icon-shockwave.png';
} else if (pluginName.indexOf('RealPlayer') >= 0) {
return 'icon-real.png';
} else if (pluginName.indexOf('Adobe Acrobat') >= 0) {
return 'icon-acrobat.png';
} else if (pluginName.indexOf('Office Live') >= 0) {
return 'icon-officelive.png';
} else if (pluginName.indexOf('iPhoto') >= 0) {
return 'icon-iphoto.png';
} else {
return 'default.png';
}
};
var showPlugin = function(data) {
var vulnerablePluginsSection = $('#sec-plugin-vulnerable'),
vulnerablePluginsBody = $('#plugin-vulnerable'),
vulnerablePluginsHtml = '',
outdatedPluginsSection = $('#sec-plugin-outdated'),
outdatedPluginsBody = $('#plugin-outdated'),
outdatedPluginsHtml = '',
unknownPluginsSection = $('#sec-plugin-unknown'),
unknownPluginsBody = $('#plugin-unknown'),
unknownPluginsHtml = '',
upToDatePluginsSection = $('#sec-plugin-uptodate'),
upToDatePluginsBody = $('#plugin-uptodate'),
upToDatePluginsHtml = '';
// If the latest response from the service was a vulnerable plugin,
// pass the object here.
if(data.vulnerablePlugins) {
@ -90,50 +93,71 @@ $(function() {
var plugin = data.pluginInfo.raw,
url = data.url,
currentPlugin = {},
mediaURL = window.trans('media-url') + 'img/plugincheck/app-icons/';
mediaURL = window.trans('media-url') + 'img/plugincheck/app-icons/',
vulnerableStatusArray = ['should_disable', 'vulnerable', 'maybe_vulnerable',
'outdated', 'maybe_outdated'];
if(data.status === 'should_disable' || data.status === 'vulnerable' ||
data.status === 'maybe_vulnerable') {
currentPlugin['vulnerablePlugins'] = {
// There are rare occasions when the update URL for a plugin is not known.
// In these cases, we want to add the plugin to the unknownPlugins array and not
// the vulnerablePlugins nor the outdatedPlugins array.
// @see https://bugzilla.mozilla.org/show_bug.cgi?id=887245
if(typeof url === 'undefined' && $.inArray(data.status, vulnerableStatusArray) > -1) {
currentPlugin.unknownPlugins = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('vulnerable'),
'button_update': window.trans('button_update'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
} else if(data.status === 'outdated' || data.status === 'maybe_outdated') {
currentPlugin['outdatedPlugins'] = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('vulnerable'),
'button_update': window.trans('button_update'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
} else if(data.status === 'unknown') {
currentPlugin['unknownPlugins'] = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('unknown'),
'button_research': window.trans('button_research'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': unknownPluginUrl(plugin.name)
};
} else if(data.status === 'latest' || data.status === 'newer') {
currentPlugin['upToDatePlugins'] = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': plugin.version,
'button_uptodate': window.trans('button_uptodate'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
} else {
// Our URL has a value, do the usual song and dance.
if(data.status === 'should_disable' || data.status === 'vulnerable' ||
data.status === 'maybe_vulnerable') {
currentPlugin.vulnerablePlugins = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('vulnerable'),
'button_update': window.trans('button_update'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
} else if(data.status === 'outdated' || data.status === 'maybe_outdated') {
currentPlugin.outdatedPlugins = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('vulnerable'),
'button_update': window.trans('button_update'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
} else if(data.status === 'unknown') {
currentPlugin.unknownPlugins = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': window.trans('unknown'),
'button_research': window.trans('button_research'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': unknownPluginUrl(plugin.name)
};
} else if(data.status === 'latest' || data.status === 'newer') {
currentPlugin.upToDatePlugins = {
'icon': mediaURL + iconFor(plugin.name),
'plugin_name': plugin.name,
'plugin_detail': plugin.description,
'plugin_status': plugin.version,
'button_uptodate': window.trans('button_uptodate'),
'img_alt_txt': window.trans('icon_alt_txt'),
'url': url
};
}
}
showPlugin(currentPlugin);
},
pluginCheckComplete = function() {