Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GStreamer][EME] Reworked the reference counting of sessions
https://bugs.webkit.org/show_bug.cgi?id=273490 Reviewed by Philippe Normand. Now they are properly accounted for and disposed. A fly-by is fixing the name of for the isKeyAvailable methods to make them code-style compliant. * Source/WebCore/platform/encryptedmedia/CDMProxy.cpp: (WebCore::KeyHandle::takeValueIfDifferent): (WebCore::keyStoreBaseNextID): (WebCore::ReferenceAwareKeyStore::unrefAllKeysFrom): (WebCore::ReferenceAwareKeyStore::merge): (WebCore::CDMProxy::tryWaitForKeyHandle const): (WebCore::CDMProxy::isKeyAvailableUnlocked const): (WebCore::CDMProxy::isKeyAvailable const): (WebCore::CDMProxy::getOrWaitForKeyHandle const): (WebCore::KeyStore::containsKeyID const): Deleted. (WebCore::KeyStore::merge): Deleted. (WebCore::KeyStore::allKeysAs const): Deleted. (WebCore::KeyStore::addKeys): Deleted. (WebCore::KeyStore::add): Deleted. (WebCore::KeyStore::unrefAllKeysFrom): Deleted. (WebCore::KeyStore::unrefAllKeys): Deleted. (WebCore::KeyStore::unref): Deleted. (WebCore::KeyStore::keyHandle const): Deleted. (WebCore::KeyStore::convertToJSKeyStatusVector const): Deleted. (WebCore::CDMProxy::keyAvailableUnlocked const): Deleted. (WebCore::CDMProxy::keyAvailable const): Deleted. * Source/WebCore/platform/encryptedmedia/CDMProxy.h: (WebCore::KeyHandle::status const): (WebCore::KeyHandle::operator==): (WebCore::KeyHandle::KeyHandle): (WebCore::KeyStoreBase::KeyStoreBase): (WebCore::KeyStoreBase::add): (WebCore::KeyStoreBase::addKeys): (WebCore::KeyStoreBase::remove): (WebCore::KeyStoreBase::clear): (WebCore::KeyStoreBase::containsKeyID const): (WebCore::KeyStoreBase::keyHandle const): (WebCore::KeyStoreBase::allKeysAs const): (WebCore::KeyStoreBase::convertToJSKeyStatusVector const): (WebCore::KeyStoreBase::numKeys const): (WebCore::KeyStoreBase::values const): (WebCore::KeyStoreBase::id const): (WebCore::ReferenceAwareKeyHandle::createFrom): (WebCore::ReferenceAwareKeyHandle::updateKeyFrom): (WebCore::ReferenceAwareKeyHandle::hasReferences const): (WebCore::ReferenceAwareKeyHandle::ReferenceAwareKeyHandle): (WebCore::ReferenceAwareKeyHandle::removeReference): (WebCore::KeyHandle::mergeKeyInto): Deleted. (WebCore::KeyHandle::operator<): Deleted. (WebCore::KeyHandle::addSessionReference): Deleted. (WebCore::KeyHandle::removeSessionReference): Deleted. (WebCore::KeyHandle::numSessionReferences const): Deleted. (WebCore::KeyHandle::hasReferences const): Deleted. (WebCore::KeyStore::hasKeys const): Deleted. (WebCore::KeyStore::numKeys const): Deleted. (WebCore::KeyStore::isEmpty const): Deleted. (WebCore::KeyStore::addSessionReferenceTo const): Deleted. (WebCore::KeyStore::removeSessionReferenceFrom const): Deleted. (WebCore::KeyStore::begin): Deleted. (WebCore::KeyStore::begin const): Deleted. (WebCore::KeyStore::end): Deleted. (WebCore::KeyStore::end const): Deleted. (WebCore::KeyStore::rbegin): Deleted. (WebCore::KeyStore::rbegin const): Deleted. (WebCore::KeyStore::rend): Deleted. (WebCore::KeyStore::rend const): Deleted. * Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp: (WebCore::CDMInstanceSessionClearKey::updateLicense): (WebCore::CDMInstanceSessionClearKey::removeSessionData): * Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp: (WebCore::CDMInstanceSessionThunder::closeSession): Canonical link: https://commits.webkit.org/278272@main
- Loading branch information