[EME] Add support of multi keys from different sessions in CDMinstanceClearKey
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 12:07:42 +0000 (12:07 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 12:07:42 +0000 (12:07 +0000)
commitb113f92173c3297128b8efe4d508ad4de6c3e7a6
tree5f76998f0ceeda7616c29284415c248a4e61ee64
parent9be83a4be9a9b39b67512524cc1887693cab3833
[EME] Add support of multi keys from different sessions in CDMinstanceClearKey
https://bugs.webkit.org/show_bug.cgi?id=180083

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-23
Reviewed by Xabier Rodriguez-Calvar.

Add support of multi keys from different MediaKeySession in CDMInstanceClearKey.

Currently the CDMInstanceClearKey manages two "m_keys", one is a WTF::Vector
where it stores the list of last added keys, an other which is defined in the
ClearKeyState::singleton it is a WTF::HashMap, in this last one, it stores the
keys lists of each created session.

The method "keys()" of CDMInstanceClearKey returns the first "m_keys" which
contains just the list of last keys.

The goal of this commit is to return all keys lists of all sessions, thus
we remove the "m_keys" which is WTF::Vector and we modify the method
"keys()" to return all keys lists, which is stored in "m_keys" WTF::HashMap,
in one Vector instead of return just the list of last keys.

* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceClearKey::keys const):
(WebCore::CDMInstanceClearKey::updateLicense):
* platform/encryptedmedia/clearkey/CDMClearKey.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp
Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h