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

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

Issue 132823005: Schedule session initialization in MediaKeys. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@rename_close_gkr
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
Index: Source/modules/encryptedmedia/MediaKeySession.cpp
diff --git a/Source/modules/encryptedmedia/MediaKeySession.cpp b/Source/modules/encryptedmedia/MediaKeySession.cpp
index 4efaea52c1e5178feacf03603217b63a5433ca72..1591077713dee022e452c2aeb1fbc7b4a45b022b 100644
--- a/Source/modules/encryptedmedia/MediaKeySession.cpp
+++ b/Source/modules/encryptedmedia/MediaKeySession.cpp
@@ -48,7 +48,6 @@ MediaKeySession::MediaKeySession(ExecutionContext* context, ContentDecryptionMod
, m_asyncEventQueue(GenericEventQueue::create(this))
, m_session(cdm->createSession(this))
, m_keys(keys)
- , m_initializeNewSessionTimer(this, &MediaKeySession::initializeNewSessionTimerFired)
, m_updateTimer(this, &MediaKeySession::updateTimerFired)
{
ScriptWrappable::init(this);
@@ -80,21 +79,9 @@ String MediaKeySession::sessionId() const
return m_session->sessionId();
}
-void MediaKeySession::initializeNewSession(const String& mimeType, Uint8Array* initData)
+void MediaKeySession::initializeNewSession(const String& mimeType, const Uint8Array& initData)
{
- m_pendingInitializeNewSessionData.append(InitializeNewSessionData(mimeType, initData));
- m_initializeNewSessionTimer.startOneShot(0);
-}
-
-void MediaKeySession::initializeNewSessionTimerFired(Timer<MediaKeySession>*)
-{
- ASSERT(m_pendingInitializeNewSessionData.size());
-
- 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);
- }
+ m_session->initializeNewSession(mimeType, initData);
}
void MediaKeySession::update(Uint8Array* response, ExceptionState& exceptionState)
@@ -112,7 +99,9 @@ void MediaKeySession::update(Uint8Array* response, ExceptionState& exceptionStat
// 3. Schedule a task to handle the call, providing response.
m_pendingKeys.append(response);
- m_updateTimer.startOneShot(0);
+
+ if (!m_updateTimer.isActive())
+ m_updateTimer.startOneShot(0);
}
void MediaKeySession::updateTimerFired(Timer<MediaKeySession>*)

Powered by Google App Engine
This is Rietveld 408576698