Bug 1319529 - notify audible state changed for nsNPAPI. r=baku

When the nsNPAPI is muted by AudioChannelService, we should notify our audible state changed.

MozReview-Commit-ID: 1YHGZiyIRvI
This commit is contained in:
Alastor Wu
2016-12-16 17:12:41 +08:00
parent c8cfb92747
commit 628cd19b21
3 changed files with 21 additions and 3 deletions

View File

@@ -139,6 +139,7 @@ nsNPAPIPluginInstance::nsNPAPIPluginInstance()
, mCachedParamLength(0)
, mCachedParamNames(nullptr)
, mCachedParamValues(nullptr)
, mMuted(false)
{
mNPP.pdata = nullptr;
mNPP.ndata = this;
@@ -1794,6 +1795,14 @@ nsNPAPIPluginInstance::WindowVolumeChanged(float aVolume, bool aMuted)
// We just support mute/unmute
nsresult rv = SetMuted(aMuted);
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "SetMuted failed");
if (mMuted != aMuted) {
mMuted = aMuted;
AudioChannelService::AudibleState audible = aMuted ?
AudioChannelService::AudibleState::eNotAudible :
AudioChannelService::AudibleState::eAudible;
mAudioChannelAgent->NotifyStartedAudible(audible,
AudioChannelService::AudibleChangedReasons::eVolumeChanged);
}
return rv;
}