Bug 1358061 - remove moz-audiochannel codes for media element and web audio. r=baku
MozReview-Commit-ID: KPuhxCVezOZ
This commit is contained in:
@@ -1444,23 +1444,6 @@ NS_IMPL_BOOL_ATTR(HTMLMediaElement, Loop, loop)
|
||||
NS_IMPL_BOOL_ATTR(HTMLMediaElement, DefaultMuted, muted)
|
||||
NS_IMPL_ENUM_ATTR_DEFAULT_VALUE(HTMLMediaElement, Preload, preload, nullptr)
|
||||
|
||||
NS_IMETHODIMP
|
||||
HTMLMediaElement::GetMozAudioChannelType(nsAString& aValue)
|
||||
{
|
||||
nsString defaultValue;
|
||||
AudioChannelService::GetDefaultAudioChannelString(defaultValue);
|
||||
|
||||
NS_ConvertUTF16toUTF8 str(defaultValue);
|
||||
GetEnumAttr(nsGkAtoms::mozaudiochannel, str.get(), aValue);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
HTMLMediaElement::SetMozAudioChannelType(const nsAString& aValue)
|
||||
{
|
||||
return SetAttrHelper(nsGkAtoms::mozaudiochannel, aValue);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP_(bool)
|
||||
HTMLMediaElement::IsVideo()
|
||||
{
|
||||
@@ -4142,77 +4125,12 @@ bool HTMLMediaElement::ParseAttribute(int32_t aNamespaceID,
|
||||
if (aAttribute == nsGkAtoms::preload) {
|
||||
return aResult.ParseEnumValue(aValue, kPreloadTable, false);
|
||||
}
|
||||
|
||||
// Remove the b2g-specific audio channel setting in bug1299390.
|
||||
if (aAttribute == nsGkAtoms::mozaudiochannel) {
|
||||
const nsAttrValue::EnumTable* table =
|
||||
AudioChannelService::GetAudioChannelTable();
|
||||
MOZ_ASSERT(table);
|
||||
|
||||
bool parsed = aResult.ParseEnumValue(aValue, table, false, &table[0]);
|
||||
if (!parsed) {
|
||||
return false;
|
||||
}
|
||||
|
||||
AudioChannel audioChannel = static_cast<AudioChannel>(aResult.GetEnumValue());
|
||||
|
||||
if (audioChannel == mAudioChannel ||
|
||||
!CheckAudioChannelPermissions(aValue)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// We cannot change the AudioChannel of a decoder.
|
||||
if (mDecoder) {
|
||||
return true;
|
||||
}
|
||||
|
||||
mAudioChannel = audioChannel;
|
||||
|
||||
if (mSrcStream) {
|
||||
RefPtr<MediaStream> stream = GetSrcMediaStream();
|
||||
if (stream) {
|
||||
stream->SetAudioChannelType(mAudioChannel);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue,
|
||||
aResult);
|
||||
}
|
||||
|
||||
bool HTMLMediaElement::CheckAudioChannelPermissions(const nsAString& aString)
|
||||
{
|
||||
// Only normal channel doesn't need permission.
|
||||
if (aString.EqualsASCII("normal")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Maybe this audio channel is equal to the default value from the pref.
|
||||
nsString audioChannel;
|
||||
AudioChannelService::GetDefaultAudioChannelString(audioChannel);
|
||||
if (audioChannel.Equals(aString)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPermissionManager> permissionManager =
|
||||
services::GetPermissionManager();
|
||||
if (!permissionManager) {
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32_t perm = nsIPermissionManager::UNKNOWN_ACTION;
|
||||
permissionManager->TestExactPermissionFromPrincipal(NodePrincipal(),
|
||||
nsCString(NS_LITERAL_CSTRING("audio-channel-") + NS_ConvertUTF16toUTF8(aString)).get(), &perm);
|
||||
if (perm != nsIPermissionManager::ALLOW_ACTION) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void HTMLMediaElement::DoneCreatingElement()
|
||||
{
|
||||
if (HasAttr(kNameSpaceID_None, nsGkAtoms::muted)) {
|
||||
@@ -7063,15 +6981,6 @@ HTMLMediaElement::GetOrCreateTextTrackManager()
|
||||
return mTextTrackManager;
|
||||
}
|
||||
|
||||
void
|
||||
HTMLMediaElement::SetMozAudioChannelType(AudioChannel aValue, ErrorResult& aRv)
|
||||
{
|
||||
nsString channel;
|
||||
channel.AssignASCII(AudioChannelValues::strings[uint32_t(aValue)].value,
|
||||
AudioChannelValues::strings[uint32_t(aValue)].length);
|
||||
SetHTMLAttr(nsGkAtoms::mozaudiochannel, channel, aRv);
|
||||
}
|
||||
|
||||
MediaDecoderOwner::NextFrameStatus
|
||||
HTMLMediaElement::NextFrameStatus()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user