зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1318833 - Part 3: Remove unused Silverlight checks from Decoder Doctor. r=gerald
This commit is contained in:
Родитель
df18772e96
Коммит
fc2e7c9a1f
|
@ -124,7 +124,7 @@ MediaLoadSourceMediaNotMatched=Specified “media” attribute of “%1$S” doe
|
||||||
MediaLoadUnsupportedMimeType=HTTP “Content-Type” of “%1$S” is not supported. Load of media resource %2$S failed.
|
MediaLoadUnsupportedMimeType=HTTP “Content-Type” of “%1$S” is not supported. Load of media resource %2$S failed.
|
||||||
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
|
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
|
||||||
MediaLoadDecodeError=Media resource %S could not be decoded.
|
MediaLoadDecodeError=Media resource %S could not be decoded.
|
||||||
MediaWidevineNoWMFNoSilverlight=Trying to play Widevine with no Windows Media Foundation (nor Silverlight fallback), see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
MediaWidevineNoWMF=Trying to play Widevine with no Windows Media Foundation. See https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
MediaWMFNeeded=To play video formats %S, you need to install extra Microsoft software, see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
MediaWMFNeeded=To play video formats %S, you need to install extra Microsoft software, see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
|
|
|
@ -250,9 +250,9 @@ DecoderDoctorDocumentWatcher::EnsureTimerIsStarted()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const NotificationAndReportStringId sMediaWidevineNoWMFNoSilverlight =
|
static const NotificationAndReportStringId sMediaWidevineNoWMF=
|
||||||
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
|
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
|
||||||
"MediaWidevineNoWMFNoSilverlight" };
|
"MediaWidevineNoWMF" };
|
||||||
static const NotificationAndReportStringId sMediaWMFNeeded =
|
static const NotificationAndReportStringId sMediaWMFNeeded =
|
||||||
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
|
{ dom::DecoderDoctorNotificationType::Platform_decoder_not_found,
|
||||||
"MediaWMFNeeded" };
|
"MediaWMFNeeded" };
|
||||||
|
@ -275,10 +275,10 @@ static const NotificationAndReportStringId sUnsupportedLibavcodec =
|
||||||
{ dom::DecoderDoctorNotificationType::Unsupported_libavcodec,
|
{ dom::DecoderDoctorNotificationType::Unsupported_libavcodec,
|
||||||
"MediaUnsupportedLibavcodec" };
|
"MediaUnsupportedLibavcodec" };
|
||||||
|
|
||||||
static const NotificationAndReportStringId*
|
static const NotificationAndReportStringId *const
|
||||||
sAllNotificationsAndReportStringIds[] =
|
sAllNotificationsAndReportStringIds[] =
|
||||||
{
|
{
|
||||||
&sMediaWidevineNoWMFNoSilverlight,
|
&sMediaWidevineNoWMF,
|
||||||
&sMediaWMFNeeded,
|
&sMediaWMFNeeded,
|
||||||
&sMediaUnsupportedBeforeWindowsVista,
|
&sMediaUnsupportedBeforeWindowsVista,
|
||||||
&sMediaPlatformDecoderNotFound,
|
&sMediaPlatformDecoderNotFound,
|
||||||
|
@ -375,33 +375,6 @@ ReportAnalysis(nsIDocument* aDocument,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum SilverlightPresence {
|
|
||||||
eNoSilverlight,
|
|
||||||
eSilverlightDisabled,
|
|
||||||
eSilverlightEnabled
|
|
||||||
};
|
|
||||||
static SilverlightPresence
|
|
||||||
CheckSilverlight()
|
|
||||||
{
|
|
||||||
MOZ_ASSERT(NS_IsMainThread());
|
|
||||||
RefPtr<nsPluginHost> pluginHost = nsPluginHost::GetInst();
|
|
||||||
if (!pluginHost) {
|
|
||||||
return eNoSilverlight;
|
|
||||||
}
|
|
||||||
nsTArray<nsCOMPtr<nsIInternalPluginTag>> plugins;
|
|
||||||
pluginHost->GetPlugins(plugins, /*aIncludeDisabled*/ true);
|
|
||||||
for (const auto& plugin : plugins) {
|
|
||||||
for (const auto& mime : plugin->MimeTypes()) {
|
|
||||||
if (mime.LowerCaseEqualsLiteral("application/x-silverlight")
|
|
||||||
|| mime.LowerCaseEqualsLiteral("application/x-silverlight-2")) {
|
|
||||||
return plugin->IsEnabled() ? eSilverlightEnabled : eSilverlightDisabled;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return eNoSilverlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
static nsString
|
static nsString
|
||||||
CleanItemForFormatsList(const nsAString& aItem)
|
CleanItemForFormatsList(const nsAString& aItem)
|
||||||
{
|
{
|
||||||
|
@ -554,14 +527,11 @@ DecoderDoctorDocumentWatcher::SynthesizeAnalysis()
|
||||||
// No supported key systems!
|
// No supported key systems!
|
||||||
switch (lastKeySystemIssue) {
|
switch (lastKeySystemIssue) {
|
||||||
case DecoderDoctorDiagnostics::eWidevineWithNoWMF:
|
case DecoderDoctorDiagnostics::eWidevineWithNoWMF:
|
||||||
if (CheckSilverlight() != eSilverlightEnabled) {
|
DD_INFO("DecoderDoctorDocumentWatcher[%p, doc=%p]::SynthesizeAnalysis() - unsupported key systems: %s, Widevine without WMF",
|
||||||
DD_INFO("DecoderDoctorDocumentWatcher[%p, doc=%p]::SynthesizeAnalysis() - unsupported key systems: %s, widevine without WMF nor Silverlight",
|
this, mDocument, NS_ConvertUTF16toUTF8(unsupportedKeySystems).get());
|
||||||
this, mDocument, NS_ConvertUTF16toUTF8(unsupportedKeySystems).get());
|
ReportAnalysis(mDocument, sMediaWidevineNoWMF, false,
|
||||||
ReportAnalysis(mDocument, sMediaWidevineNoWMFNoSilverlight,
|
unsupportedKeySystems);
|
||||||
false, unsupportedKeySystems);
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -401,7 +401,7 @@ pref("media.gmp.storage.version.expected", 1);
|
||||||
|
|
||||||
// Filter what triggers user notifications.
|
// Filter what triggers user notifications.
|
||||||
// See DecoderDoctorDocumentWatcher::ReportAnalysis for details.
|
// See DecoderDoctorDocumentWatcher::ReportAnalysis for details.
|
||||||
pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMFNoSilverlight,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec");
|
pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMF,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec");
|
||||||
// Whether we report partial failures.
|
// Whether we report partial failures.
|
||||||
pref("media.decoder-doctor.verbose", false);
|
pref("media.decoder-doctor.verbose", false);
|
||||||
// Whether DD should consider WMF-disabled a WMF failure, useful for testing.
|
// Whether DD should consider WMF-disabled a WMF failure, useful for testing.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче