summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h')
-rw-r--r--chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h b/chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
index 192e4d43e4e..2dfa7d8347c 100644
--- a/chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
+++ b/chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
@@ -27,10 +27,13 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_ENCRYPTEDMEDIA_MEDIA_KEY_SESSION_H_
#include <memory>
+
+#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/blink/public/platform/web_content_decryption_module_session.h"
#include "third_party/blink/public/platform/web_encrypted_media_types.h"
#include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_property.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_media_key_session_closed_reason.h"
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
#include "third_party/blink/renderer/core/typed_arrays/dom_array_piece.h"
#include "third_party/blink/renderer/modules/encryptedmedia/media_key_status_map.h"
@@ -40,6 +43,7 @@
namespace media {
enum class EmeInitDataType;
+enum class CdmSessionClosedReason;
}
namespace blink {
@@ -130,10 +134,10 @@ class MediaKeySession final
void RemoveTask(ContentDecryptionModuleResult*);
// WebContentDecryptionModuleSession::Client
- void OnSessionMessage(MessageType,
+ void OnSessionMessage(media::CdmMessageType message_type,
const unsigned char* message,
size_t message_length) override;
- void OnSessionClosed() override;
+ void OnSessionClosed(media::CdmSessionClosedReason reason) override;
void OnSessionExpirationUpdate(double updated_expiry_time_in_ms) override;
void OnSessionKeysChange(const WebVector<WebEncryptedMediaKeyInformation>&,
bool has_additional_usable_key) override;
@@ -156,7 +160,10 @@ class MediaKeySession final
bool is_closing_or_closed_;
// Keep track of the closed promise.
- typedef ScriptPromiseProperty<ToV8UndefinedGenerator, Member<DOMException>>
+ // absl::optional<> is needed because V8MediaKeySessionClosedReason's default
+ // constructor is private.
+ typedef ScriptPromiseProperty<absl::optional<V8MediaKeySessionClosedReason>,
+ Member<DOMException>>
ClosedPromise;
Member<ClosedPromise> closed_promise_;