[webkit-changes] [WebKit/WebKit] ce9671: [EME] Keep MediaKeySystemAccess alive in createMed...
Xabier Rodríguez
noreply at github.com
Tue Nov 8 02:58:04 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ce9671b4d61efff2bce123ee2ec64018d9dc86fb
https://github.com/WebKit/WebKit/commit/ce9671b4d61efff2bce123ee2ec64018d9dc86fb
Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp
M Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.h
M Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.idl
M Source/WebCore/Modules/encryptedmedia/NavigatorEME.cpp
Log Message:
-----------
[EME] Keep MediaKeySystemAccess alive in createMediaKeys() async task
https://bugs.webkit.org/show_bug.cgi?id=247490
Reviewed by Philippe Normand.
Put MediaKeySystemAccess under ActiveDOMObject interface
and make sure that GC won't destroy an object before
it executes its async task and createMediaKeys() func is completed.
Sometimes it happens that GC destroys MediaKeySystemAccess object
in the middle of createMediaKeys() func, before promise is completed
and JS MediaKeys are never created.
This fixes YT Cert Test: EME, WidevineH264MultiMediaKeySessions
Patch based on one by Andrzej Surdej <Andrzej_Surdej at comcast.com> coming from
https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/922 .
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp:
(WebCore::MediaKeySystemAccess::create):
(WebCore::MediaKeySystemAccess::MediaKeySystemAccess):
(WebCore::MediaKeySystemAccess::createMediaKeys):
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.idl:
* Source/WebCore/Modules/encryptedmedia/NavigatorEME.cpp:
(WebCore::NavigatorEME::requestMediaKeySystemAccess):
(WebCore::tryNextSupportedConfiguration):
Canonical link: https://commits.webkit.org/256442@main
More information about the webkit-changes
mailing list