Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2004)

Unified Diff: Source/modules/encryptedmedia/MediaKeySession.cpp

Issue 111043004: Update MediaKeySession method names to latest EME spec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/encryptedmedia/MediaKeySession.h ('k') | Source/modules/encryptedmedia/MediaKeySession.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/encryptedmedia/MediaKeySession.cpp
diff --git a/Source/modules/encryptedmedia/MediaKeySession.cpp b/Source/modules/encryptedmedia/MediaKeySession.cpp
index 01746e6fbc93f9e17d489489c8e535a11f327e5c..4efaea52c1e5178feacf03603217b63a5433ca72 100644
--- a/Source/modules/encryptedmedia/MediaKeySession.cpp
+++ b/Source/modules/encryptedmedia/MediaKeySession.cpp
@@ -48,15 +48,21 @@ MediaKeySession::MediaKeySession(ExecutionContext* context, ContentDecryptionMod
, m_asyncEventQueue(GenericEventQueue::create(this))
, m_session(cdm->createSession(this))
, m_keys(keys)
- , m_keyRequestTimer(this, &MediaKeySession::keyRequestTimerFired)
+ , m_initializeNewSessionTimer(this, &MediaKeySession::initializeNewSessionTimerFired)
, m_updateTimer(this, &MediaKeySession::updateTimerFired)
{
ScriptWrappable::init(this);
+ ASSERT(m_session);
}
MediaKeySession::~MediaKeySession()
{
- close();
+ m_session.clear();
+ m_asyncEventQueue->cancelAllEvents();
+
+ // FIXME: Release ref that MediaKeys has by removing it from m_sessions.
+ // if (m_keys) m_keys->sessionClosed(this);
+ m_keys = 0;
}
void MediaKeySession::setError(MediaKeyError* error)
@@ -64,18 +70,9 @@ void MediaKeySession::setError(MediaKeyError* error)
m_error = error;
}
-void MediaKeySession::close()
+void MediaKeySession::release(ExceptionState& exceptionState)
{
- ASSERT(!m_keys == !m_session);
-
- if (m_session)
- m_session->close();
- m_session.clear();
- m_asyncEventQueue->cancelAllEvents();
-
- // FIXME: Release ref that MediaKeys has by removing it from m_sessions.
- // if (m_keys) m_keys->sessionClosed(this);
- m_keys = 0;
+ m_session->release();
}
String MediaKeySession::sessionId() const
@@ -83,30 +80,20 @@ String MediaKeySession::sessionId() const
return m_session->sessionId();
}
-void MediaKeySession::generateKeyRequest(const String& mimeType, Uint8Array* initData)
+void MediaKeySession::initializeNewSession(const String& mimeType, Uint8Array* initData)
{
- m_pendingKeyRequests.append(PendingKeyRequest(mimeType, initData));
- // FIXME: Eliminate timers. Asynchronicity will be handled in Chromium.
- m_keyRequestTimer.startOneShot(0);
+ m_pendingInitializeNewSessionData.append(InitializeNewSessionData(mimeType, initData));
+ m_initializeNewSessionTimer.startOneShot(0);
}
-void MediaKeySession::keyRequestTimerFired(Timer<MediaKeySession>*)
+void MediaKeySession::initializeNewSessionTimerFired(Timer<MediaKeySession>*)
{
- ASSERT(m_pendingKeyRequests.size());
- if (!m_session)
- return;
+ ASSERT(m_pendingInitializeNewSessionData.size());
- while (!m_pendingKeyRequests.isEmpty()) {
- PendingKeyRequest request = m_pendingKeyRequests.takeFirst();
-
- // NOTE: Continued from step 5 in MediaKeys::createSession().
- // The user agent will asynchronously execute the following steps in the task:
-
- // 1. Let cdm be the cdm loaded in the MediaKeys constructor.
- // 2. Let destinationURL be null.
-
- // 3. Use cdm to generate a key request and follow the steps for the first matching condition from the following list:
- m_session->generateKeyRequest(request.mimeType, *request.initData);
+ while (!m_pendingInitializeNewSessionData.isEmpty()) {
+ InitializeNewSessionData data = m_pendingInitializeNewSessionData.takeFirst();
+ // FIXME: Refer to the spec to see what needs to be done in blink.
+ m_session->initializeNewSession(data.mimeType, *data.initData);
}
}
@@ -131,8 +118,6 @@ void MediaKeySession::update(Uint8Array* response, ExceptionState& exceptionStat
void MediaKeySession::updateTimerFired(Timer<MediaKeySession>*)
{
ASSERT(m_pendingKeys.size());
- if (!m_session)
- return;
while (!m_pendingKeys.isEmpty()) {
RefPtr<Uint8Array> pendingKey = m_pendingKeys.takeFirst();
« no previous file with comments | « Source/modules/encryptedmedia/MediaKeySession.h ('k') | Source/modules/encryptedmedia/MediaKeySession.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698