summaryrefslogtreecommitdiffstats
path: root/dom/media/eme/MediaKeySession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/eme/MediaKeySession.cpp')
-rw-r--r--dom/media/eme/MediaKeySession.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/dom/media/eme/MediaKeySession.cpp b/dom/media/eme/MediaKeySession.cpp
index 908df5f7c8..8a3a01dd5c 100644
--- a/dom/media/eme/MediaKeySession.cpp
+++ b/dom/media/eme/MediaKeySession.cpp
@@ -52,7 +52,7 @@ static const uint32_t MAX_CENC_INIT_DATA_LENGTH = 64 * 1024;
MediaKeySession::MediaKeySession(nsPIDOMWindowInner* aParent, MediaKeys* aKeys,
const nsAString& aKeySystem,
MediaKeySessionType aSessionType,
- ErrorResult& aRv)
+ bool aHardwareDecryption, ErrorResult& aRv)
: DOMEventTargetHelper(aParent),
mKeys(aKeys),
mKeySystem(aKeySystem),
@@ -61,7 +61,8 @@ MediaKeySession::MediaKeySession(nsPIDOMWindowInner* aParent, MediaKeys* aKeys,
mIsClosed(false),
mUninitialized(true),
mKeyStatusMap(new MediaKeyStatusMap(aParent)),
- mExpiration(JS::GenericNaN()) {
+ mExpiration(JS::GenericNaN()),
+ mHardwareDecryption(aHardwareDecryption) {
EME_LOG("MediaKeySession[%p,''] ctor", this);
MOZ_ASSERT(aParent);
@@ -123,9 +124,8 @@ void MediaKeySession::UpdateKeyStatusMap() {
nsPrintfCString("MediaKeySession[%p,'%s'] key statuses change {", this,
NS_ConvertUTF16toUTF8(mSessionId).get()));
for (const CDMCaps::KeyStatus& status : keyStatuses) {
- message.AppendPrintf(
- " (%s,%s)", ToHexString(status.mId).get(),
- nsCString(MediaKeyStatusValues::GetString(status.mStatus)).get());
+ message.AppendPrintf(" (%s,%s)", ToHexString(status.mId).get(),
+ GetEnumString(status.mStatus).get());
}
message.AppendLiteral(" }");
// Use %s so we aren't exposing random strings to printf interpolation.
@@ -250,8 +250,8 @@ already_AddRefed<Promise> MediaKeySession::GenerateRequest(
// cdm implementation value does not support initDataType as an
// Initialization Data Type, return a promise rejected with a
// NotSupportedError. String comparison is case-sensitive.
- if (!MediaKeySystemAccess::KeySystemSupportsInitDataType(mKeySystem,
- aInitDataType)) {
+ if (!MediaKeySystemAccess::KeySystemSupportsInitDataType(
+ mKeySystem, aInitDataType, mHardwareDecryption)) {
promise->MaybeRejectWithNotSupportedError(
"Unsupported initDataType passed to MediaKeySession.generateRequest()");
EME_LOG(
@@ -542,8 +542,7 @@ void MediaKeySession::DispatchKeyMessage(MediaKeyMessageType aMessageType,
EME_LOG(
"MediaKeySession[%p,'%s'] DispatchKeyMessage() type=%s message='%s'",
this, NS_ConvertUTF16toUTF8(mSessionId).get(),
- nsCString(MediaKeyMessageTypeValues::GetString(aMessageType)).get(),
- ToHexString(aMessage).get());
+ GetEnumString(aMessageType).get(), ToHexString(aMessage).get());
}
RefPtr<MediaKeyMessageEvent> event(
@@ -611,12 +610,8 @@ void MediaKeySession::SetOnmessage(EventHandlerNonNull* aCallback) {
SetEventHandler(nsGkAtoms::onmessage, aCallback);
}
-nsCString ToCString(MediaKeySessionType aType) {
- return nsCString(MediaKeySessionTypeValues::GetString(aType));
-}
-
nsString ToString(MediaKeySessionType aType) {
- return NS_ConvertUTF8toUTF16(ToCString(aType));
+ return NS_ConvertUTF8toUTF16(GetEnumString(aType));
}
} // namespace mozilla::dom